摘要:SIP協(xié)議是NGN中的重要協(xié)議,越來越得到業(yè)界的重視。本文通過SIP協(xié)議的背景、功能、網(wǎng)絡(luò)元素、實(shí)現(xiàn)機(jī)制、連同SIP消息的組成等幾個(gè)方面對SIP協(xié)議做了全方位的概要性介紹,以使讀者對SIP有初步的概念和認(rèn)識(shí)。 一、SIP協(xié)議的背景和功能 SIP( 會(huì)話初始協(xié)議)的研發(fā)目的是用來幫助提供跨越因特網(wǎng)的高級電話業(yè)務(wù)。因特網(wǎng)電話(IP電話)正在向一種正式的商業(yè)電話模式演進(jìn),SIP就是用來確保這種演進(jìn)實(shí)現(xiàn)而需要的NGN(下一代網(wǎng)絡(luò))系列協(xié)議中重要的一員。 SIP是IETF標(biāo)準(zhǔn)進(jìn)程的一部分,他是在諸如SMTP(簡單郵件傳送協(xié)議)和HTTP(超文本傳送協(xié)議)基礎(chǔ)之上建立起來的。他用來建立,改變和終止基于IP網(wǎng)絡(luò)的用戶間的呼叫。為了提供電話業(yè)務(wù)他還需要結(jié)合不同的標(biāo)準(zhǔn)和協(xié)議:特別是需要確保傳輸(RTP),和當(dāng)前電話網(wǎng)絡(luò)的信令互連,能夠確保語音質(zhì)量(RSVP),能夠提供目錄(LDAP),能夠鑒權(quán)用戶(RADIUS)等等。 SIP被描述為用來生成,修改和終結(jié)一個(gè)或多個(gè)參和者之間的會(huì)話。這些會(huì)話包括因特網(wǎng)多媒體會(huì)議,因特網(wǎng)(或任何IP網(wǎng)絡(luò))電話呼叫和多媒體發(fā)布。會(huì)話中的成員能夠通過多播或單播聯(lián)系的網(wǎng)絡(luò)來通信。SIP支持會(huì)話描述,他允許參和者在一組兼容媒體類型上達(dá)成一致。他同時(shí)通過代理和重定向請求到用戶當(dāng)前位置來支持用戶移動(dòng)性。SIP不和任何特定的會(huì)議控制協(xié)議捆綁。 本質(zhì)上,SIP提供以下功能: 名字翻譯和用戶定位:無論被呼叫方在哪里都確保呼叫達(dá)到被叫方。執(zhí)行任何描述信息到定位信息的映射。確保呼叫(會(huì)話)的本質(zhì)細(xì)節(jié)被支持。 特征協(xié)商:他允許和呼叫有關(guān)的組(這能夠是多方呼叫)在支持的特征上達(dá)成一致(注意:不是任何方都能夠支持相同級別的特征)。例如視頻能夠或不能夠被支持??傊嬖诤芏嘈枰獏f(xié)商的范圍。 呼叫參和者管理:呼叫中參和者能夠引入其他用戶加入呼叫或取消到其他用戶的連接。此外,用戶能夠被轉(zhuǎn)移或置為呼叫保持。 呼叫特征改變:用戶應(yīng)該能夠改變呼叫過程中的呼叫特征。例如,一呼叫能夠被配置為“voice-only”,但是在呼叫過程中,用戶能夠需要開啟視頻功能。也就是說一個(gè)加入呼叫的第三方為了加入該呼叫能夠開啟不同的特征。 二、SIP網(wǎng)絡(luò)元素 SIP中有兩個(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)??蛻魴C(jī)元素初始呼叫而服務(wù)器元素應(yīng)答呼叫。這允許點(diǎn)到點(diǎn)的呼叫通過客戶機(jī)-服務(wù)器協(xié)議來完成。 SIP服務(wù)器元素提供多種類型的服務(wù)器。有三種服務(wù)器形式存在于網(wǎng)絡(luò)中--SIP有狀態(tài)代理服務(wù)器,SIP無狀態(tài)代理服務(wù)器和SIP重定向服務(wù)器。由于呼叫者未必知道被呼叫方的IP地址或主機(jī)名,SIP服務(wù)器的主要功能是提供名字解析和用戶定位。能夠獲得的是email形式的地址或和被呼叫方關(guān)聯(lián)的電話號碼。使用該信息,呼叫者的用戶代理能夠確定特定服務(wù)器來解析地址信息--這可能涉及網(wǎng)絡(luò)中很多服務(wù)器。 SIP代理服務(wù)器接收請求,決定將這些請求傳送到何處,并且將他們傳送到下一服務(wù)器(使用下一跳路由原理)。在網(wǎng)絡(luò)中能夠有多跳。 有狀態(tài)和無狀態(tài)代理服務(wù)器的區(qū)分是有狀態(tài)代理服務(wù)器記住他接收的入請求,連同回送的響應(yīng)和他轉(zhuǎn)送的出請求。無狀態(tài)代理服務(wù)器一旦轉(zhuǎn)送請求后就忘記任何的信息。這允許有狀態(tài)代理服務(wù)器生成請求以并行地嘗試多個(gè)可能的用戶位置并且送回最好的響應(yīng)。無狀態(tài)代理服務(wù)器可能是最快的,并且是SIP結(jié)構(gòu)的骨干。有狀態(tài)代理服務(wù)器可能是離用戶代理最近的本地設(shè)備,他控制用戶域并且是應(yīng)用服務(wù)的主要平臺(tái)。 重定向服務(wù)器接收請求,但不是將這些請求傳遞給下一服務(wù)器而是向呼叫者發(fā)送響應(yīng)以指示被呼叫用戶的地址。這使得呼叫者能夠直接聯(lián)系在下一服務(wù)器上被呼叫方的地址。 三、SIP協(xié)議的實(shí)現(xiàn)機(jī)制 SIP是個(gè)分層結(jié)構(gòu)的協(xié)議,這意味著他的行為根據(jù)一組平等單獨(dú)的處理階段來描述,每一階段之間只是松耦合。協(xié)議分層描述是為了表達(dá),從而允許功能的描述可在一個(gè)部分跨越幾個(gè)元素。他不指定任何方式的實(shí)現(xiàn)。當(dāng)我們說某元素包含某層,我們是指他順從該層定義的規(guī)則集。 不是協(xié)議規(guī)定的每個(gè)元素都包含各層。而且,由SIP規(guī)定的元素是邏輯元素,不是物理元素。一個(gè)物理實(shí)現(xiàn)能夠選擇作為不同的邏輯元素,甚至可能在一個(gè)個(gè)事務(wù)的基礎(chǔ)上。 SIP的最底層是語法和編碼。他的編碼使用增強(qiáng)Backus-Nayr形式語法(BNF)來規(guī)定。 第二層是傳輸層。他定義了網(wǎng)絡(luò)上一個(gè)客戶機(jī)怎樣發(fā)送請求和接收響應(yīng)連同一個(gè)服務(wù)器怎樣接收請求和發(fā)送響應(yīng)。任何的SIP元素包含傳輸層。 第三層是事務(wù)層。事務(wù)是SIP的基本元素。一個(gè)事務(wù)是由客戶機(jī)事務(wù)發(fā)送給服務(wù)器事務(wù)的請求(使用傳輸層),連同對應(yīng)該請求的從服務(wù)器事務(wù)發(fā)送回客戶機(jī)的任何響應(yīng)組成。事務(wù)層處理應(yīng)用層重傳,匹配響應(yīng)到請求,連同應(yīng)用層超時(shí)。任何用戶代理客戶機(jī)(UAC)完成的任務(wù)使用一組事務(wù)產(chǎn)生。用戶代理包含一個(gè)事務(wù)層,有狀態(tài)的代理也有。無狀態(tài)的代理不包含事務(wù)層。事務(wù)層具備客戶機(jī)組成部分(稱為客戶機(jī)事務(wù))和服務(wù)器組成部分(稱為服務(wù)器事務(wù)),每個(gè)代表有限的狀態(tài)機(jī),他被構(gòu)造來處理特定的請求。 事務(wù)層之上的層稱為事務(wù)用戶(TU)。每個(gè)SIP實(shí)體,除了無狀態(tài)代理,都是事務(wù)用戶。當(dāng)一個(gè)TU希望發(fā)送請求,他生成一個(gè)客戶機(jī)事務(wù)實(shí)例并且向他傳遞請求和IP地址,端口,和用來發(fā)送請求的傳輸機(jī)制。一個(gè)TU生成客戶機(jī)事務(wù)也能夠刪除他。當(dāng)客戶機(jī)取消一個(gè)事務(wù)時(shí),他請求服務(wù)器停止進(jìn)一步的處理,將狀態(tài)恢復(fù)到事務(wù)初始化之前,并且生成特定的錯(cuò)誤響應(yīng)到該事務(wù)。這由CANCEL請求完成,他構(gòu)成自己的事務(wù),但涉及要取消的事務(wù)。 SIP通過EMAIL形式的地址來標(biāo)明用戶地址。每一用戶通過一等級化的URL來標(biāo)識(shí),他通過諸如用戶電話號碼或主機(jī)名等元素來構(gòu)造(例如:SIP:usercompany.com)。因?yàn)樗虴MAIL地址的相似性,SIP URLs容易于用戶的EMAIL地址關(guān)聯(lián)。 SIP提供他自己的可靠性機(jī)制從而單獨(dú)于分組層,并且只需不可靠的數(shù)據(jù)包服務(wù)即可。SIP可典型地用于UDP或TCP之上。 SIP提供必要的協(xié)議機(jī)制以確保終端系統(tǒng)和代理服務(wù)器提供以下業(yè)務(wù): ● 用戶定位 ● 用戶能力 ● 用戶可用性 ● 呼叫建立 ● 呼叫處理 ● 呼叫前轉(zhuǎn),包括:(1)等效800類型的呼叫,(2)無應(yīng)答呼叫前轉(zhuǎn),(3)遇忙呼叫前轉(zhuǎn),(4)無條件呼叫前轉(zhuǎn) ● 呼叫號碼傳遞,該號碼能夠是任何命名機(jī)制。 ● 個(gè)人移動(dòng)性,例如通過一個(gè)單一的、位置無關(guān)的地址來到達(dá)被呼叫方,即使被呼叫方改變了終端。 ● 終端類型的協(xié)商和選擇:呼叫者能夠給出選擇怎樣到達(dá)對方,例如通過因特網(wǎng)電話,移動(dòng)電話或應(yīng)答業(yè)務(wù)等。 ● 終端能力協(xié)商 ● 呼叫者和被呼叫者鑒權(quán) ● 不知情和指導(dǎo)式的呼叫轉(zhuǎn)移 ● 多播會(huì)議的邀請 當(dāng)一用戶希望呼叫另一用戶,呼叫者用INVITE請求初始呼叫,請求包含足夠的信息用以被呼叫方參和會(huì)話。假如客戶機(jī)知道另一方的位置他能夠直接將請求發(fā)送到另一方的IP地址。假如不知道,客戶機(jī)將請求發(fā)送到本地配置的SIP網(wǎng)絡(luò)服務(wù)器。假如服務(wù)器是代理服務(wù)器他將解析被呼叫用戶的位置并且將請求發(fā)送給他們。有很多方法完成上步,例如搜索DNS或訪問數(shù)據(jù)庫。服務(wù)器也能夠是重定向服務(wù)器,他能夠返回被呼叫用戶的位置到呼叫客戶機(jī)用以他直接和用戶聯(lián)系。在定位用戶的過程中,SIP網(wǎng)絡(luò)服務(wù)器當(dāng)然能夠代理或重定向呼叫到其他的服務(wù)器,直到到達(dá)一個(gè)明確地知道被呼叫用戶IP地址的服務(wù)器。 一旦發(fā)現(xiàn)用戶地址,請求就發(fā)送給該用戶,此時(shí)將產(chǎn)生幾種選擇。在最簡單的情況,用戶電話客戶機(jī)接收請求——也就是,用戶的電話振鈴。假如用戶接受呼叫,客戶機(jī)用客戶機(jī)軟件的指定能力響應(yīng)請求并且建立連接。假如用戶拒絕呼叫,會(huì)話將被重定向到語音郵箱服務(wù)器或另一用戶。“指定能力”參照用戶想啟用的功能。例如,客戶機(jī)軟件能夠支持視頻會(huì)議,但用戶只想使用音頻會(huì)議,那則只會(huì)啟用音頻功能。 SIP還具備另外兩個(gè)有重要意義的特征。第一個(gè)是有狀態(tài)SIP代理服務(wù)器具備分割入呼叫或復(fù)制入呼叫的能力,從而能夠同時(shí)運(yùn)行幾個(gè)擴(kuò)展分支。第一個(gè)應(yīng)答的分支接受呼叫。該特征在用戶工作在兩位置之間(例如實(shí)驗(yàn)室和辦公室)或同時(shí)對經(jīng)理和其秘書振鈴時(shí)是很便利的。 第二個(gè)特征是SIP獨(dú)特的返回不同媒體類型的能力。舉個(gè)用戶聯(lián)系公司的例子。當(dāng)SIP服務(wù)器接收到客戶機(jī)的連接請求,他能夠通過WEB交互式語音響應(yīng)頁面來返回到顧客的客戶機(jī),該頁面具備可獲得的部門分支或提供在列表上的用戶。點(diǎn)擊適當(dāng)?shù)逆溄雍髮l(fā)送一請求到所點(diǎn)擊選擇的用戶從而建立起呼叫。 四、SIP消息的組成 有兩種類型的SIP消息: ● 請求:從客戶機(jī)發(fā)到服務(wù)器 ● 響應(yīng):從服務(wù)器發(fā)到客戶機(jī) SIP請求消息包含三個(gè)元素:請求行、頭、消息體。 SIP響應(yīng)消息包含三個(gè)元素:狀態(tài)行、頭、消息體。 請求行和頭域根據(jù)業(yè)務(wù)、地址和協(xié)議特征定義了呼叫的本質(zhì),消息體單獨(dú)于SIP協(xié)議并且可包含任何內(nèi)容。 SIP定義了下述方法: INVITE——邀請用戶加入呼叫。 BYE——終止一呼叫上的兩個(gè)用戶之間的呼叫。 OPTIONS——請求關(guān)于服務(wù)器能力的信息。 ACK——確認(rèn)客戶機(jī)已接收到對INVITE的最終響應(yīng)。 REGISTER——提供地址解析的映射,讓服務(wù)器知道其他用戶的位置。 INFO——用于會(huì)話中信令。 五、結(jié)束語 SIP協(xié)議憑借其簡單、易于擴(kuò)展、便于實(shí)現(xiàn)等諸多長處越來越得到業(yè)界的青睞,他正逐步成為NGN(下一代網(wǎng)絡(luò))和3G多媒體子系統(tǒng)域中的重要協(xié)議,并且市場上出現(xiàn)越來越多的支持SIP的客戶端軟件和智能多媒體終端,連同用SIP協(xié)議實(shí)現(xiàn)的服務(wù)器和軟交換設(shè)備。雖然SIP協(xié)議現(xiàn)在還不成熟,但能夠預(yù)見SIP必定是將來網(wǎng)絡(luò)多媒體通信中的明星。 |