sip協(xié)議_第1頁
已閱讀1頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、SIP協(xié)議,翁彥2008.01,什么是SIP,Session Initiation Protocol(會(huì)話發(fā)起協(xié)議),是由IETF定義,基于IP網(wǎng)絡(luò)的一個(gè)應(yīng)用層控制協(xié)議,用于多媒體會(huì)話的建立、控制、撤消等通信控制協(xié)議。,SIP功能,用戶定位用戶狀態(tài)保持與更新會(huì)話建立、撤消、終止會(huì)話管理,SIP應(yīng)用,視頻會(huì)議視頻瀏覽視頻點(diǎn)播VoIP軟交換,SIP與H.323比較,分布式靈活簡潔可擴(kuò)展性好NGN、3GPP正式標(biāo)準(zhǔn),典型

2、SIP會(huì)話(一),典型SIP會(huì)話(二),SIP會(huì)話,通常多媒體會(huì)話是一個(gè)包含了多媒體會(huì)話參與者以及他們之間的數(shù)據(jù)交互的集合,基于SIP協(xié)議的多媒體會(huì)話稱之為SIP會(huì)話。,SIP協(xié)議結(jié)構(gòu),SIP結(jié)構(gòu)特點(diǎn),松耦合各層僅包含規(guī)則,與實(shí)現(xiàn)無關(guān)可擴(kuò)展,SIP層次,語法層定義消息語義、語法消息語法規(guī)則采用BNF格式傳輸層定義網(wǎng)絡(luò)消息傳輸方式可靠傳輸、非可靠傳輸,SIP層次(續(xù)),事務(wù)層維持消息事務(wù)狀態(tài),處理事務(wù)事務(wù)超時(shí),消息重傳,

3、事務(wù)匹配用戶層處理核心業(yè)務(wù)執(zhí)行相關(guān)具體操作,包括請(qǐng)求消息和應(yīng)答消息,SIP會(huì)話實(shí)體,會(huì)話終端路由代理服務(wù)器路由重定向服務(wù)器注冊服務(wù)器,SIP邏輯實(shí)體,根據(jù)通信角色劃分UAC(User Agent Client,邏輯客戶端),會(huì)話請(qǐng)求方UAS(User Agent Server,邏輯服務(wù)器),會(huì)話應(yīng)答方,SIP消息語法,請(qǐng)求-應(yīng)答機(jī)制消息=消息頭+消息體消息頭為純文本形式,UTF-8編碼,按行劃分,每行以/r/n結(jié)尾

4、消息頭以空行(/r/n/r/n)結(jié)尾消息體可以為任何格式數(shù)據(jù),具體格式由消息頭定義,SIP請(qǐng)求消息(一),請(qǐng)求消息頭=起始行+若干消息頭字段行起始行=SIP方法+請(qǐng)求URI+SIP版本SIP方法REGISTERINVITECANCELACK,SIP請(qǐng)求消息(二),BYEUPDATEOPTIONSINFOSUBSCRIBENOTIFYMESSAGE除了ACK,其余SIP方法請(qǐng)求必須有應(yīng)答,SIP請(qǐng)求消息(三),

5、消息頭必須包含To、From、Cseq、Call-ID、Max-Forwards、Via這幾個(gè)字段,SIP應(yīng)答消息(一),應(yīng)答消息頭=狀態(tài)行+若干消息頭字段行狀態(tài)行=SIP版本+狀態(tài)碼+狀態(tài)說明狀態(tài)碼1xx,臨時(shí)應(yīng)答2xx,請(qǐng)求成功3xx,請(qǐng)求重定向4xx,請(qǐng)求失敗,SIP應(yīng)答消息(二),5xx,服務(wù)器錯(cuò)誤6xx,嚴(yán)重錯(cuò)誤1xx為臨時(shí)應(yīng)答,除此之外的應(yīng)答為最終應(yīng)答狀態(tài)說明用于描述狀態(tài)碼具體含義消息頭必須包含To、Fr

6、om、Cseq、Call-ID、Max-Forwards、Via這幾個(gè)字段,SIP名詞解釋(一),Dialog一定時(shí)間內(nèi)存在于兩個(gè)會(huì)話終端之間的點(diǎn)對(duì)點(diǎn)的SIP關(guān)系Dialog由Call-ID,本地tag和遠(yuǎn)程tag唯一標(biāo)識(shí)Dialog只能由INVITE方法建立請(qǐng)求消息分為Dialog內(nèi)部消息和外部消息一個(gè)會(huì)話中可以包含多個(gè)Dialog,SIP名詞解釋(二),URI會(huì)話統(tǒng)一資源標(biāo)識(shí)用于標(biāo)識(shí)會(huì)話中的邏輯實(shí)體格式:sip: u

7、ser:password@host:port,SIP消息頭字段(一),字段行=字段名+’:’+字段值字段值可以包含參數(shù),參數(shù)以冒號(hào)開始,參數(shù)之間以逗號(hào)分隔,參數(shù)以”參數(shù)名=參數(shù)值“的形式表示Via用于事務(wù)傳輸,同時(shí)表示期望接收應(yīng)答的網(wǎng)絡(luò)地址Via字段必須包含branch參數(shù),branch參數(shù)用于事務(wù)層的事務(wù)標(biāo)識(shí),而且必須以” z9hG4bK”開始,同時(shí)在空間和時(shí)間上唯一,SIP消息頭字段(二),To請(qǐng)求消息的邏輯接收者應(yīng)答消

8、息的To字段必須包含tag參數(shù),該參數(shù)為Dialog標(biāo)識(shí)的組成部分From請(qǐng)求消息的邏輯發(fā)起者請(qǐng)求消息的From字段必須包含tag參數(shù),該參數(shù)為Dialog標(biāo)識(shí)的組成部分,SIP消息頭字段(三),Call-ID初始請(qǐng)求標(biāo)識(shí)Call-ID作為Dialog標(biāo)識(shí)的組成部分,必須確保在空間和時(shí)間上唯一,Dialog內(nèi)部的所有請(qǐng)求和應(yīng)答都應(yīng)當(dāng)具有相同的Call-IDCSeq請(qǐng)求序列號(hào)序列號(hào)必須為32bit無符號(hào)整數(shù),每提交一次新的

9、請(qǐng)求遞增1,SIP消息頭字段(四),Max-Forwards最大路由次數(shù)每經(jīng)過一個(gè)路由網(wǎng)關(guān)該值減1,如果為0則丟棄該消息Contact消息的邏輯通信方在INVITE請(qǐng)求消息中必須包含Contact字段,SIP消息頭字段(五),Accept邏輯終端支持的數(shù)據(jù)格式默認(rèn)為application/sdpAllow邏輯終端支持的SIP方法WWW-Authenticate認(rèn)證提示信息用于鑒權(quán),SIP消息頭字段(六),Auth

10、orization認(rèn)證信息用于鑒權(quán)Content-Type消息數(shù)據(jù)類型如果消息體非空,消息頭中必須包含Content-Type字段,SIP消息頭字段(七),Content-Length消息數(shù)據(jù)長度消息頭中必須包含Content-Length字段Expires超時(shí)具體含義由各個(gè)SIP方法決定,以秒為單位Route路由信息,SIP消息頭字段(八),User-Agent客戶端代理標(biāo)識(shí)Server服務(wù)器端代理標(biāo)識(shí),

11、SIP REGISTER方法(一),功能終端注冊URI定位請(qǐng)求消息規(guī)則請(qǐng)求URI必須為域形式,如sip:bqvision.comTo字段中的URI必須與From字段的URI保持一致除非終端URI發(fā)生變化,否則每次請(qǐng)求消息的Call-ID必須保持一致,SIP REGISTER方法(二),請(qǐng)求消息舉例REGISTER sip:registrar.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192

12、.168.0.202:5060;branch=z9hG4bK776asdhdsTo: DVS6501 From: DVS6501 ;tag=1901774Call-ID: a84b4c76e66710@bqvision.comCSeq: 6581 REGISTERContact: Max-Forwards: 70Content-Length: 0,SIP INVITE方法(一),功能建立會(huì)話更新會(huì)話維持會(huì)話請(qǐng)求消息

13、與Dialog的關(guān)系Dialog只能由INVITE請(qǐng)求建立Dialog是否建立決定了請(qǐng)求消息是Dialog內(nèi)部請(qǐng)求還是外部請(qǐng)求,SIP INVITE方法(二),Dialog的建立INVITE請(qǐng)求及其非失敗應(yīng)答(1xx或2xx)中To字段的tag參數(shù)建立相應(yīng)的Dialog臨時(shí)應(yīng)答(1xx)建立的Dialog稱為早期Dialog,請(qǐng)求成功應(yīng)答(2xx)建立的Dialog稱為長期Dialog,早期Dialog在接收到請(qǐng)求成功應(yīng)答后自動(dòng)

14、變?yōu)殚L期Dialog,否則在接收到請(qǐng)求失敗應(yīng)答或是超時(shí)后自動(dòng)結(jié)束Dialog,SIP INVITE方法(三),建立會(huì)話Dialog的建立標(biāo)志著會(huì)話的建立初始INVITE請(qǐng)求總是Dialog外部請(qǐng)求,To字段必須不包含tag參數(shù)初始INVITE請(qǐng)求可能會(huì)有多個(gè)請(qǐng)求成功應(yīng)答,因?yàn)槁酚纱砜赡軙?huì)產(chǎn)生多個(gè)分支,每一個(gè)請(qǐng)求成功應(yīng)答及其To字段包含的tag參數(shù)建立各自的長期Dialog對(duì)于每一個(gè)請(qǐng)求成功應(yīng)答,邏輯客戶端必須發(fā)送相應(yīng)的ACK請(qǐng)

15、求,SIP INVITE方法(四),建立會(huì)話舉例INVITE sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164To: From: ;tag=3386Call-ID: 2542@bqvision.comCSeq: 1 INVITEContact: Max-Forwards: 70

16、Content-Length: 0,SIP INVITE方法(五),SIP/2.0 200 OKVia: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164To: ;tag=5342From: ;tag=3386Call-ID: 2542@bqvision.comCSeq: 1 INVITEContact: Max-Forwards: 70Content-L

17、ength: 0,SIP INVITE方法(六),ACK sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2165To: ;tag=5342From: ;tag=3386Call-ID: 2542@bqvision.comCSeq: 1 ACKMax-Forwards: 70Content-Len

18、gth: 0,SIP INVITE方法(七),更新會(huì)話作為Dialog內(nèi)部請(qǐng)求發(fā)送的INVITE請(qǐng)求稱為再次INVITE請(qǐng)求再次INVITE請(qǐng)求更新當(dāng)前已建立的會(huì)話狀態(tài)會(huì)話狀態(tài)由請(qǐng)求消息中的消息數(shù)據(jù)更新,SIP INVITE方法(八),更新會(huì)話舉例INVITE sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4b

19、K2164To: ;tag=5342From: ;tag=3386Call-ID: 2542@bqvision.comCSeq: 2 INVITEContact: Max-Forwards: 70 Content-Type: text/xmlContent-Length: 372 ,SIP INVITE方法(九),保持會(huì)話保持會(huì)話機(jī)制確保會(huì)話在一定時(shí)間內(nèi)仍然處于活動(dòng)狀態(tài)保持會(huì)話可以使用再次

20、INVITE請(qǐng)求或是UPDATE請(qǐng)求,SIP INVITE方法(十),保持會(huì)話舉例INVITE sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164To: ;tag=5342From: ;tag=3386Call-ID: 2542@bqvision.comCSeq: 3 INVITECon

21、tact: Max-Forwards: 70Content-Length: 0,SIP ACK方法,功能確定會(huì)話已建立規(guī)則只能對(duì)INVITE請(qǐng)求的非臨時(shí)應(yīng)答發(fā)送ACK消息,SIP CANCEL方法(一),功能取消已發(fā)出的請(qǐng)求規(guī)則CACEL請(qǐng)求只能取消已發(fā)出的INVITE請(qǐng)求在未收到任何INVITE請(qǐng)求的臨時(shí)應(yīng)答前,不能發(fā)送CACEL請(qǐng)求,SIP CANCEL方法(二),取消請(qǐng)求舉例CANCEL sip:serv

22、er.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164To: From: ;tag=3386Call-ID: 2542@bqvision.comCSeq: 1 CANCELContact: Max-Forwards: 70Content-Length: 0,SIP BYE方法(一),功能結(jié)束會(huì)話規(guī)則

23、BYE請(qǐng)求只能作為Dialog內(nèi)部請(qǐng)求發(fā)送如果INVITE請(qǐng)求的應(yīng)答方已發(fā)送200應(yīng)答,但尚未收到ACK請(qǐng)求或超時(shí),則應(yīng)答方不能發(fā)送BYE請(qǐng)求,SIP BYE方法(二),結(jié)束會(huì)話舉例BYE sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2165To: ;tag=5342From: ;tag=3386

24、Call-ID: 2542@bqvision.comCSeq: 2 BYEMax-Forwards: 70Content-Length: 0,SIP UPDATE方法(一),功能更新會(huì)話保持會(huì)話規(guī)則UPDATE請(qǐng)求只能作為Dialog內(nèi)部請(qǐng)求發(fā)送UPDATE請(qǐng)求可以用于更新會(huì)話,也可以用于保持會(huì)話,SIP UPDATE方法(二),更新會(huì)話舉例UPDATE sip:server.bqvision.com SIP/

25、2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK1478To: ;tag=9107From: ;tag=634825Call-ID: 09FA2145@bqvision.comCSeq: 236 UPDATEContact: Max-Forwards: 70Content-Type: text/xmlContent-Length: 106,

26、SIP SUBSCRIBE方法(一),功能訂閱事件規(guī)則SUBSCRIBE請(qǐng)求只能作為Dialog內(nèi)部請(qǐng)求發(fā)送SUBSCRIBE請(qǐng)求可以包含Expires字段,表示訂閱的時(shí)間,在超時(shí)之后自動(dòng)取消訂閱,SIP SUBSCRIBE方法(二),訂閱事件舉例SUBSCRIBE sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG

27、4bK235gffTo: ;tag=9107From: ;tag=634825Call-ID: 09FA2145@client.bqvision.comCSeq: 240 SUBSCRIBEContact: Max-Forwards: 70Content-Type: text/xmlContent-Length: 84,SIP NOTIFY方法(一),功能通知事件發(fā)生規(guī)則NOTIFY請(qǐng)求只能作為

28、Dialog內(nèi)部請(qǐng)求發(fā)送NOTIFY請(qǐng)求允許包含Expires字段,表示自動(dòng)處理事件的超時(shí),SIP NOTIFY方法(二),通知事件舉例NOTIFY sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK235gffTo: ;tag=9107From: ;tag=634825Call-ID: 542vnde3

29、@bqvision.comCSeq: 241 NOTIFYContact: Max-Forwards: 70Content-Type: text/xmlContent-Length: 116,SIP OPTIONS方法(一),功能查詢終端支持的SIP方法舉例OPTIONS sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:506

30、0;branch=z9hG4bKs8as877Max-Forwards: 70To: From: ;tag=1901774Call-ID: a84b4c76e66710CSeq: 63104 OPTIONSContact: Content-Length: 0,SIP OPTIONS方法(二),SIP/2.0 200 OKVia: SIP/2.0/UDP server.bqvision.com;branch

31、=z9hG4bKs8as877To: ;tag=93810874From: ;tag=1901774Call-ID: a84b4c76e66710CSeq: 63104 OPTIONSContact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYEAccept: application/sdpContent-Type: application/sdpContent-L

32、ength: 274(消息體略),SIP INFO方法,功能傳遞會(huì)話信息舉例INFO sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bKas89Max-Forwards: 70To: From: ;tag=132512Call-ID: a84b4c7657e623410CSeq: 6120

33、INFOContact: Content-Type: text/xmlContent-Length: 371,SIP MESSAGE方法,功能即時(shí)通信舉例MESSAGE sip:server.bqvision.com SIP/2.0Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK7sgdkseMax-Forwards: 70From: sip:cli

34、ent.bqvision.com;tag=49583To: sip:server.bqvision.comCall-ID: asd88asd77aCSeq: 1 MESSAGEContent-Type: text/plainContent-Length: 18Hello, I am here.,SIP事務(wù)(一),SIP會(huì)話事務(wù)性會(huì)話消息序列,單請(qǐng)求,多應(yīng)答狀態(tài)機(jī)(INVITE和非INVITE)客戶端狀

35、態(tài)機(jī)INVITE,SIP事務(wù)(二),SIP事務(wù)(三),非INVITE,SIP事務(wù)(四),服務(wù)器狀態(tài)機(jī)INVITE,SIP事務(wù)(五),SIP事務(wù)(六),非INVITE,SIP事務(wù)(七),定時(shí)器T1:500msT2:4sT4:5sA:初始化為T1(僅對(duì)UDP)B:64*T1C:>3minD:>32s(UDP) 0s(TCP和SCTP),SIP事務(wù)(八),E:初始化為T1(僅對(duì)UDP)F:64*T1

36、G:初始化為T1H:64*T1I:T4(UDP) 0s(TCP和SCTP)J:64*T1(UDP) 0s(TCP和SCTP)K:T4(UDP) 0s(TCP和SCTP),SIP消息傳輸,UDPTCPSCTP,SIP消息安全,TLSSSL,2.0系統(tǒng)媒體交互(一),基于SIP協(xié)議REGISTER方法:終端注冊INVITE方法:建立會(huì)話OPTIONS方法:維持會(huì)話UPDATE方法:更

溫馨提示

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

評(píng)論

0/150

提交評(píng)論