會(huì)話起始協(xié)議SIP是3G的IP多媒體子系統(tǒng)中提供多媒體業(yè)務(wù)的核心技術(shù)。文章首先介紹了SIP的基本工作原理,然后對(duì)3GPPUMTSR5定義的IMS進(jìn)行了簡(jiǎn)要描述,最后詳細(xì)闡述了SIP在IMS提供服務(wù)的過(guò)程及對(duì)漫游用戶的處理。
會(huì)話起始協(xié)議(sessioniniTIationprotocol)是由IETF定義的一個(gè)基于IP網(wǎng)絡(luò)中實(shí)現(xiàn)實(shí)時(shí)通信應(yīng)用的一種信令控制協(xié)議。 3GPP定義了IP多媒體子系統(tǒng)(IPMultimedia Subsystem:IMS)的網(wǎng)絡(luò)架構(gòu),并基于SIP來(lái)承載各種多媒體業(yè)務(wù)(VoIP,流媒體,網(wǎng)絡(luò)游戲等)。
一、SIP協(xié)議簡(jiǎn)介
會(huì)話起始協(xié)議SIP(SessionInitiationProtocol)被描述用來(lái)生成,修改和終結(jié)一個(gè)或多個(gè)參與者之間的會(huì)話,是由IETF于 1999年提出的一個(gè)基于IP網(wǎng)絡(luò)中實(shí)現(xiàn)實(shí)時(shí)通信應(yīng)用的一種信令控制協(xié)議。它打破了傳統(tǒng)電信業(yè)務(wù)的傳輸模式,采用基于因特網(wǎng)的準(zhǔn)則,將蜂窩系統(tǒng)與因特網(wǎng)應(yīng)用融合在一起提供基于IP的多媒體業(yè)務(wù),具有開(kāi)放性,可擴(kuò)展性,安全性的特點(diǎn)。3GPP
已將SIP作為第三代移動(dòng)通信系統(tǒng)多媒體域的控制協(xié)議。
經(jīng)常出現(xiàn)這種情況,一個(gè)用戶在多個(gè)位置之間移動(dòng),如一個(gè)公司職員,可能處在公司,家里或是咖啡廳等位置。為了給用戶提供方便的移動(dòng)性,SIP使用統(tǒng)一資源定位符URI(UniformResourceIdentifier)來(lái)表示用戶。通常由一個(gè)域名加上用戶名組成,例如SIP:John@ eastcom.com,類(lèi)似于電子郵件地址。SIP URI只是用來(lái)唯一標(biāo)示用戶的邏輯標(biāo)記符,用戶注冊(cè)時(shí)它將與用戶的IP地址綁定并記錄到定位服務(wù)器。
在SIP中,系統(tǒng)采用了因特網(wǎng)常用的客戶機(jī)/服務(wù)器結(jié)構(gòu),由用戶代理和服務(wù)器兩大部分組成。其中用戶代理又分為用戶代理客戶(UAC: UserAgentClient)和用戶代理服務(wù)器(UAS:UserAgent Server)兩種。UAC用來(lái)發(fā)起會(huì)話請(qǐng)求,UAS用來(lái)接受并響應(yīng)會(huì)話請(qǐng)求。這兩者只是邏輯上的功能,實(shí)際上網(wǎng)絡(luò)終端應(yīng)同時(shí)具備這兩種功能,既能發(fā)起會(huì)話,又能接受、相應(yīng)會(huì)話。服務(wù)器分為代理服務(wù)器(Proxy Server)、重定向服務(wù)器(Redirected Server)和注冊(cè)服務(wù)器(Registrar)。
圖1 SIP的網(wǎng)絡(luò)體系結(jié)構(gòu)
圖1描述了SIP的基本網(wǎng)絡(luò)體系結(jié)構(gòu)。用戶接入網(wǎng)絡(luò)后首先要向注冊(cè)服務(wù)器注冊(cè),注冊(cè)信息寫(xiě)入定位服務(wù)器中(定向服務(wù)器不屬于SIP網(wǎng)元,只是一個(gè)數(shù)據(jù)庫(kù))。當(dāng)用戶代理客戶UAC要發(fā)起呼叫時(shí),它一般將呼叫請(qǐng)求消息發(fā)送給本域的出向代理服務(wù)器。媒體描述信息以SDP (SessionDescriptionProtocol)的形式在SIP消息體中被封裝并發(fā)送出去。代理服務(wù)器檢查被叫地址,將請(qǐng)求轉(zhuǎn)發(fā)(可能經(jīng)過(guò)多個(gè)中間代理服務(wù)器的轉(zhuǎn)發(fā)),直至到達(dá)被叫域的代理服務(wù)器。被叫域的代理服務(wù)器通過(guò)查詢定位服務(wù)器確定被叫的確切位置,然后將請(qǐng)求轉(zhuǎn)發(fā)給被叫用戶代理服務(wù)器 UAS。被叫UAS收到請(qǐng)求后,生成響應(yīng)消息。響應(yīng)消息將按照請(qǐng)求消息經(jīng)過(guò)的路徑,原路返回到主叫UAC。主叫UAC根據(jù)響應(yīng)消息的內(nèi)容選擇是建立呼叫、重新發(fā)起呼叫或取消該呼叫。如果被叫沒(méi)有在歸屬地,主叫將通過(guò)重定位服務(wù)器重新定位被叫的位置,然后發(fā)起請(qǐng)求。
SIP有兩種類(lèi)型的消息:
(1)請(qǐng)求:從客戶機(jī)發(fā)到服務(wù)器的消息。SIP核心規(guī)范定義了6種SIP請(qǐng)求:
INVITE—邀請(qǐng)用戶加入呼叫。
BYE—終止兩個(gè)用戶之間的呼叫。
OPTIONS—請(qǐng)求關(guān)于服務(wù)器能力的信息。
ACK—確認(rèn)客戶機(jī)已經(jīng)收到對(duì)INVITE的最終響應(yīng)。
REGISTER—提供地址解析的映射,讓服務(wù)器知道其他用戶的位置。
INFO—用于會(huì)話中信令。
(2)應(yīng)答:從服務(wù)器發(fā)到客戶機(jī)的消息,當(dāng)服務(wù)器收到請(qǐng)求時(shí),它就發(fā)出一個(gè)或多個(gè)應(yīng)答。每個(gè)應(yīng)答都有一個(gè)代表事務(wù)狀態(tài)的狀態(tài)碼(100-699的整數(shù))。下面是常用的幾種應(yīng)答及它們的狀態(tài)碼:
trying(100)—正在嘗試
ringing(180)—正在振鈴
sessionprogress(183)—會(huì)話進(jìn)行
OK(200)—好
二、3GPP R5中IMS的基本結(jié)構(gòu)
根據(jù)3GPP的定義,3G網(wǎng)絡(luò)被劃分為3個(gè)域:電路交換域、分組交換域、IP多媒體域(如圖2)。
圖2 3GPP R5基本結(jié)構(gòu)
電路交換域與現(xiàn)有的2G網(wǎng)絡(luò)類(lèi)似,采用電路交換技術(shù)提供話音業(yè)務(wù)。分組交換域是2.5G網(wǎng)絡(luò)中引入的,主要網(wǎng)元設(shè)備有SGSN (ServiceGPRSSwitchNode)和GGSN(Gateway GPRS Switch Node)。它們負(fù)責(zé)向終端提供IP連接,用戶通過(guò)該域進(jìn)入因特網(wǎng),用戶可以由此發(fā)送郵件,瀏覽網(wǎng)頁(yè)。它并沒(méi)有在IP之上定義任何特殊的體系結(jié)構(gòu),它主要是一種接入技術(shù)。IP多媒體域(即IMS,IP MulTImedia Subsystem)是3GPP制定的UMTS R5版本中引入的,采用SIP作為主要的信令協(xié)議,使得移動(dòng)運(yùn)營(yíng)商可以為用戶提供端到端的全I(xiàn)P的多媒體業(yè)務(wù)。
IMS由呼叫狀態(tài)控制功能CSCF(CallSessionControlFunction)、媒體網(wǎng)關(guān)控制功能MGCF(Media Gateway Control Function)、媒體網(wǎng)關(guān)MGW(Media Gateway)、歸屬地用戶服務(wù)器H
SS(Home Subscriber Server)等功能實(shí)體組成。CSCF的種類(lèi)包括P-CSCF(Proxy-CACF,代理CSCF)、I-CSCF(Interrogating CSCF,查詢CSCF)和S-CSCF(Serving CSCF,服務(wù)CSCF),本質(zhì)上它們都是SIP服務(wù)器,處理SIP信令。
●P-CSCF是UE聯(lián)系IMS的第一步,是UE在被訪問(wèn)域(漫游時(shí))首先要訪問(wèn)的點(diǎn),進(jìn)出的SIP消息都要通過(guò)P-CSCF。P-CSCF相當(dāng)于SIP協(xié)議定義的邊界代理服務(wù)器。
●I-CSCF的功能是提供到歸屬網(wǎng)絡(luò)的入口,將歸屬網(wǎng)絡(luò)的拓?fù)鋱D對(duì)其它網(wǎng)絡(luò)隱藏起來(lái),并通過(guò)HSS為特定用戶找出相應(yīng)的S-CSCF。它是用戶終端漫游或者外來(lái)任務(wù)進(jìn)入本地服務(wù)提供商網(wǎng)絡(luò)中的聯(lián)系點(diǎn)。當(dāng)I-CSCF接到一個(gè)請(qǐng)求時(shí),它將把請(qǐng)求路由到相應(yīng)的S-CSCF。
●S-CSCF給用戶提供服務(wù)。當(dāng)終端注冊(cè)時(shí),它同本地域的S-CSCF聯(lián)系,本地S-CSCF向用戶提供用戶預(yù)定的服務(wù)。這樣的好處是用戶即使漫游到不支持某項(xiàng)業(yè)務(wù)的網(wǎng)絡(luò)也能像在本地一樣得到需要的服務(wù)。
HSS(HomeSubscriberServer)相當(dāng)于2G網(wǎng)絡(luò)中的HLR,存儲(chǔ)了與一個(gè)單獨(dú)用戶相關(guān)的S-CSCF和相應(yīng)的用戶簡(jiǎn)介。因此它知道用戶現(xiàn)在的位置和用戶指定的服務(wù)。CSCF可以向HSS詢問(wèn)以獲得這些信息。HSS和CSCF之間交互用的是Cx接口,它不是IETF制定的,當(dāng)也是基于 IP的。
三、用戶SIP注冊(cè)
用戶在發(fā)起一次會(huì)話之前必須先完成SIP服務(wù)注冊(cè)。UE(UserEquipment)將告訴HSS它現(xiàn)在的位置,HSS更新相應(yīng)用戶的信息;注冊(cè)前要進(jìn)行驗(yàn)證,HSS根據(jù)用戶信息和操作限制檢查該用戶是否可以注冊(cè);在服務(wù)注冊(cè)中,本地域還要為UE選擇一個(gè)S-CSCF,并把用戶信息發(fā)往S- CSCF。這個(gè)過(guò)程是在應(yīng)用層完成的,所以注冊(cè)前要建立信令鏈路。因此,首先要建立UE到SGSN和SGSN到GGSN的鏈路。這條鏈路建立以后,用戶就可以注冊(cè)了。
如圖3,描述了一個(gè)用戶在3G網(wǎng)絡(luò)中注冊(cè)的全部過(guò)程。注冊(cè)之后,系統(tǒng)會(huì)給用戶分配一個(gè)S-CSCF,由這個(gè)S-CSCF來(lái)負(fù)責(zé)向用戶提供服務(wù)。首先,用戶從UE發(fā)送一個(gè)注冊(cè)請(qǐng)求給所在地P- CSCF。P-CSCF是UE和網(wǎng)絡(luò)之間的聯(lián)系點(diǎn)。P-CSCF向用戶歸屬地I-CSCF轉(zhuǎn)發(fā)該注冊(cè)請(qǐng)求。歸屬地I- CSCF向HSS咨詢,I-CSCF根據(jù)從HSS得來(lái)的有關(guān)該用戶的信息給用戶選擇一個(gè)S-CSCF。因此,原來(lái)的注冊(cè)請(qǐng)求就可以交由這個(gè)S-CSCF處理。一旦收到請(qǐng)求,S-CSCF就從HSS下載用戶的信息,該信息告訴S-CSCF用戶預(yù)定了哪些服務(wù)。最終,它發(fā)出一個(gè)約定的應(yīng)答信號(hào)。
圖3 用戶注冊(cè)的信令流
四、在漫游用戶間的會(huì)話
一旦UE注冊(cè)到一個(gè)S-CSCF,語(yǔ)音和多媒體呼叫就可以建立了。兩用戶之間建立鏈路的過(guò)程實(shí)際上就是穿越各個(gè)CSCF的過(guò)程??偟膩?lái)說(shuō)是按照“主叫用戶 ◇主叫所在地P-CSCF◇主叫歸屬地S-CSCF◇被叫歸屬地S-CSCF ◇被叫所在地P-CSCF ◇被叫用戶”的路線。
用戶訪問(wèn)地的SIPCSCF服務(wù)器是不會(huì)處理用戶業(yè)務(wù)的,它只起到了接入網(wǎng)絡(luò)、轉(zhuǎn)發(fā)信息的作用,給用戶提供業(yè)務(wù)服務(wù)以及用戶接入其他網(wǎng)絡(luò)(例如PSTN) 都要依靠歸屬地的S-CSCF。用戶進(jìn)入網(wǎng)絡(luò)時(shí)首先到訪問(wèn)地的P-CSCF登記,告訴P-CSCF自己的歸屬地在哪里,就猶如外地人口到來(lái)先到訪問(wèn)地公安局登記領(lǐng)取暫住證,并登記自己是誰(shuí),戶口所在地等信息。接著通過(guò)訪問(wèn)地P-CSCF告訴歸屬地的S-CSCF自己的位置并更新HSS中的位置信息。當(dāng)用戶發(fā)出會(huì)話請(qǐng)求時(shí),訪問(wèn)地P-CSCF將請(qǐng)求發(fā)往用戶歸屬地交由S-CSCF處理,同樣的,當(dāng)有發(fā)往用戶的會(huì)話請(qǐng)求時(shí),請(qǐng)求先到達(dá)歸屬地,歸屬地找到用戶的位置后再通過(guò)用戶訪問(wèn)地P-CSCF與用戶取得聯(lián)系,建立鏈路。
如圖4所示是最普通的兩個(gè)漫游用戶的會(huì)話建立過(guò)程。一個(gè)完整的IMS呼叫分為會(huì)話邀請(qǐng)、資源預(yù)留、會(huì)話提供、會(huì)話連接、會(huì)話終止五個(gè)階段。
呼叫的過(guò)程如下:
(1)會(huì)話邀請(qǐng)
A向P-CSCF發(fā)送一個(gè)INVITE請(qǐng)求消息。該消息中有B和A的SIPURI。P-CSCF注意到A不屬于本地用戶并向A的歸屬地轉(zhuǎn)發(fā)該 INVITE 消息并返回100trying臨時(shí)應(yīng)答A(表示已經(jīng)發(fā)送A的請(qǐng)求,正在嘗試建立鏈路,A需要等待)。A的本地域I-CSCF向HSS查詢,并向A注冊(cè)時(shí)分配的S-CSCF轉(zhuǎn)發(fā)INVITE并返回100trying給外地P-CSCF。S-CSCF收到請(qǐng)求后將INVITE轉(zhuǎn)發(fā)給被叫B的本地域并返回 100trying給I-CSCF。同樣,B歸屬地的I-CSCF
接到請(qǐng)求后向HSS查詢并將請(qǐng)求轉(zhuǎn)發(fā)到B的歸屬地S-CSCF,該S-CSCF發(fā)現(xiàn)B正處在外地網(wǎng)絡(luò)中,于是將INVITE轉(zhuǎn)發(fā)到B目前所在地的P-CSCF,接著P-CSCF將請(qǐng)求最后傳給B。
(2)資源預(yù)留
B接受了這個(gè)會(huì)話請(qǐng)求,但此時(shí)他不回鈴?fù)ㄖ狝,他返回183sessionprocess應(yīng)答表示他接受該會(huì)話,同時(shí)要求A對(duì)此表示確定,這個(gè)應(yīng)答通過(guò)各個(gè)CSCF傳給A。同時(shí)B激活一個(gè)GPRSPDP上下文,它被用來(lái)通過(guò)IMS的IP接入點(diǎn)來(lái)建立語(yǔ)音通道。
A收到183應(yīng)答后,同樣激活一個(gè)PDP上下文并通過(guò)CSCF建立的通道發(fā)送一個(gè)COMET消息給B,該消息含有A的語(yǔ)音通道的地址細(xì)節(jié),并起確認(rèn)作用。
(3)會(huì)話提供和會(huì)話連接
當(dāng)接到COMET,B知道傳送語(yǔ)音的IP通道和服務(wù)質(zhì)量參數(shù)已經(jīng)被雙方預(yù)留,并且知道了語(yǔ)音通道的地址,因此B返回200OK確認(rèn)消息。該消息包含了B的語(yǔ)音通道的地址細(xì)節(jié)。
A接到確認(rèn)后,給B一個(gè)180振鈴信息,B聽(tīng)到振鈴即給A一個(gè)200OK消息,最后A給B發(fā)送ACK確認(rèn)信息,到此通信鏈路建立完成,接下來(lái)A和B可以進(jìn)行通話了。
(4)會(huì)話終止
為了終止會(huì)話,A發(fā)送一個(gè)BYE消息給B。同時(shí)A撤銷(xiāo)他的PDP上下文。
B接到BYE消息后,它會(huì)撤消自己的PDP上下文,并返回一個(gè)200OK應(yīng)答給A是房改呼叫使用的所有CSCF。
五、結(jié)束語(yǔ)
SIP協(xié)議是一個(gè)簡(jiǎn)單、靈活的協(xié)議,具有很強(qiáng)的包容性,在保持其核心協(xié)議簡(jiǎn)捷的基礎(chǔ)上建立了強(qiáng)大的擴(kuò)充機(jī)制,所以利用SIP技術(shù)可以很容易的實(shí)現(xiàn)大量應(yīng)用。我們可以毫無(wú)疑問(wèn),基于SIP的3GIMS將會(huì)給廣大用戶帶來(lái)更快捷、更豐富、更靈活的通信體驗(yàn)。