1. 程式人生 > >SIP協議簡介(比較全面)

SIP協議簡介(比較全面)

介紹

  通訊提供商及其合作伙伴和使用者越來越渴求新一代基於 IP 的服務。現在有了 SIP協議(會話啟動協議),一解燃眉之急。SIP協議 是不到十年前在電腦科學實驗室誕生的一個想法。它是第一個適合各種媒體內容而實現多使用者會話的協議,現在已成了 Internet 工程任務組 (IETF) 的規範。

  今天,越來越多的運營商、CLEC(競爭本地運營商)和 ITSP(IP 電話服務商)都在提供基於 SIP協議 的服務,如市話和長途電話技術、線上資訊和即時訊息、IP Centrex/Hosted PBX、語音簡訊、push-to-talk(按鍵通話)、多媒體會議等等。獨立軟體供應商 (ISV) 正在開發新的開發工具,用來為運營商網路構建基於 SIP協議 的應用程式以及 SIP協議 軟體。網路裝置供應商 (NEV) 正在開發支援 SIP協議 信令和服務的硬體。現在,有眾多 IP 電話、使用者代理、網路代理伺服器、VOIP 閘道器、媒體伺服器和應用伺服器都在使用 SIP協議。

  SIP協議 從類似的權威協議--如 Web 超文字傳輸協議 (HTTP) 格式化協議以及簡單郵件傳輸協議 (SMTP) 電子郵件協議--演變而來並且發展成為一個功能強大的新標準。但是,儘管 SIP協議 使用自己獨特的使用者代理和伺服器,它並非自成一體地封閉工作。SIP協議 支援提供融合的多媒體服務,與眾多負責身份驗證、位置資訊、語音質量等的現有協議協同工作。

  本白皮書對 SIP協議 及其作用進行了概括性的介紹。它還介紹了 SIP協議 從實驗室開發到面向市場的過程。本白皮書說明 SIP協議 提供哪些服務以及正在實施哪些促進發展的方案。它還詳細介紹了 SIP協議 與各種協議不同的重要特點並說明如何建立 SIP協議 會話。

新一代的服務

  SIP協議 較為靈活,可擴充套件,而且是開放的。它激發了 Internet 以及固定和移動 IP 網路推出新一代服務的威力。SIP協議 能夠在多臺 PC 和電話上完成網路訊息,模擬 Internet 建立會話。

  與存在已久的國際電信聯盟 (ITU) SS7 標準(用於呼叫建立)和 ITU H.323 視訊協議組合標準不同,SIP協議 獨立工作於底層網路傳輸協議和媒體。它規定一個或多個參與方的終端裝置如何能夠建立、修改和中斷連線,而不論是語音、視訊、資料或基於 Web 的內容。

  SIP協議 大大優於現有的一些協議,如將 PSTN 音訊訊號轉換為 IP 資料包的媒體閘道器控制協議 (MGCP)。因為 MGCP 是封閉的純語音標準,所以通過信令功能對其進行增強比較複雜,有時會導致訊息被破壞或丟棄,從而妨礙提供商增加新的服務。而使用 SIP協議,程式設計人員可以在不影響連線的情況下在訊息中增加少量新資訊。

  例如,SIP協議 服務提供商可以建立包含語音、視訊和聊天內容的全新媒體。如果使用 MGCP、H.323 或 SS7 標準,則提供商必須等待可以支援這種新媒體的協議新版本。而如果使用 SIP協議,儘管閘道器和裝置可能無法識別該媒體,但在兩個大陸上設有分支機構的公司可以實現媒體傳輸。

  而且,因為 SIP協議 的訊息構建方式類似於 HTTP,開發人員能夠更加方便便捷地使用通用的程式語言(如 Java)來建立應用程式。對於等待了數年希望使用 SS7 和高階智慧網路 (AIN) 部署呼叫等待、主叫號碼識別以及其他服務的運營商,現在如果使用 SIP協議,只需數月時間即可實現高階通訊服務的部署。

  這種可擴充套件性已經在越來越多基於 SIP協議 的服務中取得重大成功。Vonage 是針對使用者和小企業使用者的服務提供商。它使用 SIP協議 向用戶提供 20,000 多條數字市話、長話及語音郵件線路。Deltathree 為服務提供商提供 Internet 電話技術產品、服務和基礎設施。它提供了基於 SIP協議 的 PC 至電話解決方案,使 PC 使用者能夠呼叫全球任何一部電話。Denwa Communications 在全球範圍內批發語音服務。它使用 SIP協議 提供 PC 至 PC 及電話至 PC 的主叫號碼識別、語音郵件,以及電話會議、統一通訊、客戶管理、自配置和基於 Web 的個性化服務。

  某些權威人士預計,SIP協議 與 IP 的關係將發展成為類似 SMTP 和 HTTP 與 Internet 的關係,但也有人說它可能標誌著 AIN 的終結。迄今為止,3G 界已經選擇 SIP協議 作為下一代行動網路的會話控制機制。Microsoft 已經選擇 SIP協議 作為其實時通訊策略並在 Microsoft XP、Pocket PC 和 MSN Messenger 中進行了部署。Microsoft 同時宣佈 CE.net 的下一個版本將使用基於 SIP協議 的VoIP 應用介面層,並承諾向用戶 PC 提供基於 SIP協議 的語音和視訊呼叫。

  另外,MCI 正在使用 SIP協議 向 IP 通訊使用者部署高階電話技術服務。使用者將能夠通知主叫方自己是否有空以及首選的通訊方式,如電子郵件、電話或即時訊息。利用線上資訊,使用者還能夠即時建立聊天會話和召開音訊會議。使用 SIP協議 將不斷地實現各種功能。

歷史回顧

  SIP協議 出現於二十世紀九十年代中期,源於哥倫比亞大學計算機系副教授 Henning Schulzrinne 及其研究小組的研究。Schulzrinne 教授除與人共同提出通過 Internet 傳輸實時資料的實時傳輸協議 (RTP) 外,還與人合作編寫了實時流傳輸協議 (RTSP) 標準提案,用於控制音訊視訊內容在 Web 上的流傳輸。

  Schulzrinne 本來打算編寫多方多媒體會話控制 (MMUSIC) 標準。1996 年,他向 IETF 提交了一個草案,其中包含了 SIP協議 的重要內容。1999 年,Shulzrinne 在提交的新標準中刪除了有關媒體內容方面的無關內容。隨後,IETF 釋出了第一個 SIP協議 規範,即 RFC 2543。雖然一些供應商表示了擔憂,認為 H.323 和 MGCP 協議可能會大大危及他們在 SIP協議 服務方面的投資,IETF 繼續進行這項工作,於 2001 年釋出了 SIP協議 規範 RFC 3261。

  RFC 3261 的釋出標誌著 SIP協議 的基礎已經確立。從那時起,已釋出了幾個 RFC 增補版本,充實了安全性和身份驗證等領域的內容。例如,RFC 3262 對臨時響應的可靠性作了規定。RFC 3263 確立了 SIP協議 代理伺服器的定位規則。RFC 3264 提供了提議/應答模型,RFC 3265 確定了具體的事件通知。

  早在 2001 年,供應商就已開始推出基於 SIP協議 的服務。今天,人們對該協議的熱情不斷高漲。Sun Microsystems 的 Java Community Process 等組織正在使用通用的 Java 程式語言定義應用程式設計介面 (API),以便開發商能夠為服務提供商和企業構建 SIP協議 元件和應用程式。最重要的是,越來越多的競爭者正在藉助前途光明的新服務進入 SIP協議 市場。SIP協議 正在成為自 HTTP 和 SMTP 以來最為重要的協議之一。

SIP協議 的優點:類似 Web 的可擴充套件開放通訊

  使用 SIP協議,服務提供商可以隨意選擇標準組件,快速駕馭新技術。不論媒體內容和參與方數量,使用者都可以查詢和聯絡對方。SIP協議 對會話進行協商,以便所有參與方都能夠就會話功能達成一致以及進行修改。它甚至可以新增、刪除或轉移使用者。

  不過,SIP協議不是萬能的。它既不是會話描述協議,也不提供會議控制功能。為了描述訊息內容的負載情況和特點,SIP協議 使用 Internet 的會話描述協議 (SDP) 來描述終端裝置的特點。SIP協議 自身也不提供服務質量 (QoS),它與負責語音質量的資源保留設定協議 (RSVP) 互操作。它還與若干個其他協議進行協作,包括負責定位的輕型目錄訪問協議 (LDAP)、負責身份驗證的遠端身份驗證撥入使用者服務 (RADIUS) 以及負責實時傳輸的 RTP 等多個協議。

SIP協議 規定了以下基本的通訊要求:

1. 使用者定位服務
2. 會話建立
3. 會話參與方管理
4. 特點的有限確定


  SIP協議 的一個重要特點是它不定義要建立的會話的型別,而只定義應該如何管理會話。有了這種靈活性,也就意味著 SIP協議 可以用於眾多應用和服務中,包括互動式遊戲、音樂和視訊點播以及語音、視訊和 Web 會議。

下面是 SIP協議 在新的信令協議中出類拔萃的一些其他特點

SIP協議 訊息是基於文字的,因而易於讀取和除錯。新服務的程式設計更加簡單,對於設計人員而言更加直觀。

SIP協議 如同電子郵件客戶機一樣重用 MIME 型別描述,因此與會話相關的應用程式可以自動啟動。

SIP協議 重用幾個現有的比較成熟的 Internet 服務和協議,如 DNS、RTP、RSVP 等。不必再引入新服務對 SIP協議 基礎設施提供支援,因為該基礎設施很多部分已經到位或現成可用。

對 SIP協議 的擴充易於定義,可由服務提供商在新的應用中新增,不會損壞網路。網路中基於 SIP協議 的舊裝置不會妨礙基於 SIP協議 的新服務。例如,如果舊 SIP協議 實施不支援新的 SIP協議 應用所用的方法/標頭,則會將其忽略。

SIP協議 獨立於傳輸層。因此,底層傳輸可以是採用 ATM 的 IP。SIP協議 使用使用者資料報協議 (UDP) 以及傳輸控制協議 (TCP),將獨立於底層基礎設施的使用者靈活地連線起來。

SIP協議 支援多裝置功能調整和協商。如果服務或會話啟動了視訊和語音,則仍然可以將語音傳輸到不支援視訊的裝置,也可以使用其他裝置功能,如單向視訊流傳輸功能。

SIP協議 會話構成

  SIP協議 會話使用多達四個主要元件:SIP協議 使用者代理、SIP協議 註冊伺服器、SIP協議 代理伺服器和 SIP協議 重定向伺服器。這些系統通過傳輸包括了 SDP 協議(用於定義訊息的內容和特點)的訊息來完成 SIP協議 會話。下面概括性地介紹各個 SIP協議 元件及其在此過程中的作用。

SIP協議 使用者代理 (UA) 是終端使用者裝置,如用於建立和管理 SIP協議 會話的行動電話、多媒體手持裝置、PC、PDA 等。使用者代理客戶機發出訊息。使用者代理伺服器對訊息進行響應。

SIP協議 註冊伺服器是包含域中所有使用者代理的位置的資料庫。在 SIP協議 通訊中,這些伺服器會檢索參與方的 IP 地址和其他相關資訊,並將其傳送到 SIP協議 代理伺服器。

SIP協議 代理伺服器接受 SIP協議 UA 的會話請求並查詢 SIP協議 註冊伺服器,獲取收件方 UA 的地址資訊。然後,它將會話邀請資訊直接轉發給收件方 UA(如果它位於同一域中)或代理伺服器(如果 UA 位於另一域中)。

SIP協議 重定向伺服器允許 SIP協議 代理伺服器將 SIP協議 會話邀請資訊定向到外部域。SIP協議 重定向伺服器可以與 SIP協議 註冊伺服器和 SIP協議 代理伺服器同在一個硬體上。

以下幾個情景說明 SIP協議 元件之間如何進行協調以在同一域和不同域中的 UA 之間建立 SIP協議 會話:

在同一域中建立 SIP協議 會話

  下圖說明了在預訂同一個 ISP 從而使用同一域的兩個使用者之間建立 SIP協議 會話的過程。使用者 A 使用 SIP協議 電話。使用者 B 有一臺 PC,執行支援語音和視訊的軟客戶程式。加電後,兩個使用者都在 ISP 網路中的 SIP協議 代理伺服器上註冊了他們的空閒情況和 IP 地址。使用者 A 發起此呼叫,告訴 SIP協議 代理伺服器要聯絡使用者 B。然後,SIP協議 代理伺服器向 SIP協議 註冊伺服器發出請求,要求提供使用者 B 的 IP 地址,並收到使用者 B 的 IP 地址。SIP協議 代理伺服器轉發使用者 A 與使用者 B 進行通訊的邀請資訊(使用 SDP),包括使用者 A 要使用的媒體。使用者 B 通知 SIP協議 代理伺服器可以接受使用者 A 的邀請,且已做好接收訊息的準備。SIP協議 代理伺服器將此訊息傳達給使用者 A,從而建立 SIP協議 會話。然後,使用者建立一個點到點 RTP 連線,實現使用者間的互動通訊。

                                                    

1.呼叫使用者 B
2.查詢B在哪裡
3.響應B的SIP協議地址
4.呼叫
5. 響應
6. 響應
7. 多媒體通道已建立

在不同的域中建立 SIP協議 會話

  本情景與第一種情景的不同之處如下。使用者 A 邀請正在使用多媒體手持裝置的使用者 B 進行 SIP協議 會話時,域 A 中的 SIP協議 代理伺服器辨別出使用者 B 不在同一域中。然後,SIP協議 代理伺服器在 SIP協議 重定向伺服器上查詢使用者 B 的 IP 地址。SIP協議 重定向伺服器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP協議 重定向伺服器將使用者 B 的聯絡資訊反饋給 SIP協議 代理伺服器,該伺服器再將 SIP協議 會話邀請資訊轉發給域 B 中的 SIP協議 代理伺服器。域 B 中的 SIP協議 代理伺服器將使用者 A 的邀請資訊傳送給使用者 B。使用者 B 再沿邀請資訊經由的同一路徑轉發接受邀請的資訊。
                                              

1. 呼叫使用者 B

2. 詢問重定向伺服器 B的資訊

3. 返回B的資訊

4. 域A代理伺服器呼叫域 B 的 SIP代理伺服器

5. 查詢 B 在哪裡

6. 使用者 B 的地址

7. 代理呼叫

8. 響應

9. 響應

10.響應

11.多媒體通道已建立

無縫、靈活、可擴充套件:展望 SIP協議 未來

  SIP協議 能夠連線使用任何 IP 網路(有線 LAN 和 WAN、公共 Internet 骨幹網、移動 2.5G、3G 和 Wi-Fi)和任何 IP 裝置(電話、PC、PDA、移動手持裝置)的使用者,從而出現了眾多利潤豐厚的新商機,改進了企業和使用者的通訊方式。基於 SIP協議 的應用(如 VOIP、多媒體會議、push-to-talk(按鍵通話)、定位服務、線上資訊和 IM)即使單獨使用,也會為服務提供商、ISV、網路裝置供應商和開發商提供許多新的商機。不過,SIP協議 的根本價值在於它能夠將這些功能組合起來,形成各種更大規模的無縫通訊服務。

  使用 SIP協議,服務提供商及其合作伙伴可以定製和提供基於 SIP協議 的組合服務,使使用者可以在單個通訊會話中使用會議、Web 控制、線上資訊、IM 等服務。實際上,服務提供商可以建立一個滿足多個終端使用者需求的靈活應用程式組合,而不是安裝和支援依賴於終端裝置有限特定功能或型別的單一分散的應用程式。

  通過在單一、開放的標準 SIP協議 應用架構下合併基於 IP 的通訊服務,服務提供商可以大大降低為使用者設計和部署基於 IP 的新的創新性託管服務的成本。它是 SIP協議 可擴充套件性促進本行業和市場發展的強大動力,是我們所有人的希望所在。

相關推薦

SIP協議簡介比較全面

介紹   通訊提供商及其合作伙伴和使用者越來越渴求新一代基於 IP 的服務。現在有了 SIP協議(會話啟動協議),一解燃眉之急。SIP協議 是不到十年前在電腦科學實驗室誕生的一個想法。它是第一個適合各種媒體內容而實現多使用者會話的協議,現在已成了 Internet 工程任

ACM 演算法 階段性練習 比較全面

初期:  一.基本演算法:  (1)列舉. (poj1753,poj2965)  (2)貪心(poj1328,poj2109,poj2586)  (3)遞迴和分治法.  (4)遞推.  (5)構造法.(poj3295)  (6)模擬法.(poj1068,poj2632,poj1573,poj2993,poj2

程序與執行緒總結比較全面

1.程序和執行緒 1.1 概述: 程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的一個獨立單位. 執行緒是程序的一個實體,是CPU排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不

紅外線遙控協議簡介NEC格式

      平常工作中接觸的都是NEC格式的遙控器,這裡也只講NEC格式的。      當按下遙控器的一個按鍵時,會發出一幀的資料,這一幀的資料的組成分別是:引導碼、地址碼、地址碼的反碼、資料碼和資料碼的反碼。當傳送的地址為00h(00000000b),傳送的紅外資料為ADh

Delphi中流的使用比較全面

Delphi 中流的使用(1) 用 TMemoryStream(記憶體流) 入門 前言:所謂"流", 就是一段資料或是一塊記憶體;在進行流操作時, 我們不必關心流中的資料到底是什麼; 只需要知道流的大小和當前的指標位置. 所以流只有兩個屬性: Size、Position.

java的網路程式設計概括比較全面

對java網路程式設計Socket(套接字)介面的使用做詳細的介紹和使用。 原文連結 一.網路程式設計中兩個主要的問題   一個是如何準確的定位網路上一臺或多臺主機,另一個就是找到主機後如何可靠高效的進行資料傳輸。 在TCP/IP協議中IP層主要負責網路主機的定位,資料

工業大資料漫談19:工業大資料資料採集常見的工業協議簡介

4、ProfiBus ProfiBus是德國標準(DIN19245)和歐洲標準(EN50170)的現場匯流排標準。由PROFIBUS--DP、PROFIBUS-FMS、PROFIBUS-PA系列組成。DP用於分散外設間高速資料傳輸,適用於加工自動化領域。FMS適用於紡織、樓

AMQP協議簡介源自官網的翻譯

對AMQP有了更深刻的認識。 AMQP 0-9-1 簡介 AMQP 0-9-1 和 AMQP 模型高階概述 AMQP是什麼 AMQP(高階訊息佇列協議)是一個網路協議。它支援符合要求的客戶端應用(application)和訊息中介軟體代理(messaging mid

maven專案構建比較全面的操作流程

在構建一個maven專案的時候首先你需要你需要檢查以下幾個方面的資訊是否配置好首先你需要有一個eclipse或者是myeclipse,然後將一個svn配置到你的環境中(配置的步驟很簡單一般就是直接把下載的svn的檔案直接放到環境當中,也就是eclipse中的目錄下,網上有好多

delphi文件操作比較

寫入 con sender 類型 close 文本 版本信息 讀取 關於 Delphi中默認有input和output兩個文件變量,使用可以不用定義,直接使用.  但: input:只讀、output:只寫。用時註意以免引起異常. 文件是由文件名標識的一組數據的集合,文件

CLAA協議學習CS方向

這份 運營商 聯盟 一個 設備 http pow 國內 生成 工作上用Lora,需要開發相關模塊,分享一下我學習的內容: Lora: 博主是做IT的,對Lora不了解。簡單理解為LPWAN(Low Power Wide Area Network)中一種技術,目前主要是中

LoadRunner學習---腳本編寫4比較重要

用戶 變量 php roots 正則 ase src bar 分析 LoadRunner學習---腳本編寫(4)(比較重要) 今天接著來翻譯http://www.wilsonmar.com/中關於LoadRunner腳本編寫部分,下面該翻譯腳本編寫中一些比較重要

require的路徑問題比較重要

比較 收錄 設置 例如 term 方法 gis base 加載文件 dojo.baseUrl baseUrl用來存儲dojo.js存放 的跟目錄,例如dojo.js的路徑是“/web/scripts/dojo-1.3/dojo/dojo.js”則baseUrl為“/web

vue-cli簡介中文翻譯

註冊 custom 默認 ebp 不能 元數據 sim tar template vue-cli是一個簡單的vuejs腳手架命令行工具。 安裝 準備:Node.js(>=4.x,推薦6.x版本),npm版本3以上和Git。 $npm install -g vue-c

Dubbo協議 —— dubbo://缺省

都在 accep 大數據 握手 tro 返回值 異常 大數 rect dubbo:// Dubbo 缺省協議采用單一長連接和 NIO 異步通訊,適合於小數據量大並發的服務調用,以及服務消費者機器數遠大於服務提供者機器數的情況。 反之,Dubbo 缺省協議不適合傳送大數據量的

.sh 和 .ksh —— 三種主要的 Shell簡介Korn shell

lena 開發語言 特性 簡介 tex wildcard strong tar 新特性 和現在的開發語言一樣,語法上有些差異!  三種主要的 Shell 與其分身   在大部份的UNIX系統,三種著名且廣被支持的shell 是Bourne shell(AT&T sh

HyperLedger Fabric 1.2 Solo模式簡介10.1

ive 高可用 測試環境 成功 nbsp 高可用性 連接 spa 進行 Solo模式指單節點通信模式,該環境中只有一個排序(orderer)服務,從節點(peer)發送來的消息由一個orderer進行排序和產生區塊;由於排序(orderer)服務只有一個ord

KVM中的網絡簡介qemu-kvm

ifconf 有效 eth1 基於 msi enable 關於 多個 system emu-kvm主要向客戶機提供了如下4種不同模式的網絡: 1)基於網橋(bridge)的虛擬網卡 2)基於NAT(Network Addresss Translation)的虛擬網絡 3)Q

awk簡介使用方法

-- 行號 cor bsp 出行 賦值 pan 類型 strong Awk -F:指定awk按照什麽標誌進行文件的切割,切割成一列一列的。 awk -F “[ :]” ‘{print NR,

zookeeper的選舉機制比較清晰

一、前言   前面學習了Zookeeper服務端的相關細節,其中對於叢集啟動而言,很重要的一部分就是Leader選舉,接著就開始深入學習Leader選舉。 二、Leader選舉   2.1 Leader選舉概述   Leader選舉是保證分散式資料一致性的關鍵所在。當Zookeepe