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