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