SIP呼叫流程分析和Wireshark抓包_第1頁
SIP呼叫流程分析和Wireshark抓包_第2頁
SIP呼叫流程分析和Wireshark抓包_第3頁
SIP呼叫流程分析和Wireshark抓包_第4頁
SIP呼叫流程分析和Wireshark抓包_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

SIP呼叫流程介紹SIP協(xié)議簡介

SIP協(xié)議概念基本SIP協(xié)議功能實體SIP協(xié)議消息類型Wireshark抓包SIP消息基本結構SIP協(xié)議概念SIP(SessionInitiationProtocol)會話初始協(xié)議,“是一個應用層的信令控制協(xié)議。用于創(chuàng)建、修改和釋放一個或多個參與者的會話。SIP協(xié)議功能實體定位服務(LocationService):SIP重定位服務器或代理服務器用來獲得被叫位置的一種服務,可由定位服務器提供,但SIP協(xié)議不規(guī)定SIP服務器如何請求定位服務。代理,代理服務器(Proxy、Proxysever):用于代表其他用戶發(fā)出請求的中間程序。它既是客戶機也是服務器。用戶請求可以直接被代理服務器處理或被轉發(fā)給別的代理服務器。代理服務器在轉發(fā)之前要對消息進行解析,必要時還會改寫請求。重定向服務器(Redirectserver):用來接收SIP請求,將其地址映射成零個或多個新地址,并把結果返回給客戶。與代理服務器(ProxyServer)不同,它不發(fā)出自己的SIP請求;與用戶助理服務器(UserAgentServer)不同,它不接受呼叫。注冊員(Registrar):用來接收REGISTER請求消息的服務器,常與代理或重定向服務器在同一位置,可以提供定位服務。用戶助理客戶(UserAgentClient):用來發(fā)起SIP請求的客戶程序。用戶助理服務器(UserAgentServer):收到SIP請求后負責與用戶聯(lián)系并代表用戶回送響應的服務程序。該響應可以表示接受、拒絕或重定向請求消息。SIP消息類型SIP消息采用文本方式編碼,分為兩類:請求消息和響應消息。請求消息:用于客戶端為了激活按特定操作而發(fā)給服務器的SIP消息。響應消息:用于對請求消息進行響應,指示呼叫的成功或失敗狀態(tài)。請求消息類型請求消息類型包括:

INVITE,ACK,OPTIONS,BYE,CANCEL和REGISTER消息等INVITE:用于邀請用戶加入一個呼叫。ACK:用于對請求消息的響應消息進行確認。OPTIONS:用于請求能力信息。BYE:用于釋放已建立的呼叫。CANCEL:用于釋放尚未建立的呼叫。REGISTER:用于向SIP網(wǎng)絡服務器登記用戶位置信息。響應消息類型響應消息由狀態(tài)碼來區(qū)分,狀態(tài)碼包含三位整數(shù),狀態(tài)碼的第一位用于定義響應類型,另外兩位用于進一步對響應進行更加詳細的說明,包括:1xx,2xx,3xx,4xx,5xx,6xx1xx:臨時響應,表示已經(jīng)接收到請求消息,正在對其進行處理;2xx:成功響應,表示請求已經(jīng)被接收、處理并被成功接受3xx:重定向響應,表示為完成請求消息需要采取進一步的行動4xx:客戶機錯誤,表示請求消息中包含語法錯誤或者SIP服務器不能完成對該請求消息的處理。5xx:服務器錯誤,表示SIP服務器故障不能完成對正確消息的處理6xx:全局故障,表示請求不能在任何SIP服務器上實現(xiàn)。

SIP消息基本結構SIP消息一般有起始行、消息頭兩部分組成。起始行一般包含消息名稱、URI、版本。請求消息頭至少包括From、To、CSeq、Call-ID、Max-Forwards、Via六個頭字段,它們是構建SIP消息基本單元消息體一般采用SDP(SessionDescriptionProtocol)協(xié)議,會話描述協(xié)議SIP基本呼叫流程

INVITE100Trying100Trying180Ringing180Ringing200OK200OKINVITEByeACK通話Bye200OK200OKSIPAProxySIPB正常的SIP呼叫被叫忙的SIP呼叫SIPAProxySIPBINVITEINVITE100Trying100Trying486Busyhere486BusyhereACKACKSIP是一種類似HTTP的基于請求響應的協(xié)議。理想情況下,請求被發(fā)出后,應該無任何延遲的傳回響應。但是這是理想情況,有些時候接收端收到請求后進行處理需要一定的延遲,這個延遲是不一定的,SIP中有一個超時機制,超過某個時延會重發(fā)請求。為防止這種處理請求的延遲造成消息重發(fā),接收端在收到請求后會立即發(fā)送一個臨時的響應,1XX都是臨時的,告訴發(fā)送端我已收到,正在處理,讓發(fā)送端的計時器停止,不需要重新發(fā)送請求了。CALL-ID字段用于標識一個特定邀請以及與這個邀請相關的所有后續(xù)事務(即標識一個會話)CSeq字段是用來給同一個會話中的事務進行排序的。可以理解為,會話由CALL-ID來標識,會話中的事務則由CSeq標識在INVITE請求中,180Ringing表示電話鈴響,200OK表示對方電話已經(jīng)被接起,并用200OK終結事務。

在BYE請求中,200OK表示對話結束,事務終結。什么是STUN服務,我是否需要使用STUN服務?STUN代表UDP數(shù)據(jù)包簡單地穿過NAT(SimpleTraversalofUDPoverNAT)。這是一個協(xié)議,當一個IP電話機在NAT后面時,IP電話機可以使用這個協(xié)議檢測到NAT的存在,并判斷NAT的類型。一個IP電話機如果支持STUN協(xié)議,它就可以發(fā)送一系列的STUN查詢,到公共的因特網(wǎng)上的STUN服務器,這樣就可以得到NAT上映射到話機的公網(wǎng)IP地址和端口。IP電話機就可以智能地修改SIP/SDP消息中的私有IP地址。這樣SIP信令和RTP多媒體數(shù)據(jù)就可以成功地穿過NAT,而不需要修改NAT的任何配置。SIP基本呼叫流程

INVITE100Trying100Trying180Ringing180Ringing200OK200OKINVITEACKCancelACK487RequestCanceled487RequestCanceledSIPAProxySIPB被叫無應答一被叫無應答二SIPAProxySIPBINVITEINVITE100Trying100Trying180Ringing180RingingACKACKCancel408Requesttimeout408Requesttimeout通話實際抓包大概是這樣的被叫端抓包主叫端

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論