SIP協(xié)議原理及實(shí)例分析.ppt_第1頁
SIP協(xié)議原理及實(shí)例分析.ppt_第2頁
SIP協(xié)議原理及實(shí)例分析.ppt_第3頁
SIP協(xié)議原理及實(shí)例分析.ppt_第4頁
SIP協(xié)議原理及實(shí)例分析.ppt_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

SIP協(xié)議原理及實(shí)例分析,接入網(wǎng)產(chǎn)品導(dǎo)入部,Page2,學(xué)習(xí)目標(biāo),學(xué)習(xí)完此課程,您將會:了解SIP協(xié)議原理掌握SIP命令和消息掌握SIP協(xié)議的消息交互過程了解SIP業(yè)務(wù)基本故障分析處理方法,Page3,第1章SIP協(xié)議原理第2章SIP命令和消息第3章業(yè)務(wù)流程分析,Page4,SIP協(xié)議概念,SIP的前世,SIP的前世,有關(guān)SIP的完整定義最早出現(xiàn)在1999年公布的RFC2543中,當(dāng)前SIP詳細(xì)定義于RFC3261(June2002)。,Multi-PartyMultimediaWorkingGroup于1996年提出兩項(xiàng)關(guān)于在Internet中實(shí)現(xiàn)多媒體通信的建議:SessionInitiationProtocol(SIP)SimpleConferenceInvitationProtocol(SCIP)最終兩項(xiàng)建議統(tǒng)一于SessionInitiationProtocolSIP。,Page5,SIP協(xié)議概念,SIP是SessionInitializationProtocol(會話初始協(xié)議)的縮寫,用來建立、更改和終止一個或者多個參與者的會話。這些會話包括多媒體會議、網(wǎng)絡(luò)呼叫等。IETF制訂的多媒體通信系統(tǒng)框架協(xié)議之一,但是SIP單獨(dú)不能完成多媒體呼叫,必須要與其他協(xié)議一起才能組建完整的多媒體通信系統(tǒng),與RTP/RTCP、SDP等協(xié)議配合共同完成多媒體會話過程。,Page6,SIP協(xié)議功能描述,用戶定位:確定參加通信的終端用戶的位置。用戶通信能力協(xié)商:確定通信的媒體類型和參數(shù)。用戶交互意愿:確定被叫加入通信的意愿。呼叫建立:建立主叫和被叫的會話參數(shù)。呼叫處理和控制:包括呼叫重定向、呼叫轉(zhuǎn)移、終止呼叫等。,Page7,SIP協(xié)議特點(diǎn),借鑒了其他internet標(biāo)準(zhǔn)和協(xié)議的設(shè)計思想,在風(fēng)格上遵循因特網(wǎng)一貫堅持的簡練、開放、兼容和可擴(kuò)展等原則,并充分注意到因特網(wǎng)開放而復(fù)雜的網(wǎng)絡(luò)環(huán)境下的安全問題;充分考慮了對傳統(tǒng)公共電話網(wǎng)的各種業(yè)務(wù),包括IN業(yè)務(wù)(Internet)和ISDN業(yè)務(wù)的支持;通過代理和重定向請求用戶當(dāng)前位置,以支持用戶的移動性;獨(dú)立于傳輸層協(xié)議,可以承載在不同的傳輸協(xié)議上(UDP、TCP、SCTP、TLS),因此可以靈活方便地擴(kuò)展其他附加功能;SIP協(xié)議獨(dú)立于業(yè)務(wù),協(xié)議不限制具體業(yè)務(wù)范疇,只描述建立/更改/終止一個會話,并不描述會話的內(nèi)容,所以可以承載任何的會話內(nèi)容,如語音/視頻/游戲等。,Page8,SIP與H.248對比,Page9,SIP協(xié)議的應(yīng)用,SIP協(xié)議的典型應(yīng)用IP電話(VoIP)移動游戲即時通信視頻與協(xié)調(diào)SIP擴(kuò)展應(yīng)用3GWCDMAIMS,Page10,SIP協(xié)議棧,在TCP/IP五層模型中屬于應(yīng)用層協(xié)議在OSI七層模型中屬于會話層協(xié)議,Page11,SIP協(xié)議在網(wǎng)絡(luò)中的位置,Page12,SIP協(xié)議在NGN中的實(shí)現(xiàn),SoftX3000,SoftPhone,SoftX3000,SoftPhone,SIP,SIP,SIP,IP,IP,IP,IP,IPCore,Page13,SIP在網(wǎng)絡(luò)中的主要實(shí)體,SIP在網(wǎng)絡(luò)中存在多種邏輯實(shí)體,不同實(shí)體作用互不相同:UA(UserAgent)ProxyserverRegistrarserverRedirectserverLocationserver不同的邏輯實(shí)體可以存在于同一個物理實(shí)體之上。,Page14,SIP在網(wǎng)絡(luò)中的主要實(shí)體,用戶助理(UserAgent):用來發(fā)起或者接收請求的邏輯實(shí)體稱為UserAgent。用戶助理客戶(UserAgentClient):發(fā)起請求的一方稱為UAC,SIPPhone就是UAC的一種實(shí)際形態(tài);用戶助理服務(wù)器(UserAgentServer):接收請求,產(chǎn)生響應(yīng)的一方稱為UAS,SoftX3000就是UAS的一種實(shí)際形態(tài)。UAC和UAS的劃分是針對一個事務(wù)而言的。代理服務(wù)器:作為一個邏輯網(wǎng)絡(luò)實(shí)體代表客戶端轉(zhuǎn)發(fā)請求或者響應(yīng),可以同時作為客戶端和服務(wù)器端。主要功能有:路由、認(rèn)證鑒權(quán)、計費(fèi)控制、呼叫控制、業(yè)務(wù)提供等。它可以采取分支,循環(huán),遞歸查詢等方式向多個地址嘗試轉(zhuǎn)發(fā)請求。SoftX3000兼任代理服務(wù)器的角色。它有三種形態(tài):Stateless:其作用為一般的路由器TransactionStateful:關(guān)聯(lián)一次事務(wù)過程CallDialog:關(guān)聯(lián)一次會話過程,Page15,SIP在網(wǎng)絡(luò)中的主要實(shí)體,注冊服務(wù)器:接收注冊請求的服務(wù)器,需要將注冊請求中的地址映射關(guān)系保存到數(shù)據(jù)庫中,供后續(xù)的相關(guān)呼叫過程使用,同時可以提供定位服務(wù)。SoftX3000兼任注冊服務(wù)器的角色。重定向服務(wù)器:為所收到的請求返回一個或多個新的地址,客戶端直接向這些新的地址發(fā)起請求。重定向服務(wù)器并不接收或者拒絕呼叫,主要完成路由功能,與注冊過程配合可以支持SIP終端的移動性。SoftX3000兼任重定向服務(wù)器的角色。定位服務(wù)器:提供被叫位置的服務(wù)器,SoftX3000兼任定位服務(wù)器的角色。,Page16,相關(guān)術(shù)語,呼叫:一個呼叫是由一個公共源端所邀請的在一個會議中的所有參加者組成,由一個全球唯一的Call-ID進(jìn)行標(biāo)識。例如:由同一個源邀請的一個會議的所有參加者構(gòu)成一個呼叫;點(diǎn)到點(diǎn)IP電話會話是一種最簡單的會話,它映射為單一的SIP呼叫。通常情況下,呼叫由主叫方創(chuàng)建,但是更一般說來,呼叫可由并不參與媒體通信的第三方創(chuàng)建,此時會話的主叫方和會話的邀請方并不相同。事務(wù):SIP是一個客戶/服務(wù)器協(xié)議??蛻艉头?wù)器之間的操作從第1個請求至最終響應(yīng)為止的所有消息構(gòu)成一個SIP事務(wù)。一個正常的呼叫一般包含三個事務(wù)。其中,呼叫啟動包含兩個操作請求:邀請(Invite)和證實(shí)(ACK),前者需要回送響應(yīng),后者只是證實(shí)已收到最終響應(yīng),不需要回送響應(yīng)。呼叫終結(jié)包含一個操作請求:再見(Bye)。,Page17,相關(guān)術(shù)語,SIPURL:為了能正確傳送協(xié)議消息,SIP還需解決兩個重要的問題。一是尋址,即采用什么樣的地址形式標(biāo)識終端用戶;二是用戶定位。SIP沿用WWW技術(shù)解決這兩個問題。尋址采用SIPURL(UniformResourceLocators),按照RFC2396規(guī)定的URI導(dǎo)則定義其語法,特別是用戶名字段可以是電話號碼,以支持IP電話網(wǎng)關(guān)尋址,實(shí)現(xiàn)IP電話和PSTN的互通。,Page18,相關(guān)術(shù)語,SIPURL的一般結(jié)構(gòu)為:SIP:用戶名:口令主機(jī):端口;傳送參數(shù);用戶參數(shù);方法參數(shù);生存期參數(shù);服務(wù)器地址參數(shù),“SIP”表示需采用SIP協(xié)議和所指示的端系統(tǒng)通信。,“用戶名”可以由任意字符組成,一般可取類似與E-mail用戶名形式,也可以是電話號碼(SoftX3000目前用戶名是電話號碼)。,“口令”可以置于SIPURL中,但一般不建議這樣做,因?yàn)槠浒踩允怯袉栴}的。,“主機(jī)”可為主機(jī)域名或IPv4地址。,“端口”指示請求消息送往的端口號,其缺省值為5060,即公開的SIP端口號。,“傳送參數(shù)”指示采用TCP還是UDP傳送,缺省值為UDP。,“用戶參數(shù)”,SIPURL的一個特定功能是允許主機(jī)類型為IP電話網(wǎng)關(guān),此時,用戶名可以為一般的電話號碼。由于BNF語法表示無法區(qū)分電話號碼和一般的用戶名,因此,在域名后增加了“用戶參數(shù)”字段。該字段有兩個可選值:IP和電話,當(dāng)其設(shè)定為“電話”時,表示用戶名為電話號碼,對應(yīng)的端系統(tǒng)為IP電話網(wǎng)關(guān)。,“方法參數(shù)”指示所用的方法,“生存期參數(shù)”指示UDP多播數(shù)據(jù)包的壽命,僅當(dāng)傳送參數(shù)為UDP、服務(wù)器地址參數(shù)為多播地址時才能使用。,“服務(wù)器地址參數(shù)”指示和該用戶通信的服務(wù)器的地址,它覆蓋“主機(jī)”字段中的地址,通常為多播地址。,“傳送參數(shù)”、“方法參數(shù)”、“生存期參數(shù)”和“服務(wù)器地址參數(shù)”均屬于URL參數(shù),只能在重定向地址,即后面所說的Contact字段中才能使用。,Page19,相關(guān)術(shù)語,下面給出若干個SIPURL的示例:Sip:5550020012;55500200為用戶名,12為IP電話網(wǎng)關(guān)的IP地址。Sip:5550020012:5061;User=phone;55500200為用戶名,12為主機(jī)的IP地址,5061為主機(jī)端口號。用戶參數(shù)為“電話”,表示用戶名為電話號碼。Sip:alice;method=REGISTER;Alice為用戶名,為主機(jī)域名。方法參數(shù)為“登記”。需要注意的是SoftX3000目前只支持用戶名是電話號碼,不支持這種形式的用戶名。Sips:123439SIPS表示安全的SIPURI,傳輸層使用的是基于安全的TLS協(xié)議。,Page20,問題,SIP有哪些網(wǎng)絡(luò)實(shí)體?它們的功能是什么?SIP協(xié)議的協(xié)議棧模型是怎樣的?,Page21,第1章SIP協(xié)議原理第2章SIP命令和消息第3章業(yè)務(wù)流程分析,Page22,SIP協(xié)議消息的分類,SIP消息采用文本方式編碼,分為兩類:請求消息和響應(yīng)消息。請求消息和響應(yīng)消息都包括SIP頭字段和SIP消息字段。請求消息和響應(yīng)消息在形式上的區(qū)別僅在消息的第一行,請求的第一行為請求行,響應(yīng)的第一行為狀態(tài)行。,Page23,請求消息,請求消息:客戶端為了激活按特定操作而發(fā)給服務(wù)器的SIP消息。RFC3261定義了六個基本方法,包括INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER。后續(xù)RFC擴(kuò)展了其他的請求方法,包括UPDATE,INFO,SUBSCRIBER,NOTIFY,MESSAGE,PRACK,REFER。,Page24,請求消息格式,請求消息由起始行、消息頭和消息體組成。通過換行符區(qū)分消息頭中的每一條參數(shù)行。對于不同的請求消息,有些參數(shù)可選。,Page25,響應(yīng)消息,響應(yīng)消息:用于對請求消息進(jìn)行響應(yīng),指示呼叫的成功或失敗狀態(tài)。不同類的響應(yīng)消息由狀態(tài)碼來區(qū)分。狀態(tài)碼包含三位整數(shù),狀態(tài)碼的第一位用于定義響應(yīng)類型,另外兩位用于進(jìn)一步對響應(yīng)進(jìn)行更加詳細(xì)的說明。,除1XX外其余都是最終響應(yīng)。,Page26,響應(yīng)消息格式,對于不同的響應(yīng)消息,有些參數(shù)可選。,Page27,消息的頭域,5個必須包含在每個SIP消息中的頭域:Call-IDFromToCSeqViaCall-ID:用于唯一標(biāo)識一次會話,一般格式為:Call-ID:本地標(biāo)識主機(jī)主機(jī)應(yīng)為全局域名或者全局IP地址,此時本地標(biāo)識可由在主機(jī)范圍內(nèi)唯一的URI字符組成。否則,本地標(biāo)識必須是全局唯一的,以保證Call-ID的全局唯一性。舉例:Call-Id:call-973636852-401,Page28,消息的頭域,From:用于標(biāo)識請求的發(fā)起者,服務(wù)器將此字段從請求消息中復(fù)制到響應(yīng)消息,一般格式為:From:顯示名;tagXXXX顯示名為用戶界面上顯示的字符,如果系統(tǒng)不予顯示,應(yīng)置顯示名為“匿名”。Tag稱為標(biāo)記,為16進(jìn)制數(shù)字串,中間可帶連字符“”。當(dāng)兩個共享同一SIP地址的用戶實(shí)例用相同的Call-ID發(fā)起呼叫時,就需用此標(biāo)記予以區(qū)分。標(biāo)記值必須全局唯一,用戶在整個呼叫期間應(yīng)保持相同的Call-ID和標(biāo)記值。舉例:From:123456;tag=a48s,Page29,消息的頭域,To:用于表示請求的接收者,其格式和From相同,僅第一個關(guān)鍵字不同;To:顯示名;tagXXXXTag可用于區(qū)分由同一SIPURL標(biāo)識的不同的用戶實(shí)例。由于代理服務(wù)器可以并行分發(fā)請求,同一請求可能到達(dá)用戶的不同實(shí)例,每個實(shí)例都可能響應(yīng),因此需用標(biāo)記來區(qū)分來自不同實(shí)例的響應(yīng)。To字段中的標(biāo)記是由每個實(shí)例置于響應(yīng)消息中的。舉例:To:;tag=62beb3ca在SIP中,Call-ID、From和To三個字段標(biāo)識一個呼叫分支。在代理服務(wù)器并行分發(fā)請求時,一個呼叫可能會有多個呼叫分支。,Page30,消息的頭域,CSeq:用于表示請求的順序號,UAC在每個請求中加入此字段,一般格式為:CSeq:序號消息名稱序號由UAC選定,在Call-ID范圍內(nèi)唯一確定,序號初值可為任意值,其后具有相同Call-ID值但不同命令名稱、消息體的請求,其CSeq序號應(yīng)加1。重發(fā)請求的序號保持不變。服務(wù)器將請求中的CSeq值復(fù)制到響應(yīng)消息中,用于將請求和其觸發(fā)的響應(yīng)關(guān)聯(lián)起來。ACK和CANCEL請求的CSeq值和對應(yīng)的INVITE請求相同,BYE請求的CSeq序號應(yīng)大于INVITE請求。由代理服務(wù)器并行分發(fā)的請求,其CSeq值相同。嚴(yán)格來說,CSeq對于任何可由BYE或CANCEL請求取消的請求以及客戶可連續(xù)發(fā)送多個具有相同Call-ID請求的情況都是需要的,其作用是判斷響應(yīng)和請求的對應(yīng)關(guān)系。舉例:CSeq:4711INVITE,Page31,消息的頭域,Via:用以指示請求歷經(jīng)的路徑,它可以防止請求消息傳送產(chǎn)生環(huán)路,并確保響應(yīng)和請求消息選擇同樣的路徑,以保證通過防火墻或滿足其他特定的選路要求。對于請求:每個SIP實(shí)體前傳請求時,都將自己的地址放到當(dāng)前的Via集的最上面,與此類推,當(dāng)請求到達(dá)UAS端時,在SIP消息中將會形成一個類似于堆棧的Via頭域集。對于響應(yīng):UAS將請求中的Via地址原樣拷貝到響應(yīng)里面,當(dāng)Proxy接收到響應(yīng)時,檢查頂端的Via是否是自己,如果是,將頂端的Via刪除,并檢查下一個Via地址將響應(yīng)發(fā)送到下一個Via地址,如果沒有下一個Via地址,則表示這個響應(yīng)應(yīng)該到Proxy這兒終結(jié)。,Address:B,Address:C,Address:D,Via:A,Via:BVia:A,Via:CVia:BVia:A,Via:CVia:BVia:A,Via:BVia:A,Via:A,Request,Response,Address:A,Page32,消息的頭域,Via字段的一般格式:Via:發(fā)送協(xié)議發(fā)送方;隱藏參數(shù);生存期參數(shù);多播地址參數(shù);接收方標(biāo)記,分支參數(shù)發(fā)送協(xié)議的格式為:協(xié)議名/協(xié)議版本/傳輸層協(xié)議。協(xié)議名和傳輸層協(xié)議的缺省值為SIP和UDP。發(fā)送方為發(fā)送方的域名或主機(jī)IP和端口號,如果采用默認(rèn)端口號5060,端口號可以缺省。隱藏參數(shù)表示該字段已由上有代理予以加密,以提供隱私服務(wù)。分支參數(shù)用于代理服務(wù)器并行分發(fā)請求時標(biāo)記各個分支,當(dāng)響應(yīng)達(dá)到時,代理可判定是哪一分支的響應(yīng)。舉例:Via:SIP/2.0/UDP;branch=z9hG4bKkjshdyffVia:SIP/2.0/UDP:5060;,Page33,其他重要消息頭域,Max-Forwards:用于定義一個請求達(dá)到其目的地所允許經(jīng)過的中轉(zhuǎn)站的最大值。請求每經(jīng)過一個中轉(zhuǎn)站,該值減1。如果該值為0時該請求還沒有達(dá)到其目的地,服務(wù)器將返回483響應(yīng)并終止這個請求。該字段的目的主要是為了出現(xiàn)環(huán)路時不會一直消耗代理服務(wù)器的資源,它的初始值為70。它的一般格式為:Max-Forwards:十進(jìn)制整數(shù)請求消息中必須包括Max-Forwards頭域。,Page34,其他重要消息頭域,Contact:用于INVITA、ACK和REGISTER請求以及成功響應(yīng)、呼叫進(jìn)展響應(yīng)和重定向響應(yīng)消息,其作用是給出其后和用戶直接通信的地址。INVITE和ACK請求中的Contact字段指示該請求發(fā)出的位置。它使被叫可以直接將請求(如BYE請求)發(fā)往該地址,而不必借助Via字段經(jīng)由一系列代理服務(wù)器返回。對INVITE請求的成功響應(yīng)消息可包含Contact字段,它使其后的請求(如ACK請求)可直接發(fā)往該字段給定的地址。該地址一般是被叫主機(jī)的地址。REGISTER請求中的Contact字段指明用戶當(dāng)前位置,REGISTER請求的成功響應(yīng)消息中的Contact字段返回該用戶當(dāng)前可達(dá)的所有位置。重定向響應(yīng)消息中的Contact字段給出供重試的其它地址,可用于對BYE、INVITE和OPTIONS請求的響應(yīng)消息。,Page35,其他重要消息頭域,Contact字段的一般格式為:Contact:地址;q參數(shù);動作參數(shù);失效參數(shù);擴(kuò)展屬性地址的表示形式和To,F(xiàn)rom字段相同。q參數(shù)的取值范圍為【0,1】,指示給定位置的相對優(yōu)先級,數(shù)值越大,優(yōu)先級越高。動作參數(shù)僅用于REGISTER請求,它表明希望服務(wù)器對其后至該客戶的請求進(jìn)行代理服務(wù)還是重定向服務(wù),如果未含此參數(shù),則取決于服務(wù)器的配置。失效參數(shù)表示該注冊的失效時間。舉例:Contact:;q=0.7;,Page36,其他消息頭域,Authorization:包含某個終端的鑒權(quán)證書。它的一般格式為:Authorization:認(rèn)證方式USERNAME,REALM,NONCE,RESPONSE,URI,CNONCE,ALGORITHM認(rèn)證方式有DIGEST、BASIC、CHAP-PASSWORD、CARDDIGEST等認(rèn)證方式。DIGEST為HTTP-DIGEST認(rèn)證方式。目前SoftX3000只支持HTTP-DIGEST方式。USERNAME表示被認(rèn)證的用戶的用戶名。REALM用于標(biāo)識發(fā)起認(rèn)證過程的域。NONCE由發(fā)起認(rèn)證過程的實(shí)體產(chǎn)生的加密因子。RESPONSE終端在收到服務(wù)器的認(rèn)證請求后根據(jù)服務(wù)器端產(chǎn)生的NONCE、用戶名、密碼、URI等信息經(jīng)過一定的算法生成的一個字符串。該字符串中包含了經(jīng)過加密后的用戶密碼。(在認(rèn)證過程中除用戶密碼之外其他信息都會通過SIP消息以明文的方式在終端和服務(wù)器端進(jìn)行傳遞。),Page37,其他消息頭域,URI為發(fā)起呼叫請求消息中的Request-URI。由于終端在收到認(rèn)證請求后需要重新向服務(wù)器端發(fā)起請求(其中帶有認(rèn)證響應(yīng)信息)。該請求消息在經(jīng)過網(wǎng)絡(luò)服務(wù)器時某些字段包括RequestURI都有可能被修改。認(rèn)證頭域的URI參數(shù)用于傳遞終端發(fā)起請求時原始消息的Request-URI用于對認(rèn)證信息進(jìn)行認(rèn)證,這樣才能保證認(rèn)證過程的正確性。CNONCE:如果在服務(wù)器端超時后終端才向服務(wù)器返回了帶有認(rèn)證響應(yīng)的新的請求消息,則服務(wù)器端需要重新產(chǎn)生NONCE重新對用戶進(jìn)行認(rèn)證。其中NONCE中帶有新的NONCE,老的NONCE會通過CNONCE參數(shù)返回給終端。舉例:Authorization:DIGESTUSERNAME=“6540012”,REALM=“”,NONCE=200361722310491179922,RESPONSE=b7c848831dc489f8dc663112b21ad3b6,URI=sip:0,Page38,其他消息頭域,Allow:給出代理服務(wù)器支持的所有請求消息類型列表。舉例:Allow:INVITE,ACK,OPTIONS,CANCEL,BYEContent-Length:表示消息體的大小,為十進(jìn)制值。如果消息中沒有消息體,則Content-Length頭字段值必須設(shè)為0。舉例:Content-Length:349,表示消息體的長度為349個字節(jié)Content-Type:表示發(fā)送的消息體的媒體類型。如果消息體不為空,則必須存在Content-Type頭字段。舉例:Content-Type:application/sdpSupported:SIP協(xié)議中定義的100類臨時響應(yīng)消息的傳輸是不可靠的,即UAS發(fā)送臨時響應(yīng)后并不能保證UAC端能夠接受到該消息。100rel擴(kuò)展為100類響應(yīng)消息的可靠傳輸提供了相應(yīng)的機(jī)制。如果UAC支持該擴(kuò)展,則在發(fā)送的消息中增加Supported:100rel頭域和字段。舉例:Supported:100rel,Page39,請求消息實(shí)例,INVITEsip:6650000210SIP/2.0From:;tag=1ccb6df3To:CSeq:1INVITECall-ID:20973e49f7c52937fc6be224f9e52543sx3000Via:SIP/2.0/UDP16:5061;branch=z9hG4bkbc427dad6Contact:Supported:100rel,100relMax-Forwards:70Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFERContent-Length:230Content-Type:application/sdpv:0o:HuaweiSoftX300010737418311073741831INIP416s:SipCallc:INIP45t:00m:audio30000RTP/AVP80418a:rtpmap:8PCMA/8000a:rtpmap0PCMU/8000a:rtpmap4G723/8000a:rtpmap18G729/8000,請求起始行。INVITE請求消息。請求URI,即被邀用戶的當(dāng)前地址為“sip:6650000210”。SIP版本號為2.0,From字段。指明請求發(fā)起方的地址為“”。標(biāo)記為“1ccb6df3”,用于共享同一SIP地址的不同用戶用相同的Call-ID發(fā)起呼叫邀請時,對用戶進(jìn)行區(qū)分。,To字段。指明請求接收方的地址為“”。從From和To字段,我們可以看出:IP地址為16的PROXY控制下的終端44510000撥打IP地址為10的PROXY控制下的66500002終端。終端類型可以為SIP、H.323、IAD/AG下掛的ESL等。,Cseq字段。用于將INVITE請求和其觸發(fā)的響應(yīng)、對應(yīng)的ACK、CANCEL請求相關(guān)聯(lián)。,Call-ID字段。該字段唯一標(biāo)識一個特定的邀請,全局唯一。Call-ID為“20973e49f7c52937fc6be224f9e52543sx3000”,sx3000為發(fā)起呼叫的SoftX3000的域名,20973e49f7c52937fc6be224f9e52543為本地標(biāo)識。,:Via字段。該字段用于指示該請求歷經(jīng)的路徑?!癝IP/2.0/UDP”表示發(fā)送的協(xié)議,協(xié)議名為“SIP”,協(xié)議版本為2.0,傳輸層為UDP;“16:5061”表示發(fā)送方SoftX3000IP地址為16,端口號為5061;“branch=z9hG4bkbc427dad6”為分支參數(shù),SoftX3000并行分發(fā)請求時標(biāo)記各個分支。,Contact字段。指示其后的請求(如BYE請求)可以直接發(fā)往,而不必借助Via字段。,100rel擴(kuò)展,該字段為100類響應(yīng)消息的可靠傳輸提供了相應(yīng)的機(jī)制,Max-Forwards字段。表示該請求到達(dá)其目的地址所允許經(jīng)過的中轉(zhuǎn)站的最大值為70。,Allow字段。給出IP地址為16的SoftX3000支持的請求消息類型列表。,Content-length字段,給出消息體的長度為230個字節(jié),Content-Type字段,表示消息中攜帶的消息體是單消息體且為SDP。,SDP協(xié)議版本號,目前為0版本。,會話擁有者/創(chuàng)建者和會話標(biāo)識,用于給出會話的發(fā)起者(其用戶名和用戶主機(jī)地址)以及會話標(biāo)識和會話版本號?!癏uaweiSoftX3000”為用戶名,用戶名是用戶在發(fā)起主機(jī)上的登錄名。第一個“1073741831”為會話標(biāo)識。第二個“1073741831”為版本號?!癐N”指網(wǎng)絡(luò)類型,目前規(guī)定的“IN”為Inernet?!癐P4”指地址類型,目前已定義的有“IP4”和“IP6”兩種?!?6”為創(chuàng)建會話的主機(jī)的IP地址。,會話名。每個會話描述必需有一個且只有一個會話名。,連接數(shù)據(jù)。網(wǎng)絡(luò)類型和地址類型目前的定義值僅限于IN和IP4。“5”為SoftX3000(IP地址:16)控制下的MG的IP地址(終端類型為IAD/AG下掛的ESL電話)或SIP、H.323終端的IP地址(終端類型為SIP、H.323電話)。,時間描述,給出會話激活的時間區(qū)段,允許會話周期性發(fā)生。,媒體級描述,“audio”表示媒體類型為音頻。目前定義的媒體類型有5種:音頻、視頻、應(yīng)用、數(shù)據(jù)和控制?!?0000”指明媒體流發(fā)往的傳送層端口,即MG的UDP端口號(終端類型為IAD/AG下掛的ESL電話)或SIP、H.323終端的UDP端口號(終端類型為SIP、H.323電話)?!癛TP/AVP”為傳送層協(xié)議,其值和“c”行中的地址類型有關(guān),對于IP4來說,大多數(shù)媒體業(yè)務(wù)流都在RTP/UDP上傳送,已定義如下兩類協(xié)議:RTP/AVP,音頻/視頻應(yīng)用文檔,在UDP上傳送;Udp,UDP協(xié)議。“80418”對于音頻和視頻來說,就是RTP音頻/視頻應(yīng)用文檔中定義的媒體靜荷類型。表示會話中所有這些格式都可能被用到,但第一個格式是會話的缺省格式。,rtpmap屬性行,指明從RTP靜荷類型至編碼的映射關(guān)系。該行的格式為:a:rtpmap:/。其中,指的就是音頻信道數(shù),對于視頻信號尚無編碼參數(shù)。,Page40,問題,SIP協(xié)議定義了哪些基本請求消息,請求消息的格式是怎樣的?SIP請求消息中必須包含哪些頭域,它們的作用是什么?,Page41,第1章SIP協(xié)議原理第2章SIP命令和消息第3章業(yè)務(wù)流程分析,Page42,第3章業(yè)務(wù)流程分析第1節(jié)注冊流程第2節(jié)兩個UAC之間的呼叫流程,Page43,注冊流程,用戶每次開機(jī)時都需要向服務(wù)器注冊,當(dāng)SIPClient的地址發(fā)生改變時也需要重新注冊,注冊信息必須定期刷新,通常注冊服務(wù)器將注冊信息保存到定位服務(wù)器中。,Page44,注冊過程(實(shí)例),REGISTERsip:1;transport=udpSIP/2.0Via:SIP/2.0/UDP5:5060;branch=z9hG4bK24d79975663f90c893883f21dRoute:Call-ID:2aff391ab79bf4cd9c762716949cd68eFrom:;tag=0589c28eTo:CSeq:1REGISTERContact:Expires:600Accept:application/sdp,application/mwi,application/reginfo+xml,application/simservs+xmlSupported:100rel,replaces,timer,privacyAccept-Encoding:identityAccept-Language:enAllow:INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,PRACK,SUBSCRIBE,NOTIFY,UPDATE,MESSAGE,REFERMax-Forwards:70Content-Length:0,SIP/2.0200OKVia:SIP/2.0/UDP5:5060;branch=z9hG4bK24d79975663f90c893883f21dFrom:;tag=0589c28eTo:Call-ID:2aff391ab79bf4cd9c762716949cd68eCSeq:1REGISTERContact:;q=0.5;expires=599Content-Length:0,Page45,帶認(rèn)證請求的注冊流程,SoftX3000,SIPPhone,401Unauthorized,REGISTER,200OK,REGISTER,終端發(fā)起請求時如果服務(wù)器端需要對用戶進(jìn)行認(rèn)證,那么會在本地產(chǎn)生本次認(rèn)證的NONCE,并且通過認(rèn)證請求頭域(Authorization)將所有必要的參數(shù)返回給終端從而發(fā)起對用戶認(rèn)證過程。,終端收到認(rèn)證請求消息后根據(jù)服務(wù)器端返回的信息和用戶配置等信息采用特定的算法生成加密的RESPONSE,并且通過新的請求消息發(fā)送給服務(wù)器端。,服務(wù)器端在收到帶有認(rèn)證響應(yīng)的新的請求消息后首先檢查NONCE的正確性。如果NONCE不是本地產(chǎn)生,則直接返回失敗。否則如果NONCE是本地產(chǎn)生,但是認(rèn)證過程已經(jīng)超時,則服務(wù)器端會重新產(chǎn)生NONCE并重新發(fā)起對用戶的認(rèn)證過程。其中老的NONCE會通過CNONCE參數(shù)返回。NONCE驗(yàn)證通過后服務(wù)器端會根據(jù)NONCE、用戶名、密碼(服務(wù)器端可以根據(jù)本地用戶信息獲取用戶的密碼)、URI等采用和終端相同的算法生成RESPONSE,并且對此RESPONSE和請求消息中的RESPONSE進(jìn)行比較,如果二者一致則用戶認(rèn)證成功,否則認(rèn)證失敗。,Page46,帶認(rèn)證請求的注冊流程(實(shí)例),SIP-Call:Alice,SIP-Call:D,REGISTERsip:0SIP/2.0From:sip:65400120;tag=16838c16838To:sip:65400120;tag=946e6f96Call-Id:1-reg51Cseq:2762REGISTERContact:sip:654001251Expires:100Content-Length:0Accept-Language:enSupported:sip-cc,si

溫馨提示

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

最新文檔

評論

0/150

提交評論