SIP協議

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

SIP(Session Initiation Protocol,會話初始協議)

目錄

什麼是SIP協議

  SIP是由IETF(Internet Engineering Task Force,網際網路工程任務組)制定的多媒體通信協議。它是一個基於文本的應用層控制協議,用於創建、修改和釋放一個或多個參與者的會話。廣泛應用於CS(Circuit Switched,電路交換)、NGN(Next Generation Network,下一代網路)以及IMS(IP Multimedia Subsystem,IP多媒體子系統)的網路中,可以支持並應用於語音、視頻、數據等多媒體業務,同時也可以應用於Presence(呈現)、Instant Message(即時消息)等特色業務。可以說,有IP網路的地方就有SIP協議的存在。

  SIP是類似於HTTP。SIP可以減少應用特別是高級應用的開發時間。由於基於IP協議的SIP利用了IP網路,固定網運營商也會逐漸認識到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:user@company.com)。因為它與EMAIL地址的相似性,SIP URLs容易於用戶的EMAIL地址關聯。

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

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

  ● 用戶定位

  ● 用戶能力

  ● 用戶可用性

  ● 呼叫建立

  ● 呼叫處理

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

本條目對我有幫助8
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Mis铭,刘维燎,苏青荇.

評論(共0條)

提示:評論內容為網友針對條目"SIP協議"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

闽公网安备 35020302032707号