SIP協議全方位概要介紹

一、SIP協議的背景和功能

    SIP( 會話初始協議)的開發目的是用來幫助提供跨越因特網的高級電話業務。因特網電話(IP電話)正在向一種正式的商業電話模式演進,SIP就是用來確保這種演進實現而需要的NGN(下一代網絡)系列協議中重要的一員。

    SIP是IETF標準進程的一部分,它是在諸如SMTP(簡單郵件傳送協議)和HTTP(超文本傳送協議)基礎之上建立起來的。它用來建立,改變和終止基於IP網絡的用戶間的呼叫。爲了提供電話業務它還需要結合不同的標準和協議:特別是需要確保傳輸(RTP),與當前電話網絡的信令互連,能夠確保語音質量(RSVP),能夠提供目錄(LDAP),能夠鑑權用戶(RADIUS)等等。

    SIP被描述爲用來生成,修改和終結一個或多個參與者之間的會話。這些會話包括因特網多媒體會議,因特網(或任何IP網絡)電話呼叫和多媒體發佈。會話中的成員能夠通過多播或單播聯繫的網絡來通信。SIP支持會話描述,它允許參與者在一組兼容媒體類型上達成一致。它同時通過代理和重定向請求到用戶當前位置來支持用戶移動性。SIP不與任何特定的會議控制協議捆綁。

    本質上,SIP提供以下功能:

    名字翻譯和用戶定位:無論被呼叫方在哪裏都確保呼叫達到被叫方。執行任何描述信息到定位信息的映射。確保呼叫(會話)的本質細節被支持。

    特徵協商:它允許與呼叫有關的組(這可以是多方呼叫)在支持的特徵上達成一致(注意:不是所有方都能夠支持相同級別的特徵)。例如視頻可以或不可以被支持。總之,存在很多需要協商的範圍。

    呼叫參與者管理:呼叫中參與者能夠引入其它用戶加入呼叫或取消到其它用戶的連接。此外,用戶可以被轉移或置爲呼叫保持。

    呼叫特徵改變:用戶應該能夠改變呼叫過程中的呼叫特徵。例如,一呼叫可以被設置爲“voice-only”,但是在呼叫過程中,用戶可以需要開啓視頻功能。也就是說一個加入呼叫的第三方爲了加入該呼叫可以開啓不同的特徵。

    二、SIP網絡元素

    SIP中有兩個要素。SIP用戶代理和SIP網絡服務器。用戶代理是呼叫的終端系統元素,而SIP服務器是處理與多個呼叫相關聯信令的網絡設備。

    用戶代理本身具有一客戶機元素(用戶代理客戶機UAC)和一服務器元素(用戶代理服務器UAS)。客戶機元素初始呼叫而服務器元素應答呼叫。這允許點到點的呼叫通過客戶機-服務器協議來完成。

    SIP服務器元素提供多種類型的服務器。有三種服務器形式存在於網絡中--SIP有狀態代理服務器,SIP無狀態代理服務器和SIP重定向服務器。由於呼叫者未必知道被呼叫方的IP地址或主機名,SIP服務器的主要功能是提供名字解析和用戶定位。可以獲得的是email形式的地址或與被呼叫方關聯的電話號碼。使用該信息,呼叫者的用戶代理能夠確定特定服務器來解析地址信息--這可能涉及網絡中很多服務器。

    SIP代理服務器接收請求,決定將這些請求傳送到何處,並且將它們傳送到下一服務器(使用下一跳路由原理)。在網絡中可以有多跳。

    有狀態和無狀態代理服務器的區別是有狀態代理服務器記住它接收的入請求,以及回送的響應和它轉送的出請求。無狀態代理服務器一旦轉送請求後就忘記所有的信息。這允許有狀態代理服務器生成請求以並行地嘗試多個可能的用戶位置並且送回最好的響應。無狀態代理服務器可能是最快的,並且是SIP結構的骨幹。有狀態代理服務器可能是離用戶代理最近的本地設備,它控制用戶域並且是應用服務的主要平臺。

    重定向服務器接收請求,但不是將這些請求傳遞給下一服務器而是向呼叫者發送響應以指示被呼叫用戶的地址。這使得呼叫者可以直接聯繫在下一服務器上被呼叫方的地址。

    三、SIP協議的實現機制

    SIP是一個分層結構的協議,這意味着它的行爲根據一組平等獨立的處理階段來描述,每一階段之間只是鬆耦合。協議分層描述是爲了表達,從而允許功能的描述可在一個部分跨越幾個元素。它不指定任何方式的實現。當我們說某元素包含某層,我們是指它順從該層定義的規則集。

    不是協議規定的每個元素都包含各層。而且,由SIP規定的元素是邏輯元素,不是物理元素。一個物理實現可以選擇作爲不同的邏輯元素,甚至可能在一個個事務的基礎上。

    SIP的最底層是語法和編碼。它的編碼使用增強Backus-Nayr形式語法(BNF)來規定。

    第二層是傳輸層。它定義了網絡上一個客戶機如何發送請求和接收響應以及一個服務器如何接收請求和發送響應。所有的SIP元素包含傳輸層。

    第三層是事務層。事務是SIP的基本元素。一個事務是由客戶機事務發送給服務器事務的請求(使用傳輸層),以及對應該請求的從服務器事務發送回客戶機的所有響應組成。事務層處理應用層重傳,匹配響應到請求,以及應用層超時。任何用戶代理客戶機(UAC)完成的任務使用一組事務產生。用戶代理包含一個事務層,有狀態的代理也有。無狀態的代理不包含事務層。事務層具有客戶機組成部分(稱爲客戶機事務)和服務器組成部分(稱爲服務器事務),每個代表有限的狀態機,它被構造來處理特定的請求。

    事務層之上的層稱爲事務用戶(TU)。每個SIP實體,除了無狀態代理,都是事務用戶。當一個TU希望發送請求,它生成一個客戶機事務實例並且向它傳遞請求和IP地址,端口,和用來發送請求的傳輸機制。一個TU生成客戶機事務也能夠刪除它。當客戶機取消一個事務時,它請求服務器停止進一步的處理,將狀態恢復到事務初始化之前,並且生成特定的錯誤響應到該事務。這由CANCEL請求完成,它構成自己的事務,但涉及要取消的事務。

    SIP通過EMAIL形式的地址來標明用戶地址。每一用戶通過一等級化的URL來標識,它通過諸如用戶電話號碼或主機名等元素來構造(例如:SIP:usercompany.com)。因爲它與EMAIL地址的相似性,SIP URLs容易於用戶的EMAIL地址關聯。

    SIP提供它自己的可靠性機制從而獨立於分組層,並且只需不可靠的數據包服務即可。SIP可典型地用於UDP或TCP之上。

    SIP提供必要的協議機制以保證終端系統和代理服務器提供以下業務:

    ● 用戶定位

    ● 用戶能力

    ● 用戶可用性

    ● 呼叫建立

    ● 呼叫處理

    ● 呼叫前轉,包括:(1)等效800類型的呼叫,(2)無應答呼叫前轉,(3)遇忙呼叫前轉,(4)無條件呼叫前轉

    ● 呼叫號碼傳遞,該號碼可以是任何命名機制。

    ● 個人移動性,例如通過一個單一的、位置無關的地址來到達被呼叫方,即使被呼叫方改變了終端。

    ● 終端類型的協商和選擇:呼叫者可以給出選擇如何到達對方,例如通過因特網電話,移動電話或應答業務等。

    ● 終端能力協商

    ● 呼叫者和被呼叫者鑑權

    ● 不知情和指導式的呼叫轉移

    ● 多播會議的邀請

    當一用戶希望呼叫另一用戶,呼叫者用INVITE請求初始呼叫,請求包含足夠的信息用以被呼叫方參與會話。如果客戶機知道另一方的位置它能夠直接將請求發送到另一方的IP地址。如果不知道,客戶機將請求發送到本地配置的SIP網絡服務器。如果服務器是代理服務器它將解析被呼叫用戶的位置並且將請求發送給它們。有很多方法完成上步,例如搜索DNS或訪問數據庫。服務器也可以是重定向服務器,它可以返回被呼叫用戶的位置到呼叫客戶機用以它直接與用戶聯繫。在定位用戶的過程中,SIP網絡服務器當然能夠代理或重定向呼叫到其它的服務器,直到到達一個明確地知道被呼叫用戶IP地址的服務器。

    一旦發現用戶地址,請求就發送給該用戶,此時將產生幾種選擇。在最簡單的情況,用戶電話客戶機接收請求——也就是,用戶的電話振鈴。如果用戶接受呼叫,客戶機用客戶機軟件的指定能力響應請求並且建立連接。如果用戶拒絕呼叫,會話將被重定向到語音郵箱服務器或另一用戶。“指定能力”參照用戶想啓用的功能。例如,客戶機軟件可以支持視頻會議,但用戶只想使用音頻會議,那則只會啓用音頻功能。

    SIP還具有另外兩個有重要意義的特徵。第一個是有狀態SIP代理服務器具有分割入呼叫或複製入呼叫的能力,從而可以同時運行幾個擴展分支。第一個應答的分支接受呼叫。該特徵在用戶工作在兩位置之間(例如實驗室和辦公室)或者同時對經理和其祕書振鈴時是非常便利的。

    第二個特徵是SIP獨特的返回不同媒體類型的能力。舉個用戶聯繫公司的例子。當SIP服務器接收到客戶機的連接請求,它能夠通過WEB交互式語音響應頁面來返回到顧客的客戶機,該頁面具有可獲得的部門分支或提供在列表上的用戶。點擊適當的鏈接後將發送一請求到所點擊選擇的用戶從而建立起呼叫。

    四、SIP消息的組成

    有兩種類型的SIP消息:

    ● 請求:從客戶機發到服務器

    ● 響應:從服務器發到客戶機

    SIP請求消息包含三個元素:請求行、頭、消息體。

    SIP響應消息包含三個元素:狀態行、頭、消息體。

    請求行和頭域根據業務、地址和協議特徵定義了呼叫的本質,消息體獨立於SIP協議並且可包含任何內容。

    SIP定義了下述方法:

    INVITE——邀請用戶加入呼叫。

    BYE——終止一呼叫上的兩個用戶之間的呼叫。

    OPTIONS——請求關於服務器能力的信息。

    ACK——確認客戶機已經接收到對INVITE的最終響應。

    REGISTER——提供地址解析的映射,讓服務器知道其它用戶的位置。

    INFO——用於會話中信令。

    五、結束語

    SIP協議憑藉其簡單、易於擴展、便於實現等諸多優點越來越得到業界的青睞,它正逐步成爲NGN(下一代網絡)和3G多媒體子系統域中的重要協議,並且市場上出現越來越多的支持SIP的客戶端軟件和智能多媒體終端,以及用SIP協議實現的服務器和軟交換設備。雖然SIP協議目前還不成熟,但可以預見SIP必定是將來網絡多媒體通信中的明星。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章