SIP協議學習入門的最快最好的辦法就是在PC機上搭建SIP軟電話環境,通過抓包軟件(如:Wireshark)對數據進行分析學習,這樣可以迅速瞭解熟悉SIP協議,並深入瞭解通訊會話的流程,從而達到快速入門的目的。
下面就介紹如何搭建SIP軟電話環境。
本人使用Yate軟件,下載地址爲:http://yate.null.ro/pmwiki/index.php?n=Main.Download。
軟件版本:yate-4.2.0-2-setup.exe
運行環境:Windows7 / Windows XP
硬件要求:兩臺電腦,或者一臺安裝虛擬機的電腦。
推薦使用虛擬機的方式,因爲不是每個人都有兩臺電腦,而且後續的例子還需要用到三臺電腦。
下載得到的軟件包同時包含客戶端和服務器端程序,安裝時建議選擇完全安裝所有組件。
Yate客戶端支持兩種方式的SIP通話:
- 通過賬號方式(需要通過服務器)
- 直接通話方式(不需要通過服務器)
第二種方式實現起來比較簡單,不需要複雜的配置即可實現兩個用戶之間相互通話,所以本次先介紹這種方式。
在兩臺電腦上分別裝好Yate後,啓動Yate Client客戶端,如下圖所示。
用戶在軟件的紅色框中輸入被叫用戶的URI地址即可,具體的格式爲:
sip/sip:username@ip_address:port
sip/sip:第一個”sip”表明使用SIP協議,”/” 爲分隔符,第2個”sip:” 是uri語法的一部分;
username:用戶名,在這裏可以隨便輸入;
@:分隔符,uri語法的一部分
ip_address:被叫用戶的IP地址;
port:IP端口號,SIP協議默認使用端口5060。
若被叫用戶的IP爲:192.168.1.103,則輸入:sip/sip:[email protected]:5060。之後點擊Call按鈕,即可產生呼叫,如下圖所示,左邊爲主叫用戶,右邊爲被叫用戶。
被叫用戶點擊接電話按鈕後,即可開始語音通話。
用戶可以使用Wireshark軟件抓包整個通話過程,然後仔細分析SIP的語法格式,瞭解SIP的會話流程。此外,Wireshark軟件還可以通過圖像的方式分析SIP會話,非常方便。
下圖爲Wireshark軟件抓包數據截圖,下次我們再來具體分析SIP會話流程。
特殊說明:
1、不能在運行Yate服務器的PC上打開Yate客戶端軟件,否則無法正常運行。
2、按照參考文章1設置Yate服務器的電話路由後,會導致無法直接通話。
參考文章
1、 rosekin:用yate2實現軟VoIP語音通話(SIP協議) http://blog.csdn.net/rosekin/article/details/6561225
2、 http://yateclient.yate.ro/index.php/UserGuide/CallingwithSIP#accountapproach