SIP交互流程規(guī)范規(guī)范_第1頁(yè)
SIP交互流程規(guī)范規(guī)范_第2頁(yè)
SIP交互流程規(guī)范規(guī)范_第3頁(yè)
SIP交互流程規(guī)范規(guī)范_第4頁(yè)
SIP交互流程規(guī)范規(guī)范_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

SIP交互流程SIP(SessionInitiationProtocol) 會(huì)話初始協(xié)議(SessionInitiationProtocol)是一種信令協(xié)議,用于初始、管理和終止網(wǎng)絡(luò)中的語(yǔ)音和視頻會(huì)話,具體地說就是用來生成、修改和終結(jié)一個(gè)或多個(gè)參與者之間的會(huì)話。SIP的業(yè)務(wù)模式是一個(gè)點(diǎn)對(duì)點(diǎn)協(xié)議,其中有兩個(gè)要素——SIP用戶代理和SIP網(wǎng)絡(luò)服務(wù)器。用戶代理是呼叫的終端系統(tǒng)元素,而SIP服務(wù)器是處理與多個(gè)呼叫相關(guān)聯(lián)信令的網(wǎng)絡(luò)設(shè)備。用戶代理本身具有一客戶機(jī)元素(用戶代理客戶機(jī)UAC)和一服務(wù)器元素(用戶代理服務(wù)器UAS)。客戶機(jī)元素初始呼叫而服務(wù)器元素應(yīng)答呼叫。這允許點(diǎn)到點(diǎn)的呼叫通過客戶機(jī)-服務(wù)器協(xié)議來完成。下圖是SIP業(yè)務(wù)的網(wǎng)絡(luò)結(jié)構(gòu)和各個(gè)參與者的關(guān)系。 SIP是互聯(lián)網(wǎng)工程任務(wù)組(IETF)多媒體數(shù)據(jù)和控制體系結(jié)構(gòu)的一個(gè)組成部分,因此它與IETF的許多其他協(xié)議都有聯(lián)系,例如RTP(實(shí)時(shí)傳輸協(xié)議)和SDP協(xié)議。SIP與許多其它的協(xié)議協(xié)同工作,僅僅涉及通信會(huì)話的信令部分(controlmessage)。SIP報(bào)文內(nèi)容傳送會(huì)話描述協(xié)議(SDP),SDP協(xié)議描述了會(huì)話所使用流媒體細(xì)節(jié),如:使用哪個(gè)IP端口,采用哪種編解碼器等等。SIP的一個(gè)典型用途是:SIP“會(huì)話”傳輸一些簡(jiǎn)單的經(jīng)過封包的實(shí)時(shí)傳輸協(xié)議流。RTP本身才是語(yǔ)音或視頻的載體業(yè)務(wù)流程和協(xié)議流程 這里介紹了注冊(cè)和呼叫流程,其他場(chǎng)景需要了解,博客地址,比較詳細(xì)。并有場(chǎng)景的抓包截圖等。SIP協(xié)議也是簡(jiǎn)單的講解請(qǐng)求和應(yīng)答消息種類,和各個(gè)頭域講解,詳細(xì)的SIP協(xié)議請(qǐng)查看文檔rfc3261。1.注冊(cè)流程: 注冊(cè)流程圖如下圖,舉例用sip客戶端在機(jī)器上,以1001號(hào)碼,向上的Freeswitch注冊(cè)。 抓包截圖如下圖客戶端第一次發(fā)送的REGISTER包體內(nèi)容如下圖,expries=3600 服務(wù)器返回的401包體內(nèi)容如下圖 客戶端帶著驗(yàn)證信息項(xiàng)服務(wù)器發(fā)送REGISTER包體內(nèi)容如下圖 服務(wù)器給客戶端返回注冊(cè)成功200OK包體內(nèi)容如下圖2.注銷流程: 客戶端注銷如下圖,舉例用上的SIP客戶端注銷。用戶號(hào)碼是1000。注銷抓包截圖如下客戶端向服務(wù)器發(fā)送的注銷REGISTER包體信息如下圖,expries=0; 服務(wù)器向客戶端返回確認(rèn)消息200OK的包體如下圖3.基本呼叫建立過程: 呼叫流程如下圖,舉例上以1001號(hào)碼注冊(cè)到服務(wù)器,上以1000號(hào)碼注冊(cè)到服務(wù)器上,1001呼叫1000。呼叫過程抓包流程如下圖1001發(fā)送向服務(wù)器發(fā)送INVITE請(qǐng)求的包體內(nèi)容如下INVITEsip:1000@SIP/Via:SIP/UDP;rport;branch=z9hG4bKcgapzrwjMax-Forwards:70To:<sip:1000@>From:"bob"<sip:1001@>;tag=necscCall-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:736INVITEContact:<sip:1001@>Content-Type:application/sdpAllow:INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGESupported:replaces,norefersub,100relUser-Agent:Twinkle/305v=0o=twinkle3603INIP4s=-c=INIP4t=00m=audio8000RTP/AVP9897803101a=rtpmap:98speex/16000a=rtpmap:97speex/8000a=rtpmap:8PCMA/8000a=rtpmap:0PCMU/8000a=rtpmap:3GSM/8000a=rtpmap:101telephone-event/8000a=fmtp:1010-15a=ptime:20 服務(wù)器返回給用戶1001,100Trying消息體內(nèi)容如下SIP/100TryingVia:SIP/UDP;rport=5060;branch=z9hG4bKleesztcpFrom:"bob"<sip:1001@>;tag=necscTo:<sip:1000@>Call-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:737INVITEUser-Agent:FreeSWITCH-mod_sofia/0服務(wù)器向被叫1000轉(zhuǎn)送INVITE請(qǐng)求消息包內(nèi)容如下INVITEsip:1000@:61306;rinstance=ddeb50f2659c14dbSIP/Via:SIP/UDP;rport;branch=z9hG4bKD92XXBpSQ5jmcRoute:<sip:1000@:61306>;rinstance=ddeb50f2659c14dbMax-Forwards:69From:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFTo:<sip:1000@:61306;rinstance=ddeb50f2659c14db>Call-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:INVITEContact:<sip:mod_sofia@:5060>User-Agent:FreeSWITCH-mod_sofia/INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBESupported:timer,path,replacesAllow-Events:talk,hold,conference,presence,as-feature-event,dialog,line-seize,call-info,sla,include-session-description,,message-summary,referContent-Type:application/sdpContent-Disposition:sessionContent-Length:242X-FS-Support:update_display,send_infoRemote-Party-ID:"Extension1001"<sip:1001@>;party=calling;screen=yes;privacy=offv=0o=FreeSWITCH7273INIP4s=FreeSWITCHc=INIP4t=00m=audio19014RTP/AVP80101a=rtpmap:8PCMA/8000a=rtpmap:0PCMU/8000a=rtpmap:101telephone-event/8000a=fmtp:1010-16a=ptime:20被叫1000向服務(wù)器發(fā)送100Tring消息體內(nèi)容如下SIP/100TryingVia:SIP/UDP;rport=5060;branch=z9hG4bKD92XXBpSQ5jmcTo:<sip:1000@:61306;rinstance=ddeb50f2659c14db>From:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFCall-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:INVITEContent-Length:0被叫1000向服務(wù)器發(fā)送180Ringing的消息體內(nèi)容如下SIP/180RingingVia:SIP/UDP;rport=5060;branch=z9hG4bKD92XXBpSQ5jmcContact:<sip:1000@:61306;rinstance=ddeb50f2659c14db>To:"1000"<sip:1000@:61306;rinstance=ddeb50f2659c14db>;tag=d3757b5cFrom:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFCall-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:INVITEUser-Agent:X-Litereleasestamp82158Allow-Events:talk,holdContent-Length:0 服務(wù)器向主叫1001發(fā)送183消息體內(nèi)容入下,(180不帶SDP消息體,183帶SDP消息體,可以看到SDP中的地址是,說明服務(wù)器中間做了媒體轉(zhuǎn)發(fā),不是兩個(gè)客戶端點(diǎn)對(duì)點(diǎn)發(fā)送媒體流)SIP/183SessionProgressVia:SIP/UDP;rport=5060;branch=z9hG4bKleesztcpFrom:"bob"<sip:1001@>;tag=necscTo:<sip:1000@>;tag=pHgDcjKBpUv4KCall-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:737INVITEContact:<sip:1000@:5060;transport=udp>User-Agent:FreeSWITCH-mod_sofia/application/sdpAllow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBESupported:timer,path,replacesAllow-Events:talk,hold,conference,presence,as-feature-event,dialog,line-seize,call-info,sla,include-session-description,,message-summary,referContent-Type:application/sdpContent-Disposition:sessionContent-Length:218Remote-Party-ID:"1000"<sip:1000@>;party=calling;privacy=off;screen=nov=0o=FreeSWITCH8485INIP4s=FreeSWITCHc=INIP4t=00m=audio31502RTP/AVP8101a=rtpmap:8PCMA/8000a=rtpmap:101telephone-event/8000a=fmtp:1010-16a=ptime:20被叫端接通電話,向服務(wù)器發(fā)送200OK消息的內(nèi)容如下SIP/200OKVia:SIP/UDP;rport=5060;branch=z9hG4bKD92XXBpSQ5jmcContact:<sip:1000@:61306;rinstance=ddeb50f2659c14db>To:<sip:1000@:61306;rinstance=ddeb50f2659c14db>;tag=d3757b5cFrom:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFCall-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:INVITEAllow:SUBSCRIBE,NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGEContent-Type:application/sdpSupported:replacesUser-Agent:X-Litereleasestamp82158Content-Length:201v=0o=-73INIP4s=X-Litereleasestamp82158c=INIP4t=00m=audio62266RTP/AVP80101a=rtpmap:101telephone-event/8000a=fmtp:1010-15a=sendrecv 服務(wù)器向被叫端發(fā)送ACK確認(rèn)信息,消息體內(nèi)容如下ACKsip:1000@:61306;rinstance=ddeb50f2659c14dbSIP/Via:SIP/UDP;rport;branch=z9hG4bKejvpZ66vme96QMax-Forwards:70From:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFTo:<sip:1000@:61306;rinstance=ddeb50f2659c14db>;tag=d3757b5cCall-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:ACKContact:<sip:mod_sofia@:5060>Content-Length:0服務(wù)器將200OK轉(zhuǎn)發(fā)給主叫,消息體內(nèi)容如下SIP/200OKVia:SIP/UDP;rport=5060;branch=z9hG4bKleesztcpFrom:"bob"<sip:1001@>;tag=necscTo:<sip:1000@>;tag=pHgDcjKBpUv4KCall-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:737INVITEContact:<sip:1000@:5060;transport=udp>User-Agent:FreeSWITCH-mod_sofia/INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBESupported:timer,path,replacesAllow-Events:talk,hold,conference,presence,as-feature-event,dialog,line-seize,call-info,sla,include-session-description,,message-summary,referContent-Type:application/sdpContent-Disposition:sessionContent-Length:218Remote-Party-ID:"OutboundCall"<sip:1000@>;party=calling;privacy=off;screen=nov=0o=FreeSWITCH8485INIP4s=FreeSWITCHc=INIP4t=00m=audio31502RTP/AVP8101a=rtpmap:8PCMA/8000a=rtpmap:101telephone-event/8000a=fmtp:1010-16a=ptime:20 通話建立,主叫向服務(wù)器發(fā)送ACK確認(rèn)信息,消息體內(nèi)容如下ACKsip:1000@:5060;transport=udpSIP/Via:SIP/UDP;rport;branch=z9hG4bKjcgmjgdkMax-Forwards:70Proxy-Authorization:Digestusername="1001",realm="",nonce="f622dd44-9b46-11e6-a92f-f3825b0efd4d",uri="sip:1000@",response="6a606b2698bf04d915c0f4a2",algorithm=MD5,cnonce="4cb8e33f54",qop=auth,nc=00000001To:<sip:1000@>;tag=pHgDcjKBpUv4KFrom:"bob"<sip:1001@>;tag=necscCall-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:737ACKUser-Agent:Twinkle/04.會(huì)話更改流程: 在雙方通話過程中,一方可以更改通話使用的媒體信息,如:收發(fā)媒體流的IP和PORT,通話過程所使用的媒體格式等。通過再次發(fā)送INVITE或UPDATE消息體,攜帶新的SDP消息。場(chǎng)景難觸發(fā),消息體內(nèi)容沒有什么特殊,在這里就不貼了。5.正常呼叫釋放過程:流程圖如下圖,被叫端先停止通話,舉例上的客戶端先停止通話,向服務(wù)器發(fā)送BYE。抓包如下圖; 發(fā)送BYE的消息體內(nèi)容如下BYEsip:1000@:5060;transport=udpSIP/Via:SIP/UDP;rport;branch=z9hG4bKtpnwewjkMax-Forwards:70To:<sip:1000@>;tag=pHgDcjKBpUv4KFrom:"bob"<sip:1001@>;tag=necscCall-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:738BYEUser-Agent:Twinkle/0 服務(wù)器向發(fā)送200OK確認(rèn)信息,包體內(nèi)容如下SIP/200OKVia:SIP/UDP;rport=5060;branch=z9hG4bKtpnwewjkFrom:"bob"<sip:1001@>;tag=necscTo:<sip:1000@>;tag=pHgDcjKBpUv4KCall-ID:ihvgztnhipwftni@zj-B85M-D3HCSeq:738BYE(針對(duì)什么請(qǐng)求的響應(yīng))User-Agent:FreeSWITCH-mod_sofia/INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBESupported:timer,path,replacesContent-Length:0 服務(wù)器向轉(zhuǎn)發(fā)BYE消息體內(nèi)容如下BYEsip:1000@:61306;rinstance=ddeb50f2659c14dbSIP/Via:SIP/UDP;rport;branch=z9hG4bKFUNF11Q0HQZSKMax-Forwards:70From:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFTo:<sip:1000@:61306;rinstance=ddeb50f2659c14db>;tag=d3757b5cCall-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:BYEUser-Agent:FreeSWITCH-mod_sofia/INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBESupported:timer,path,replacesReason:;cause=16;text="NORMAL_CLEARING"Content-Length:0 向服務(wù)器發(fā)送200OK確認(rèn)消息的消息體內(nèi)容如下SIP/200OKVia:SIP/UDP;rport=5060;branch=z9hG4bKFUNF11Q0HQZSKContact:<sip:1000@:61306;rinstance=ddeb50f2659c14db>To:<sip:1000@:61306;rinstance=ddeb50f2659c14db>;tag=d3757b5cFrom:"Extension1001"<sip:1001@>;tag=Qt95DD4eK4jQFCall-ID:d37fdc79-15e9-1235-ad86-525400bcb470CSeq:BYEUser-Agent:X-Litereleasestamp82158Content-Length:06.被叫忙呼叫釋放: 流程圖如下,舉例上用1001注冊(cè)成功,呼叫正在通話的上的1000。 其他的請(qǐng)求和響應(yīng)的包體都一樣,下面是被叫端返回用戶忙包體信息如下SIP/486BusyHere(返回碼和原因)Via:SIP/UDP;rport=5060;branch=z9hG4bKtyB0mBH7HSm7jTo:<sip:1000@:64066;rinstance=e671dd3ff3f785d7>;tag=b7a89e23From:"Extension1001"<sip:1001@>;tag=N9ZD3rXrvFF8aCall-ID:0ffad52d-168c-1235-ad86-525400bcb470CSeq:INVITE(回復(fù)的請(qǐng)求)User-Agent:X-Litereleasestamp82158Content-Length:07.被叫無應(yīng)答流程一: 主叫在呼叫被叫過程中,未收到200OK,主叫掛斷著同電話,向服務(wù)器發(fā)送Cancel消息。 這里之貼出Cancel消息體和服務(wù)器返回的487消息體,內(nèi)容如下CANCELsip:1002@SIP/Via:SIP/UDP;rport;branch=z9hG4bKquptluhnMax-Forwards:70To:<sip:1002@>From:"bob"<sip:1001@>;tag=alusaCall-ID:xwzhthujzqebpfo@zj-B85M-D3HCSeq:87CANCELUser-Agent:Twinkle/0SIP/487RequestTerminatedVia:SIP/UDP;rport=5060;branch=z9hG4bKquptluhnFrom:"bob"<sip:1001@>;tag=alusaTo:<sip:1002@>;tag=v8gUFpKH8DBBcCall-ID:xwzhthujzqebpfo@zj-B85M-D3HCSeq:87INVITEUser-Agent:FreeSWITCH-mod_sofia/application/sdpAllow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBESupported:timer,path,replacesAllow-Events:talk,hold,conference,presence,as-feature-event,dialog,line-seize,call-info,sla,include-session-description,,message-summary,referContent-Length:08.被叫無應(yīng)答流程二: 主叫呼叫被叫,被叫響鈴但不解通電話,過30秒后,返回請(qǐng)求超時(shí)。9.遇忙呼叫前轉(zhuǎn):10.無應(yīng)答呼叫前轉(zhuǎn)流程:11.呼叫保持:12.呼叫等等:SIP消息類型SIP消息采用文本方式編碼,分為兩類:請(qǐng)求消息和響應(yīng)消息。1.請(qǐng)求消息用于客戶端為了激活按特定操作而發(fā)給服務(wù)器的SIP消息,包括INVITE,ACK,OPTIONS,BYE,CANCEL和REGISTER消息等,各消息功能如表3-1所示。表3-1請(qǐng)求消息請(qǐng)求消息消息含義INVITE發(fā)起會(huì)話請(qǐng)求,邀請(qǐng)用戶加入一個(gè)會(huì)話,會(huì)話描述含于消息體中。對(duì)于兩方呼叫來說,主叫方在會(huì)話描述中指示其能夠接受的媒體類型及其參數(shù)。被叫方必需在成功響應(yīng)消息的消息體中指明其希望接受哪些媒體,還可以指示其行將發(fā)送的媒體。如果收到的是關(guān)于參加會(huì)議的邀請(qǐng),被叫方可以根據(jù)Call-ID或者會(huì)話描述中的標(biāo)識(shí)確定用戶已經(jīng)加入該會(huì)議,并返回成功響應(yīng)消息。ACK證實(shí)已收到對(duì)于INVITE請(qǐng)求的最終響應(yīng)。該消息僅和INVITE消息配套使用。BYE結(jié)束會(huì)話CANCEL取消尚未完成的請(qǐng)求,對(duì)于已完成的請(qǐng)求(即已收到最終響應(yīng)的請(qǐng)求)則沒有影響REGISTER注冊(cè)O(shè)PTIONS查詢服務(wù)器的能力2.響應(yīng)消息用于對(duì)請(qǐng)求消息進(jìn)行響應(yīng),指示呼叫的成功或失敗狀態(tài)。不同類的響應(yīng)消息由狀態(tài)碼來區(qū)分。狀態(tài)碼包含三位整數(shù),狀態(tài)碼的第一位用于定義響應(yīng)類型,另外兩位用于進(jìn)一步對(duì)響應(yīng)進(jìn)行更加詳細(xì)的說明。各響應(yīng)消息分類和含義如表3-2所示。表3-2響應(yīng)消息序號(hào)狀態(tài)碼消息功能1xx信息響應(yīng)(呼叫進(jìn)展響應(yīng))表示已經(jīng)接收到請(qǐng)求消息,正在對(duì)其進(jìn)行處理100試呼叫180振鈴181呼叫正在前轉(zhuǎn)182排隊(duì)2xx成功響應(yīng)表示請(qǐng)求已經(jīng)被成功接受、處理200OK3xx重定向響應(yīng)表示需要采取進(jìn)一步動(dòng)作,以完成該請(qǐng)求300多重選擇301永久遷移302臨時(shí)遷移303見其它305使用代理380代換服務(wù)4xx客戶出錯(cuò)表示請(qǐng)求消息中包含語(yǔ)法錯(cuò)誤或者SIP服務(wù)器不能完成對(duì)該請(qǐng)求消息的處理400錯(cuò)誤請(qǐng)求401無權(quán)402要求付款403禁止404沒有發(fā)現(xiàn)405不允許的方法406不接受407要求代理權(quán)408請(qǐng)求超時(shí)410消失413請(qǐng)求實(shí)體太大414請(qǐng)求URI太大415不支持的媒體類型416不支持的URI方案420分機(jī)無人接聽421要求轉(zhuǎn)機(jī)423間隔太短480暫時(shí)無人接聽481呼叫腿/事務(wù)不存在482相環(huán)探測(cè)483跳頻太高484地址不完整485不清楚486線路忙487終止請(qǐng)求488此處不接受491代處理請(qǐng)求493難以辨認(rèn)5xx服務(wù)器出錯(cuò)表示SIP服務(wù)器故障不能完成對(duì)正確消息的處理500內(nèi)部服務(wù)器錯(cuò)誤501沒實(shí)現(xiàn)的502無效網(wǎng)關(guān)503不提供此服務(wù)504服務(wù)器超時(shí)505SIP版本不支持513消息太長(zhǎng)6xx全局故障表示請(qǐng)求不能在任何SIP服務(wù)器上實(shí)現(xiàn)600全忙603拒絕604都不存在606不接受

請(qǐng)求消息和響應(yīng)消息都包括SIP頭字段和SIP消息字段。在SIP消息中加入SDP消息正文部分。消息結(jié)構(gòu)1.請(qǐng)求消息(1)

請(qǐng)求消息結(jié)構(gòu)如圖3-3所示是SIP請(qǐng)求命令的格式,由起始行、消息頭和消息體組成。通過換行符區(qū)分消息頭中的每一條參數(shù)行。對(duì)于不同的請(qǐng)求消息,有些參數(shù)可選。圖3-3SIP請(qǐng)求消息結(jié)構(gòu)(2)

請(qǐng)求消息參數(shù)下面僅對(duì)幾個(gè)常用的參數(shù)字段進(jìn)行說明。

Call-ID該字段用以唯一標(biāo)識(shí)一個(gè)特定的邀請(qǐng)或標(biāo)識(shí)某一客戶的所有登記。需要注意的是,一個(gè)多媒體會(huì)議可能會(huì)有多個(gè)呼叫,每個(gè)呼叫有其自己的Call-ID。例如,某用戶可數(shù)次邀請(qǐng)某人參加同一歷時(shí)很長(zhǎng)的會(huì)議。用戶也可能會(huì)收到數(shù)個(gè)參加同一會(huì)議或呼叫的邀請(qǐng),其Call-ID各不相同。用戶可以利用會(huì)話描述中的標(biāo)識(shí),例如SDP中的o(源)字段的會(huì)話標(biāo)識(shí)和版本號(hào)判定這些邀請(qǐng)的重復(fù)性。Call-ID的一般格式為:Call-ID:本地標(biāo)識(shí)@主機(jī)其中,主機(jī)應(yīng)為全局定義域名和全局可選路IP地址,此時(shí),本地標(biāo)識(shí)由在“主機(jī)”范圍內(nèi)唯一的URI字符組成。否則,本地標(biāo)識(shí)必須是全局唯一的值,以保證Call-ID的全局唯一性。Call-ID字符需區(qū)分大小寫。Call-ID示例:Call-Id:call-2-4@其中,為主機(jī)的IP地址,call-2-4為全局唯一的本地標(biāo)識(shí)。

From所有請(qǐng)求和響應(yīng)必須包含此字段,以指示請(qǐng)求的發(fā)起者。服務(wù)器將此字段從請(qǐng)求消息復(fù)制到響應(yīng)消息。該字段的一般格式為:From:顯示名<SIP-URL>;tag=xxxx其中,顯示名為用戶界面上顯示的字符,如果系統(tǒng)不予顯示,應(yīng)置顯示名為“匿名(Anonymous)”。顯示名為任選字段。tag稱為標(biāo)記,為16進(jìn)制數(shù)字串,中間可帶連字符“-”。當(dāng)兩個(gè)共享同一SIP地址的用戶實(shí)例用相同的Call-ID發(fā)起呼叫邀請(qǐng)時(shí),就需用此標(biāo)記予以區(qū)分。標(biāo)記值必須全局唯一。用戶在整個(gè)呼叫期間應(yīng)保持相同的Call-ID和標(biāo)記值。From字段的示例:From:<sip:1000@>;tag=1c17691

To該字段指明請(qǐng)求的接收者,其格式和From相同,僅第一個(gè)關(guān)鍵詞代之以To。所有請(qǐng)求和響應(yīng)消息必須包含此字段。字段中的標(biāo)記參數(shù)可用于區(qū)分由同一SIPURL標(biāo)識(shí)的不同的用戶實(shí)例。由于代理服務(wù)器可以并行分發(fā)多個(gè)請(qǐng)求,同一請(qǐng)求可能到達(dá)用戶的不同實(shí)例(如住宅電話等)。由于每個(gè)實(shí)例都可能響應(yīng),因此需用標(biāo)記來區(qū)分來自不同實(shí)例的響應(yīng)。需要注意的是,To字段中的標(biāo)記是由每個(gè)實(shí)例至于響應(yīng)消息中的。To字段的示例:To:<Sip:1000@>To:<sip:1001@>;tag=62beb3ca注意,在SIP中,Call-ID、From和To三個(gè)字段標(biāo)識(shí)一個(gè)呼叫分支。在代理服務(wù)器并行分發(fā)請(qǐng)求時(shí),一個(gè)呼叫可能會(huì)有多個(gè)呼叫分支。

CseqCseq稱之為命令序號(hào)??蛻粼诿總€(gè)請(qǐng)求中應(yīng)加入此字段,它由命令名稱和一個(gè)十進(jìn)制序號(hào)組成,該序號(hào)由請(qǐng)求客戶選定,在Call-ID范圍內(nèi)唯一確定。序號(hào)初值可為任意值,其后具有相同Call-ID值,但不同命令名稱、消息體的請(qǐng)求,其Cseq序號(hào)應(yīng)加1。重發(fā)請(qǐng)求的序號(hào)保持不變。服務(wù)器將請(qǐng)求中的Cseq值復(fù)制到響應(yīng)消息中,用于將請(qǐng)求和其觸發(fā)的響應(yīng)相關(guān)聯(lián)。ACK和CANCEL請(qǐng)求的Cseq值(十進(jìn)制序號(hào))和對(duì)應(yīng)的INVITE請(qǐng)求相同,BYE請(qǐng)求的Cseq序號(hào)應(yīng)大于INVITE請(qǐng)求。服務(wù)器必須記憶相同Call-ID的INVITE請(qǐng)求的最高序號(hào),收到序號(hào)低于此值的INVITE請(qǐng)求應(yīng)在給出響應(yīng)后予以丟棄。由代理服務(wù)器并行分發(fā)的請(qǐng)求,其Cseq值相同。嚴(yán)格來說,Cseq對(duì)于任何可由BYE或CANCEL請(qǐng)求取消的請(qǐng)求以及客戶可連續(xù)發(fā)送多個(gè)具有相同Call-ID請(qǐng)求的情況都是需要的,其作用是判定響應(yīng)和請(qǐng)求的對(duì)應(yīng)關(guān)系。Cseq字段的示例:Cseq:1INVITE

ViaVia字段用以指示請(qǐng)求歷經(jīng)的路徑。它可以防止請(qǐng)求消息傳送產(chǎn)生環(huán)路,并確保響應(yīng)和請(qǐng)求消息選擇同樣的路徑,以保證通過防火墻或滿足其它特定的選路要求。發(fā)起請(qǐng)求的客戶必須將其自身的主機(jī)名或網(wǎng)絡(luò)地址插入請(qǐng)求的Via字段,如果未采用缺省端口號(hào),還需插入此端口號(hào)。在請(qǐng)求前傳過程中,每個(gè)代理服務(wù)器必須將其自身地址作為一個(gè)新的Via字段加在已有的Via字段之前。如果代理服務(wù)器收到一個(gè)請(qǐng)求,發(fā)現(xiàn)其自身地址位于Via頭部中,則必須回送響應(yīng)“檢測(cè)到環(huán)路”。當(dāng)請(qǐng)求消息通過網(wǎng)絡(luò)地址翻譯點(diǎn)(如防火墻)時(shí),請(qǐng)求的源地址和端口號(hào)可能被改變,此時(shí)Via字段就不能成為響應(yīng)消息選路的依據(jù)。為了防止這一點(diǎn),代理服務(wù)器應(yīng)校驗(yàn)頂端Via字段,如果發(fā)現(xiàn)其值和代理服務(wù)器檢測(cè)到的前站地址不符,則應(yīng)在該Via字段中加入“receive”參數(shù),如此修改后的字段稱為“接收方標(biāo)記Via頭部字段”。例如:Via:SIP/UDP:5060;received=由點(diǎn)發(fā)出的請(qǐng)求消息路徑外部地址為的網(wǎng)絡(luò)地址翻譯點(diǎn)后,到達(dá)代理服務(wù)器。后者注意到前站發(fā)送地址和Via字段地址不符,就把實(shí)際發(fā)送地址作為接收方標(biāo)記加在頂端Via字段的末尾,然后再將代理自己的地址作為新加的Via字段置于最上面。若代理服務(wù)器向多播地址發(fā)送請(qǐng)求,則必須在其Via頭部字段中加入“多播地址(maddr)”參數(shù),此參數(shù)指明該多播地址。代理服務(wù)器或UAC收到Via頭部字段時(shí)的處理規(guī)則是:規(guī)則1:第1個(gè)Via頭部字段應(yīng)該指示本代理服務(wù)器或UAC。如果不是,丟棄該消息,否則,刪除該Via字段。規(guī)則2:如果沒有第2個(gè)Via頭部字段,則該響應(yīng)已經(jīng)到達(dá)目的地。否則,繼續(xù)做如下處理。規(guī)則3:如果第2個(gè)Via頭部字段包含“maddr”參數(shù),則按該參數(shù)指示的多播地址發(fā)送響應(yīng),端口號(hào)由“發(fā)送方”參數(shù)指明,如未指明,就使用端口號(hào)5060。響應(yīng)的生存期應(yīng)置為“生存期(ttl)”參數(shù)指定的值,如未指明,則置為1。規(guī)則4:如果第2個(gè)Via字段不包含“maddr”參數(shù),但有一個(gè)接收方標(biāo)記字段,則應(yīng)將該響應(yīng)發(fā)往“received”參數(shù)指示的地址。規(guī)則5:如果既無“maddr”參數(shù)又無標(biāo)記,就按發(fā)送方參數(shù)指示的地址發(fā)送響應(yīng)。Via字段的一般格式為:Via:發(fā)送協(xié)議發(fā)送方;隱藏參數(shù);生存期參數(shù);多播地址參數(shù);接收方標(biāo)記,分支參數(shù)其中,發(fā)送協(xié)議的格式為:協(xié)議名/協(xié)議版本/傳送層,協(xié)議名和傳送層的缺省值分別為SIP和UDP。發(fā)送方為通常的發(fā)送方主機(jī)和端口號(hào)。隱藏參數(shù)就是關(guān)鍵詞hidden,如有此參數(shù),表示該字段已由上游代理予以加密,以提供隱私服務(wù)。多播地址參數(shù)和接收方標(biāo)記的意義如前所述。生存期參數(shù)與多播地址參數(shù)配用。分支參數(shù)用于代理服務(wù)器并行分發(fā)請(qǐng)求時(shí)標(biāo)記各個(gè)分支,當(dāng)響應(yīng)到達(dá)時(shí),代理可判定是哪一分支的響應(yīng)。Via字段的示例:Via:SIP/UDP:5061;ttl=16;maddr=;branch=z9hG4bkbc427dad6

Contact該字段用于INVITE、ACK和REGISTER請(qǐng)求以及成功響應(yīng)、呼叫進(jìn)展響應(yīng)和重定向響應(yīng)消息,其作用是給出其后和用戶直接通信的地址。INVITE和ACK請(qǐng)求中的Contact字段指示該請(qǐng)求發(fā)出的位置。它使被叫可以直接將請(qǐng)求(如BYE請(qǐng)求)發(fā)往該地址,而不必借助Via字段經(jīng)由一系列代理服務(wù)器返回。對(duì)INVITE請(qǐng)求的成功響應(yīng)消息可包含Contact字段,它使其后SIP請(qǐng)求(如ACK請(qǐng)求)可直接發(fā)往該字段給定的地址。該地址一般是被叫主機(jī)的地址,如果該主機(jī)位于防火墻之后,則為代理服務(wù)器地址。對(duì)應(yīng)于INVITE請(qǐng)求的呼叫進(jìn)展響應(yīng)消息中包含的Contact字段的含義和成功響應(yīng)消息相同。但是,CANCEL請(qǐng)求不能直接發(fā)往該地址,必須沿原請(qǐng)求發(fā)送的路徑前傳。REGISTER請(qǐng)求中的Contact字段指明用戶可達(dá)位置。該請(qǐng)求還定義了通配Contact字段“*”,它只能和值為0的“失效”字段配用,表示去除某用戶的所有登記。Contact字段也可設(shè)定“失效”參數(shù)(任選),給定登記的失效時(shí)間。如果沒有設(shè)定該參數(shù),則用“失效”字段值作為其缺省值。如果兩者均無,則認(rèn)為SIPURI的失效時(shí)間為1小時(shí)。REGISTER請(qǐng)求的成功響應(yīng)消息中的Contact字段返回該用戶當(dāng)前可達(dá)的所有位置。重定向響應(yīng)消息,如用戶臨時(shí)遷移、永久遷移、地址模糊等消息中的Contact字段給出供重試的其它可選地址,可用于對(duì)BYE、INVITE和OPTIONS請(qǐng)求的響應(yīng)消息。Contact字段的一般格式為:Contact:地址;q參數(shù);動(dòng)作參數(shù);失效參數(shù);擴(kuò)展屬性其中,地址的表示形式和To,F(xiàn)rom字段相同。q參數(shù),其取值范圍為[0,1],指示給定位置的相對(duì)優(yōu)先級(jí)。數(shù)值越大,優(yōu)先級(jí)越高。動(dòng)作參數(shù)僅用于REGISTER請(qǐng)求。它表明希望服務(wù)器對(duì)其后至該客戶的請(qǐng)求進(jìn)行代理服務(wù)還是重定向服務(wù)。如果未含此參數(shù),則執(zhí)行動(dòng)作取決于服務(wù)器的配置。失效參數(shù)指明URI的有效時(shí)間,可用秒表示,也可用SIP日期表示。擴(kuò)展屬性就是擴(kuò)展名。Contact字段的示例為:Contact:<Sip:@:5061>;q=;expires=3600

Max-Forwards該字段用于定義一個(gè)請(qǐng)求到達(dá)其目的地址所允許經(jīng)過的中轉(zhuǎn)站的最大值。請(qǐng)求每經(jīng)過一個(gè)中轉(zhuǎn)站,該值減1。如果該值為0時(shí)該請(qǐng)求還沒有到達(dá)其目的地址,服務(wù)器將回送“483”(TooManyHops)響應(yīng)并終止這個(gè)請(qǐng)求。設(shè)置該字段的目的主要是為了出現(xiàn)環(huán)路時(shí)不會(huì)一直消耗代理服務(wù)器的資源。該字段的初始值為70。Max-Forwards字段的一般格式為:Max-Forwards:十進(jìn)制整數(shù)

Allow該字段給出代理服務(wù)器支持的所有請(qǐng)求消息類型列表。Allow字段的示例:Allow:INVITE,ACK,OPTIONS,CANCEL,BYE

Content-Length該字段表示消息體的大小,為十進(jìn)制值。應(yīng)用程序使用該字段表示要發(fā)送的消息體的大小,而不考慮實(shí)體的媒體類型。如果使用基于流的協(xié)議(如TCP協(xié)議)作為傳輸協(xié)議,則必須使用此消息頭字段。消息體的長(zhǎng)度不包括用于分離消息頭部和消息體的空白行。Content-Length值必須大于等于0。如果消息中沒有消息體,則Content-Length頭字段值必須設(shè)為0。SDP用于構(gòu)成請(qǐng)求消息和2xx響應(yīng)消息的消息體。Content-Length字段的一般格式為:Content-Length:十進(jìn)制值Content-Length字段的示例:Content-Length:349表示消息體的長(zhǎng)度為349個(gè)字節(jié)。

Content-TypeContent-Type字段表示發(fā)送的消息體的媒體類型。如果消息體不為空,則必須存在Content-Type頭字段。如果消息體為空且Content-Type頭字段存在,則表示此類型的消息體長(zhǎng)度為0(如一個(gè)空的聲音文件)。Content-Type字段的示例:Content-Type:application/sdp

SupportedSIP協(xié)議中定義的100類臨時(shí)響應(yīng)消息的傳輸是不可靠的,即UAS發(fā)送臨時(shí)響應(yīng)后并不能保證UAC端能夠接受到該消息。如果需要在該響應(yīng)消息中攜帶媒體信息,那么就必須保證該消息能夠可靠的傳輸?shù)綄?duì)端。100rel擴(kuò)展為100類響應(yīng)消息的可靠傳輸提供了相應(yīng)的機(jī)制。100rel新增加對(duì)臨時(shí)響應(yīng)消息的確認(rèn)請(qǐng)求方法:PRACK。如果UAC支持該擴(kuò)展,則在發(fā)送的消息中增加Supported:100rel頭域和字段。如果UAS支持該擴(kuò)展,則在發(fā)送100類響應(yīng)時(shí)增加Require:100rel頭域和字段。UAC收到該響應(yīng)消息后需要向UAS發(fā)送PRACK請(qǐng)求通知UAS已收到該臨時(shí)響應(yīng)。UAS向UAC發(fā)送對(duì)PRACK的2XX響應(yīng)消息結(jié)束對(duì)該臨時(shí)響應(yīng)的確認(rèn)過程。如果某一UA想要在發(fā)送的臨時(shí)響應(yīng)消息中攜帶SDP消息體,那么UAC和UAS都必須支持和使用100rel擴(kuò)展以保證該消息的可靠傳輸。舉例:Supported:100rel

User-AgentUser-Agent頭字段包含有發(fā)起請(qǐng)求的用戶終端的信息。顯示用戶代理的軟件版本信息可能會(huì)令用戶在使用有安全漏洞的軟件易受到外界攻擊,因此,應(yīng)該使User-Agent頭字段成為可選配置項(xiàng)。舉例:User-Agent:Softphone

ExpiresExpires頭字段指定了消息(或消息內(nèi)容)多長(zhǎng)時(shí)間之后超時(shí)。舉例:Expires:5

Accept-LanguageAccept-Language頭字段用在請(qǐng)求消息中,表示原因短語(yǔ)、會(huì)話描述或應(yīng)答消息中攜帶的狀態(tài)應(yīng)答內(nèi)容的首選語(yǔ)言類型。如果消息中沒有Accept-Language頭字段,則服務(wù)器端認(rèn)為客戶端支持所有語(yǔ)言。舉例:Accept-Language:en

AuthorizationAuthorization字段包含某個(gè)終端的鑒權(quán)證書。首先介紹一下終端向服務(wù)器端請(qǐng)求認(rèn)證的一般過程:終端發(fā)起請(qǐng)求時(shí)如果服務(wù)器端需要對(duì)用戶進(jìn)行認(rèn)證,那么會(huì)在本地產(chǎn)生本次認(rèn)證的NONCE,并且通過認(rèn)證請(qǐng)求頭域?qū)⑺斜匾膮?shù)返回給終端從而發(fā)起對(duì)用戶認(rèn)證過程。終端收到認(rèn)證請(qǐng)求消息后根據(jù)服務(wù)器端返回的信息和用戶配置等信息采用特定的算法生成加密的RESPONSE,并且通過新的請(qǐng)求消息發(fā)送給服務(wù)器端。服務(wù)器端在收到帶有認(rèn)證響應(yīng)的新的請(qǐng)求消息后首先檢查NONCE的正確性。如果NONCE不是本地產(chǎn)生,則直接返回失敗。否則如果NONCE是本地產(chǎn)生,但是認(rèn)證過程已經(jīng)超時(shí),則服務(wù)器端會(huì)重新產(chǎn)生NONCE并重新發(fā)起對(duì)用戶的認(rèn)證過程。其中老的NONCE會(huì)通過CNONCE參數(shù)返回。NONCE驗(yàn)證通過后服務(wù)器端會(huì)根據(jù)NONCE、用戶名、密碼(服務(wù)器端可以根據(jù)本地用戶信息獲取用戶的密碼)、URI等采用和終端相同的算法生成RESPONSE,并且對(duì)此RESPONSE和請(qǐng)求消息中的RESPONSE進(jìn)行比較,如果二者一致則用戶認(rèn)證成功,否則認(rèn)證失敗。Authorization字段的一般格式為: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方式。以后為了實(shí)現(xiàn)Uniphone的卡號(hào)呼叫還會(huì)加入卡號(hào)認(rèn)證的CARDDIGEST方式。USERNAME:被認(rèn)證的用戶的用戶名。REALM:用于標(biāo)識(shí)發(fā)起認(rèn)證過程的域。NONCE:由發(fā)起認(rèn)證過程的實(shí)體產(chǎn)生的加密因子。RESPONSE:終端在收到服務(wù)器的認(rèn)證請(qǐng)求后根據(jù)服務(wù)器端產(chǎn)生的NONCE、用戶名、密碼、URI等信息經(jīng)過一定的算法生成的一個(gè)字符串。該字符串中包含了經(jīng)過加密后的用戶密碼。(在認(rèn)證過程中處理用戶密碼之外其他信息都會(huì)通過SIP消息以明文的方式在終端和服務(wù)器端進(jìn)行傳遞。)URI:發(fā)起的呼叫請(qǐng)求消息的Request-URI。由于終端在收到認(rèn)證請(qǐng)求后需要重新向服務(wù)器端發(fā)起請(qǐng)求(其中帶有認(rèn)證響應(yīng)信息)。該請(qǐng)求消息在經(jīng)過網(wǎng)絡(luò)服務(wù)器時(shí)某些字段包括Request-URI都有可能被修改。認(rèn)證頭域的URI參數(shù)用于傳遞終端發(fā)起請(qǐng)求時(shí)原始消息的Request-URI用于對(duì)認(rèn)證信息進(jìn)行認(rèn)證,這樣才能保證認(rèn)證過程的正確性。CNONCE:如果在服務(wù)器端超時(shí)后終端才向服務(wù)器返回了帶有認(rèn)證響應(yīng)的新的請(qǐng)求消息,則服務(wù)器端需要重新產(chǎn)生NONCE重新對(duì)用戶進(jìn)行認(rèn)證。其中NONCE中帶有新的NONCE,老的NONCE會(huì)通過CNONCE參數(shù)返回給終端。ALGORITHM:用于傳遞生成RESPONSE的算法。舉例:Authorization:DIGESTUSERNAME="6540012",REALM="",NONCE="",RESPONSE="b7c848831dc489f8dc663112b21ad3b6",URI="sip:"(3)

請(qǐng)求消息示例下面是SIP請(qǐng)求消息編碼的示例:INVITEsip:@SIP/From:<sip:@>;tag=1ccb6df3To:<sip:@>CSeq:1INVITECall-ID:20973e49f7c52937fc6be224f9e52543@sx3000Via:SIP/UDP:5061;branch=z9hG4bkbc427dad6Contact:<sip:@:5061>Supported:100rel,100relMax-Forwards:70Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFERContent-Length:230Content-Type:application/sdp

v:0o:HuaweiSoftX30003131INIP4s:SipCallc:INIP4t:00m:audio30000RTP/AVP80418a:rtpmap:8PCMA/8000a:rtpmap0PCMU/8000a:rtpmap4G723/8000a:rtpmap18G729/8000第一行:請(qǐng)求起始行。INVITE請(qǐng)求消息。請(qǐng)求URI,即被邀用戶的當(dāng)前地址為“sip:@”。SIP版本號(hào)為。第二行:From字段。指明請(qǐng)求發(fā)起方的地址為“<sip:@>”。標(biāo)記為“1ccb6df3”,用于共享同一SIP地址的不同用戶用相同的Call-ID發(fā)起呼叫邀請(qǐng)時(shí),對(duì)用戶進(jìn)行區(qū)分。第三行:To字段。指明請(qǐng)求接收方的地址為“<sip:@>”。從From和To字段,我們可以看出:IP地址為的SoftX3000控制下的終端撥打IP地址為的SoftX3000控制下的終端。終端類型可以為SIP、、IAD/AG下掛的ESL等。第四行:Cseq字段。用于將INVITE請(qǐng)求和其觸發(fā)的響應(yīng)、對(duì)應(yīng)的ACK、CANCEL請(qǐng)求相關(guān)聯(lián)。第五行:Call-ID字段。該字段唯一標(biāo)識(shí)一個(gè)特定的邀請(qǐng),全局唯一。Call-ID為“20973e49f7c52937fc6be224f9e52543@sx3000”,sx3000為發(fā)起呼叫的SoftX3000的域名,20973e49f7c52937fc6be224f9e52543為本地標(biāo)識(shí)。第六行:Via字段。該字段用于指示該請(qǐng)求歷經(jīng)的路徑。“SIP/UDP”表示發(fā)送的協(xié)議,協(xié)議名為“SIP”,協(xié)議版本為,傳輸層為UDP;“:5061”表示發(fā)送方SoftX3000IP地址為,端口號(hào)為5061;“branch=z9hG4bkbc427dad6”為分支參數(shù),SoftX3000并行分發(fā)請(qǐng)求時(shí)標(biāo)記各個(gè)分支。第七行:Contact字段。指示其后的請(qǐng)求(如BYE請(qǐng)求)可以直接發(fā)往<sip:@:5061>,而不必借助Via字段。第八行:100rel擴(kuò)展,該字段為100類響應(yīng)消息的可靠傳輸提供了相應(yīng)的機(jī)制。第九行:Max-Forwards字段。表示該請(qǐng)求到達(dá)其目的地址所允許經(jīng)過的中轉(zhuǎn)站的最大值為70。第十行:Allow字段。給出IP地址為的SoftX3000支持的請(qǐng)求消息類型列表。第十一~十二行:Content-Length字段,表示消息長(zhǎng)度為230個(gè)字節(jié)。第十三行:Content-Type字段,表示消息中攜帶的消息體是單消息體且為SDP。第十四行:空行,表示下面為SDP會(huì)話描述。第十五行:SDP協(xié)議版本號(hào),目前為0版本。第十六行:會(huì)話擁有者/創(chuàng)建者和會(huì)話標(biāo)識(shí),用于給出會(huì)話的發(fā)起者(其用戶名和用戶主機(jī)地址)以及會(huì)話標(biāo)識(shí)和會(huì)話版本號(hào)?!癏uaweiSoftX3000”為用戶名,用戶名是用戶在發(fā)起主機(jī)上的登錄名,如果主機(jī)不支持用戶標(biāo)識(shí)的概念,該字段標(biāo)記為“-”。第一個(gè)“31”為會(huì)話標(biāo)識(shí),會(huì)話標(biāo)識(shí)為一數(shù)字串,使得多元組(用戶名、會(huì)話標(biāo)識(shí)、網(wǎng)絡(luò)類型、地址類型、地址)構(gòu)成會(huì)話的全球唯一的標(biāo)識(shí)符。第二個(gè)“31”為版本號(hào),指該會(huì)話公告的版本。供代理服務(wù)器檢測(cè)同一會(huì)話的若干個(gè)公告哪一個(gè)是最新的公告。其基本要求是會(huì)話數(shù)據(jù)修改后,其版本號(hào)應(yīng)遞增?!癐N”指網(wǎng)絡(luò)類型,為文本串形式,目前規(guī)定的“IN”為Internet?!癐P4”指地址類型,為文本串形式,目前已定義的有“IP4”和“IP6”兩種?!啊睘閯?chuàng)建會(huì)話的主機(jī)的IP地址。對(duì)于IP4地址類型,可以是域名全稱或點(diǎn)分十進(jìn)制IP4地址表示形式。對(duì)于IP6地址類型,可以是域名全稱或壓縮文本IP6地址表示形式。第十七行:會(huì)話名。每個(gè)會(huì)話描述必需有一個(gè)且只有一個(gè)會(huì)話名。第十八行:連接數(shù)據(jù)。網(wǎng)絡(luò)類型和地址類型目前的定義值僅限于IN和IP4?!啊睘镾oftX3000(IP地址:)控制下的終端的IP地址(終端類型為SIP、電話或IAD/A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論