




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第一章 SIP協(xié)議主要消息1.1 SIP消息分類SIP協(xié)議是以層協(xié)議的形式組成的,就是說它的行為是以一套相對獨立的處理階段來描述的,每個階段之間的關系不是很密切。SIP協(xié)議將Server和User Agent之間的通訊的消息分為兩類:請求消息和響應消息。請求消息:客戶端為了激活特定操作而發(fā)給服務器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。SIP請求的6種方法:1、 邀請(INVITE)邀請用戶加入呼叫2、 確認(ACK)確認客戶機已經(jīng)接收到對INVITE的最終響應3、 可選項(OPTIONS)請求關于服務器能力的信息4、 再見(BYE)終止呼
2、叫上的兩個用戶之間的呼叫5、 取消(CANCEL)6、 注冊(REGISTER)提供地址解析的映射,讓服務器知道其它用戶的位置響應消息:服務器向客戶反饋對應請求的處理結果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx響應1.2 SIP消息結構請求消息和響應消息都包括SIP消息頭字段和SIP消息體字段;SIP消息頭主要用來指明本消息是有由誰發(fā)起和由誰接受,經(jīng)過多少跳轉(zhuǎn)等基本信息;SIP消息體主要用來描述本次會話具體實現(xiàn)方式;1.3 消息格式1.3.1 請求消息格式SIP請求消息的格式,由SIP消息頭和一組參數(shù)行組成,如圖1-1所示。通過換行符區(qū)分命令行和每一條參數(shù)行。命令名稱對
3、端URICall-id: 值via: 值協(xié)議版本消息頭參數(shù)行To: 值Contact: 值From: 值Content-Length: 值Max-Forward: 值White SpaceSDPContent-Type: 值Cseq: 值圖1-1 SIP請求消息結構注意:參數(shù)行的順序不是固定的。對應的參數(shù)解釋見Error! Reference source not found.。消息體定義:Call-ID:頭字段是用來將消息分組的唯一性標識From:頭字段是指示請求發(fā)起方的邏輯標識,它可能是用戶的注冊地址。From頭字段包含一個URI和一個可選的顯示名稱CSeq:頭字段用于標識事務并對事務進行
4、排序。它由一個請求方法和一個序列號組成,請求方法必須與對應的請求消息類型一致Max-Fowords:頭字段限定一個請求消息在到達目的地之前允許經(jīng)過的最大跳數(shù)。它包含一個整數(shù)值,每經(jīng)過一跳,這個值就被減一。如果在請求消息到達目的地之前該值變?yōu)榱?,那么請求將被拒絕并返回一個483(跳數(shù)過多)錯誤響應消息。Via:頭字段定義SIP事務的下層(傳輸層)傳輸協(xié)議,并標識響應消息將要被發(fā)送的位置。只有當?shù)竭_下一跳所用的傳輸協(xié)議被選定后,才能在請求消息中加入Via頭字段值。expires:參數(shù)指出了該值中包含的URI地址的有效期。這個參數(shù)的值是以秒為單位計算的。如果沒有提供該參數(shù),那么URI地址的有效期由E
5、xpires頭字段值來確定。SIP請求消息實例:INVITE sip:0109:5060;User=phone SIP/2.0Call-ID:01E04633512400000Via:SIP/2.0/UDP :5061From:<sip:010203:5061;User=phone>tag=29005358336B534F610A000To:<sip:0109:5060;User=phone>Contact: sip:010203:5061CSeq:1 INVIT
6、EMax-Forwards:70Content-Type: application/SDPContent-Length:168v=0o=UserA 2890844526 2890844526 IN IP4 s=Session SDPc=IN IP4 t=0 0m=audio 49172 RTP/AVP 0 8a=rtpmap:0 PCMU/8000a=rtpmap:8 PCMA/8000a=sendonlyINVITE消息是其中一種SIP請求消息。第一行由消息頭和對端SIP實體的URI(通用資源標識)以及SIP版本號碼組成。SIP URI是電話URI,附在IP地址上,表示對端
7、和端點收發(fā)SIP消息的端口的域?!癋rom”、“To”和“Contact”這三個SIP消息頭屬于電話URI。當背靠背用戶代理發(fā)出呼叫時,“From”消息頭中的URI填寫在“Via”消息頭里。請求消息類型填寫在CSeq消息頭里,并且當該SIP端點發(fā)送一個請求,號碼就相應遞增。SIP協(xié)議版本為SIP/2.0。其中SDP被加入到INVITE消息內(nèi)容里,在消息頭里的Content-Length說明了SDP內(nèi)容的長度。INVITE請求消息詳解:INVITE sip: SIP/2.0< 請求方法、請求地址(RequestURI)、SIP版本號(目前都是SIP/2.0)
8、<請求地址一般就是被叫方地址,跟MSN中好友eMail地址類似Via: SIP/2.0/UDP :5060;branch=z9hG4bKfw19b<SIP版本號(2.0)、傳輸類型(UDP)、呼叫地址、<branch是一隨機碼,它被看作傳輸標識<Via字段中地址是消息發(fā)送方或代理轉(zhuǎn)發(fā)方設備地址,一般由主機地址和端口號組成<傳輸類型可以為UDP、TCP、TLS、SCTPMax-Forwards: 70<最大跳躍數(shù),就是經(jīng)過SIP服務器的跳躍次數(shù),主要是防止循環(huán)跳躍<每經(jīng)過代理服務器,該整數(shù)減一To: G. Marc
9、oni <sip:M>From: Nikola Tesla <sip:>tag=76341<表示請求消息的發(fā)送方和目標方<如果里面有用戶名標簽,地址要求用尖括號包起來<對于INVITE消息,可以在From字段中包含tag,它也是個隨機碼Call-ID:123456789<呼叫ID是由本地設備生成的,全局唯一值。每次呼叫該值唯一不變<對于用戶代理發(fā)送INVITE消息,本地將生成From tag和Call-ID全局唯一碼,被叫方代
10、理則生成To tag全局唯一碼。這三個隨機碼做為整個對話中對話標識(dialog indentifier)在通話雙方使用。CSeq: 1 INVITE<CSeq,又叫命令隊列(Command Seqence),每發(fā)送一個新的請求,該數(shù)自動加1* 以上幾個字段是所有SIP消息體所必須的,其它頭字段有些是可選的,有些在特定請求也是必須Subject: About That Power Outage.Contact: <sip:><Contact是INVITE消息所必須的,它用來路由到被叫設備地址,也稱為用戶代理(UA)C
11、ontent-Type: application/sdpContent-Length: 158<最后兩位附屬字段說明消息體類型以及字段長度v=0 <SDP版本號,目前都是0o=Tesla 28908445262890844526 INIP4 <主叫源地址,類型等s=Phone Call1.3.2 響應消息格式SIP響應消息的格式,由SIP響應消息頭和一組參數(shù)行組成,如0所示。通過換行符區(qū)分命令行和每一行參數(shù)。SIP/協(xié)議版本響應消息頭Call-id: 值via: 值消息頭參數(shù)行To: 值Contact: 值From: 值Content
12、-Length: 值Max-Forward: 值White SpaceSDPContent-Type: 值Cseq: 值SIP響應消息結構注意:參數(shù)行的順序不是固定的。對應的參數(shù)解釋見Error! Reference source not found.。 SIP響應消息實例:SIP/2.0 200 OKContent-Type:application/SDPVia:SIP/2.0/UDP :5061Call-ID:01EF351F8140000000000CSeq:1 INVITEFrom:<sip:010203:5061;User=
13、phone>tag=29005358336B534F610A000To:<sip:0109:5060;User=phone>tag=5358336B534F2900CD1B0000Contact:<sip:0109:55061>Content-Length:156v=0o=HuaweiSoftX3000 1073741824 1073741824 IN IP4 s=Sip Callc=IN IP4 13t=0 0m=audio 5060 RTP/AVP 0a=rtpmap:0 PCMU
14、/8000200 OK消息是SIP響應消息的一種。第一行由SIP版本號和200響應消息組成。SIP URI是電話URI,附在IP地址上,表示對端和端點收發(fā)SIP消息的端口的域。“From”、“To”和“Contact”這三個SIP消息頭屬于電話URI。當背靠背用戶代理發(fā)出呼叫時,“From”消息頭中的URI填寫在“Via”消息頭里。請求消息類型填寫在CSeq消息頭里,并且當該SIP端點發(fā)送一個請求,號碼就相應遞增。SIP協(xié)議版本為SIP/2.0。把SDP加入到INVITE消息內(nèi)容里,在消息頭里說明內(nèi)容的長度。第二章 SIP協(xié)議主要響應碼2.1 響應碼分類SIP響應消息用于對請求消息進行響應,指
15、示呼叫的成功或失敗狀態(tài)。不同類的響應消息由狀態(tài)碼來區(qū)分,狀態(tài)碼包含三位整數(shù),狀態(tài)碼的第一位用于定義響應類型,另外兩位用于進一步對響應進行更加詳細的說明。響應消息的分類如下所示。1)1XX:臨時響應,表示請求消息正在被處理。2)2XX:成功響應,表示請求已被成功接收,完全理解并被接受。3)3XX:重定向響應,表示需采取進一步以完成該請求。4)4XX:客戶機錯誤,表示請求消息中包含語法錯誤信息或服務器無法完成客戶機請求。5)5XX:服務器錯誤,表示服務器無法完成合法請求。6)6XX:全局故障,表示任何服務器無法完成該請求。上述消息中,臨時響應用于指示呼叫正在進行,其余最終響應用于結束請求消息。2.
16、2 1xx類消息(臨時響應)1xx消息表示服務器或代理正在進行處理,還未得到確定的響應??蛻魬摾^續(xù)等待服務器的響應。當服務器預測在200毫秒之內(nèi)不能得到最終響應時,它應該發(fā)送一個1xx響應。服務器可以發(fā)送多個1xx響應。下面是常見的1xx類消息列表。表1-1 常見的1xx類消息列表100試呼(Trying)正在進行與呼叫有關的操作(例如:訪問數(shù)據(jù)庫),但被叫用戶還沒有定位。180被叫振鈴(Ringing)被叫用戶代理已經(jīng)得到被叫的位置,正在提醒被叫用戶。該響應也可以再發(fā)起一個本地回鈴181呼叫前轉(zhuǎn)(Call Is Being Forwarded)代理服務器可以用該狀態(tài)碼表示當前呼叫正被轉(zhuǎn)移到
17、其它目的地。(呼叫正在轉(zhuǎn)發(fā))182呼叫排隊(Queued)被叫暫時不可訪問,當前呼叫被排隊而不是被拒絕。當服務器有效時,可以繼續(xù)響應該呼叫。 該響應的"reason phrase"可以進一步給出排隊呼叫的信息,例如:“隊列中有5個呼叫,期望等待時間為15分鐘”。服務器可以發(fā)出多個182 響應來更新當前排隊呼叫的信息。183會話進度(session progress)應答用于提示建立對話的進度信息。Reason-Phrase(表達原因的句子)、頭域或者消息體可以用于提示呼叫進度的更新消息的信息。 2.3 2xx類消息(成功響應)2xx消息表示請求已經(jīng)被接收、處理并被成功接受;
18、200 :OK請求成功。2.4 3xx類消息(重定向響應)3xx消息表示響應給出有關用戶新位置或其它可選服務的信息。下面表1-2是常見的3xx類消息列表。表1-2 常見的3xx類消息列表300多個選擇(Multiple Choice)請求中的地址被解析為多個位置,用戶可以將請求重定向到一個合適的地址。該響應應該包含可供用戶或用戶代理選擇的位置和資源列表,并且在Contact頭域中,列出可供選擇的地址。(網(wǎng)絡協(xié)議不兼容:會話描述中的一個或多個網(wǎng)絡協(xié)議不可用。)301永久離開(Moved Permanently)在請求中Request-URI所指的地址找不到用戶,客戶應該嘗試Contact頭域給出
19、的新地址。主叫收到該響應后應該更新所有的本地目錄,地址簿,用戶位置緩存并將以后的請求重定向到新的地址。(網(wǎng)絡地址格式不兼容:會話描述中的一個或多個地址格式不可用。)302暫時離開(Moved Temporarily)客戶應該用Contact頭域給出的新地址嘗試呼叫。響應中Expire頭域指出該次重定向的有效期,如果沒有給出有效期,那么重定向只對當前呼叫有效。(傳送協(xié)議不兼容:會話描述中的一個或多個傳送協(xié)議不可用。)303帶寬單位不兼容:會話描述中的一個或多個帶寬度量單位不被理解。304媒體類型不可用:對話描述中的一個或多個媒體類型不可用。305使用代理(Use Proxy)客戶所請求的資源必須
20、通過Contact頭域中給出的代理來訪問。Contact頭域給出代理的URI。該響應只能由用戶代理服務器發(fā)出。(媒體格式不兼容:對話描述中的一個或多個媒體格式不可用。)306媒體特征不被理解:對話描述中的一個或多個媒體特征不被支持。307對話描述參數(shù)不被理解:除上述幾種參數(shù)之外的參數(shù)不被理解。330組播不可用:用戶站點不支持組播。331單播不可用:用戶站點不支持單播通信(通常是由于防火墻的存在)370帶寬不足:對話描述中定義的或者媒體定義的帶寬超出可用帶寬。380使用其它服務(Alternate Service)呼叫不成功,但是可選其它的服務(如:電子郵件,語音信箱)。該響應的消息體給出可選服
21、務的描述。399混合告警:該告警表示用戶存在的任意一種錯誤,收到該告警的系統(tǒng)不可以采取任何自動的動作2.5 4xx類消息(客戶機錯誤)4xx消息表示請求消息中包含語法錯誤或者SIP服務器不能完成對該請求消息的處理。下面表1-3是常見的4xx類消息列表。表1-3 常見的4xx類消息列表400無效請求(Bad Request)請求語法有誤,不能被服務器理解。401未授權(Unauthorized)請求需要用戶認證。402要求付費(Payment Required)該響應為將來使用保留。403禁止(Forbidden)服務器理解請求,但拒絕完成??蛻舨粦撛俅伟l(fā)請求。404未找到用戶(Not Fou
22、nd)請求中Request-RUL給出的地址上沒有要呼叫的用戶。當Request-RUL給出的地址與服務器管理的域不匹配時,服務器也發(fā)送該響應。405方法不允許(Method Not Allowed)請求行中指定的方法不被允許。該響應必須包含Allow頭域,列出服務器支持的方法。406不可接受(Not Acceptable)根據(jù)請求中的Accpe頭域,由請求給出的資源產(chǎn)生的響應實體里面的內(nèi)容字符不可接受。407需要代理認證(Proxy Authentication Required)該響應與401(未授權)類似,但它指示用戶必須首先向代理認證自己。408請求超時(Request Timeout
23、)服務器不能在請求的Expire頭域指定的時間內(nèi)產(chǎn)生響應??蛻艨梢赃^一段時間重發(fā)請求。409沖突(Conflict)客戶的請求與資源的當前狀態(tài)沖突,不能完成請求。當REGISTER請求的action參數(shù)與現(xiàn)存的注冊沖突時返回該響應。410無可用資源(Gone)服務器上沒有所請求的資源,也不知道進一步聯(lián)系的地址。這種情況被認為是永久的。如果服務器不能確定該情況是否是永久的,它應該發(fā)送404(被叫未找到)響應。411需要消息體長度(Length Required)服務器拒絕接受沒有包含Content-Length頭域的請求??蛻艉我栽诩尤胍粋€表示消息體長度的Cotent-Length頭域后重發(fā)請求
24、。413請求實體過長(Request Entity Too Large)服務器拒絕處理過長的消息實體。如果這種情況是暫時的,服務器應該在響應中包含Retry-After頭域指示客戶何時重發(fā)請求。414Request-URI過長(Request-URI Too Long)服務器不能解析過長的Request-URI。415媒體類型不支持(Unsupported Media Type)服務器不支持請求消息體的格式。服務器應該在響應中用Accept,Accept-Encoding 和Accept-Language頭域列出它支持的格式。416不支持的URI方案(unsupported url schem
25、e)服務器由于不支持Request-URI中的URI方案而終止處理這個請求。420錯誤的擴展(Bad Extension)服務器不理解請求中Require頭域指定的協(xié)議擴展。421需要擴展支持(extension required)UAS需要特定的擴展來處理這個請求,但是這個擴展并沒有在請求的Supported頭域中列出。具有這個應答碼的應答必須包含一個Require頭域列出所需要的擴展。 UAS不應當使用這個應答除非它真的不能給客戶端提供有效的服務。相反,如果在Support頭域中沒有列出需要的擴展,服務器應當根據(jù)基準的SIP兼容的方法和客戶端支持的擴展來進行處理。 423間隔太短(inte
26、rval too brief)服務器因為在請求中設置的資源刷新時間(或者有效時間)過短而拒絕請求。這個應答可以用于注冊服務器來拒絕那些Contact頭域有效期過短的注冊請求。480暫時不可訪問(Temporarily Unavailable)被叫的終端系統(tǒng)已經(jīng)成功連接,但用戶暫時不可訪問(例如:用戶未登錄,或登錄為免打擾)。服務器可以在Retry-After頭域中另外指定一個訪問時間。481呼叫支路/事務不存在(Call leg/Transaction Does Not Exist)在兩種情況下服務器返回該響應:服務器收到一個BYE請求但找不到匹配的呼叫支路;或是收到一個CANCEL請求但找不
27、到匹配的事務;或是收到與原來TAG標志不一樣的INVITE請求。(對于無匹配的ACK請求,服務器直接將它丟棄,不響應)。482檢測到循環(huán)呼叫(Loop Detected)請求消息的Via頭域中包含接收服務器自身的地址。483跳數(shù)過多(Too Many Hop)請求的Via頭域包含的條目數(shù)(跳數(shù))超過Max-Forwards頭域指定的值。484地址不全(Address Incomplete)請求的To或Request-RUL所指的地址不全。485地址不明確(Ambiguous)請求中提供的被叫地址不明確。該響應可以在Contact頭域中列出不明確的地址。486被叫忙(Busy Here)被叫的終
28、端系統(tǒng)已經(jīng)成功連接,但用戶暫時不愿意或不能夠接收更多的呼叫。服務器可以在響應的Retry-After頭域中另外指定一個訪問時間??蛻粢部赡芡ㄟ^其它方式訪問,如:語音郵箱,因此該響應并不終止一個查詢。如果我們知道沒有其他終端系統(tǒng)能夠接聽這個呼叫,那么應當返回一個狀態(tài)碼600(Busy Everywhere)。487請求被拒絕(Request Cancelled)原來的請求消息被一個CANCEL請求所取消。488此處請求不接受(not acceptable here)這個應答和606(Not Acceptable)有相同的含義,但是只是應用于Request-URI所指出的特定資源不能接受,在其他地方請求可能可以接受。 包含了媒體兼容性描述的消息體可以出現(xiàn)在應答中,并且根據(jù)INVITE請求中的Accept頭域進行規(guī)格化(如果沒有Accept頭域,那么就是application/sdp)。這個應答就像給OPTIONS請求的200(OK)應答的消息體一樣。491未決請求(request pending)在同一個對話中,UAS接收到的請求有一個依賴的請求正在處理。493無法解密(undecipherable)不可辨識,UAS接收到了一個請求,包含了一個加密的MIME,并
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學課件小圖案
- 易捷加油站運營及服務知識考試試卷
- 教學課件截圖模板下載
- 2024-2025學年云南省騰沖市第八中學高一下學期期中生物試題及答案
- 臺階教學設計和教學課件
- 染整過程中織物光澤度變化研究考核試卷
- 農(nóng)產(chǎn)品營銷中的農(nóng)民合作社發(fā)展模式考核試卷
- 農(nóng)業(yè)機械產(chǎn)業(yè)循環(huán)經(jīng)濟評價體系考核試卷
- 心房顫動課件
- 信用評級結果在信貸市場中的信息傳遞效率研究考核試卷
- TSG Z7002-2022特種設備檢測機構核準規(guī)則
- 裝修售后維修合同協(xié)議
- 2025年數(shù)字經(jīng)濟下的創(chuàng)業(yè)政策調(diào)整策略試題及答案
- 第30課 在線安全防范-2024-2025學年三年級全一冊《信息技術》教案
- 政治 (道德與法治)八年級下冊自由平等的追求教案
- 山東省濟南市高新區(qū)學卷B2024-2025學年數(shù)學五下期末教學質(zhì)量檢測試題含答案
- 訂單外發(fā)合同協(xié)議
- 山東省2024年藝術類本科批音樂類第1次志愿投檔情況表(公布)
- 《公路運營領域重大事故隱患判定標準》知識培訓
- 護理核心制度
- GB/T 45234.302-2025太陽能熱發(fā)電站第3-2部分:系統(tǒng)與部件大尺寸拋物面槽式集熱器通用要求與測試方法
評論
0/150
提交評論