wireshark分析SIP協議——註冊

SIP 是VOIP目前非常流行的一種協議。有關協議的詳細原理參照相關文檔。
 
    本文通過wireshark抓包分析SIP user agent(用戶代理客戶機,uac)與SIPserve之間的交互過程,在撥打SIP電話之前,先需要搭建相應的環境:
     根據SIP協議原理,SIP終端,也就是本文中的數字家庭產品,實現了UAC(User Agent Client)和UAS(UserAgent Server)的功能。SIPserver(本文選用Asterisk)實現了代理服務器、重定向服務器、註冊服務器的功能。

1 .搭建SIP服務器(實現註冊、重定向服務器等功能)
     本文選用Asterisk作爲SIP server。
     配置/etc/asterisk/sip.conf,主要參數如下:
[general]
port=5060              ; Port to bind to
context=from-sip            ; Default context for incoming calls
sendrpid=yes
trustrpid=yes
canreinvite=no
nat=no
dtmfmode=auto
disallow=all
allow=g722
allow=ulaw
allow=alaw
allow=g723.1
;allow=g729
subscribecontext=from-sip
notifyringing=yes

#配置一個sip帳號,username爲:2223,也可以是字母,如:yuna
[2223]                                 
type=friend
host=dynamic
mailbox=2223
username=2223
secret=2223
callgroup=1
pickupgroup=1
call-limit=2
      還有配置/etc/adterisk/extension.conf,配置dial plan。

2. 配置UAC
     UAC是公司生產的數字終端產品,產品初期,在撥打SIP電話時需要進行簡單的配置,如:username,即撥號的SIP號碼(可以是數字、字母組合);password(即在server中配置的sercret參數值);Proxy(SIP服務器的IP地址,如本文:192.168.10.52)
     SIP電話需要網絡支持,本身是基於IP的產品,所有有一個IP地址,本文UAC的IP爲:192.168.10.227

3. 打開wireshark等待抓包
    設置過濾條件,只catch從UAC(ip addr==192.168.10.53)發出或接收的數據包。
[轉載]wireshark分析SIP協議(一)——註冊
   1)首先UAC向SIPserver(192.168.10.52)發出REGISTER信息
[轉載]wireshark分析SIP協議(一)——註冊
SIP電話的格式是:
  •    sip:username@UAC_IP 
  •    sip:username@UAC_IP_DNS (如果網絡中有DNS服務器,並配置了UAC_IP對應的域名UAC_IP_DNS)
如上圖所示,sip電話格式爲:
sip:[email protected]  或  sip:2223@yuna(配置了DNS服務器)
      2) 若sipserver 無響應 ,發送100 TRYING消息
[轉載]wireshark分析SIP協議(一)——註冊
    3)sip server響應,發送200 OK信息
[轉載]wireshark分析SIP協議(一)——註冊
    4) UAC向sipserver註冊成功,server發送NOTIFY通知信息
[轉載]wireshark分析SIP協議(一)——註冊

發佈了18 篇原創文章 · 獲贊 4 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章