SIP協議概述

來源:互聯網
上載者:User
SIP協議概述

  摘 要:SIP協議是NGN中的重要協議,越來越得到業界的重視。本文通過SIP協議的背景、功能、網路元素、實現機制、以及SIP訊息的組成等幾個方面對SIP協議做了全方位的概要性介紹,以使讀者對SIP有初步的概念和認識。

關鍵字:SIP NGN Proxy 伺服器

一、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有狀態Proxy 伺服器,SIP無狀態Proxy 伺服器和SIP重新導向伺服器。由於呼叫者未必知道被來電者的IP地址或主機名稱,SIP伺服器的主要功能是提供名字解析和使用者定位。可以獲得的是email形式的地址或與被來電者關聯的電話號碼。使用該資訊,呼叫者的使用者代理程式能夠確定特定伺服器來解析地址資訊--這可能涉及網路中很多伺服器。

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

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

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

三、SIP協議的實現機制

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

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

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

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

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

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

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

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

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

● 使用者定位

● 使用者能力

● 使用者可用性

● 呼叫建立

● 呼叫處理

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

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

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

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

● 終端能力協商

● 呼叫者和被呼叫者鑒權

● 不知情和指導式的來電轉接

● 多播會議的邀請

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

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

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

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

四、SIP訊息的組成
有兩種類型的SIP訊息:

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

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

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

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

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

SIP定義了下述方法:
INVITE——邀請使用者加入呼叫。

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

OPTIONS——請求關於伺服器能力的資訊。

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

REGISTER——提供位址解析的映射,讓伺服器知道其它使用者的位置。

INFO——用於會話中信令。

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.