SIP(會話發起協議)
SIP是相似於HTTP的基於文本的協議。SIP能夠減小應用特別是高級應用的開發時間。因爲基於IP協議的SIP利用了IP網絡,固定網運營商也會逐漸認識到SIP技術對於他們的深遠意義。數據庫
SIP
SIP(Session Initiation Protocol)是一個應用層的信令控制協議。用於建立、修改和釋放一個或多個參與者的會話。這些會話能夠是Internet多媒體會議[1] 、IP電話或多媒體分發。會話的參與者能夠經過組播(multicast)、網狀單播(unicast)或二者的混合體進行通訊。
SIP與負責語音質量的資源預留協議(RSVP) 互操做。它還與若干個其餘協議進行協做,包括負責定位的輕型目錄訪問協議(LDAP)、負責身份驗證的遠程身份驗證撥入用戶服務 (RADIUS) 以及負責實時傳輸的 RTP 等多個協議。
SIP 的一個重要特色是它不定義要創建的會話的類型,而只定義應該如何管理會話。有了這種靈活性,也就意味着SIP能夠用於衆多應用和服務中,包括交互式遊戲、音樂和視頻點播以及語音、視頻和 Web 會議。SIP消息是基於文本的,於是易於讀取和調試。新服務的編程更加簡單,對於設計人員而言更加直觀。SIP如同電子郵件客戶機同樣重用 MIME 類型描述,所以與會話相關的應用程序能夠自動啓動。SIP 重用幾個現有的比較成熟的 Internet 服務和協議,如 DNS、RTP、RSVP 等。沒必要再引入新服務對 SIP 基礎設施提供支持,由於該基礎設施不少部分已經到位或現成可用。
對 SIP 的擴充易於定義,可由服務提供商在新的應用中添加,不會損壞網絡。網絡中基於 SIP 的舊設備不會妨礙基於 SIP 的新服務。例如,若是舊 SIP 實施不支持新的 SIP 應用所用的方法/標頭,則會將其忽略。
SIP 獨立於傳輸層。所以,底層傳輸能夠是採用 ATM 的 IP。SIP 使用用戶數據報協議(UDP) 以及傳輸控制協議(TCP),將獨立於底層基礎設施的用戶靈活地鏈接起來。SIP 支持多設備功能調整和協商。若是服務或會話啓動了視頻和語音,則仍然能夠將語音傳輸到不支持視頻的設備,也可使用其餘設備功能,如單向視頻流傳輸功能。
通訊提供商及其合做夥伴和用戶愈來愈渴求新一代基於 IP 的服務。現在有了 SIP(The Session Initiation Protocol 會話啓動協議),一解燃眉之急。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 較爲靈活,可擴展,並且是開放的。它激發了 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[2] ,只需數月時間便可實現高級通訊服務的部署。
這種可擴展性已經在愈來愈多基於 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 dot net 的下一個版本將使用基於 SIP 的 VoIP 應用接口層,並承諾向用戶 PC 提供基於 SIP 的語音和視頻呼叫。
另外,MCI 正在使用 SIP 向 IP 通訊用戶部署高級電話技術服務。用戶將可以通知主叫方本身是否有空以及首選的通訊方式,如電子郵件、電話或即時消息。利用在線信息,用戶還可以即時創建聊天會話和召開音頻會議。使用 SIP 將不斷地實現各類功能。編程
壓縮機制
SIP 壓縮機制主要是經過改變 SIP 消息的長度來下降時延。典型的 SIP 消息的大小由幾百到幾千字節,爲了適合在窄帶無線信道上傳輸,IMS對SIP進行了擴展,支持SIP消息的壓縮。當無線信道必定時, 一條SIP消息所含幀數 k僅取決於消息大小。從時延模型能夠看出,不只影響 SIP 消息傳輸時延, 還影響SIP重傳的機率, 對自適應的定時器來講,k還成了影響定時器初值的關鍵因素。[3] 瀏覽器
SIP的應用
google 發佈世界上首個開源的Html5 sip 客戶端
HTML5 SIP客戶端是一款開源的,徹底利用JavaScript編寫的集社交(FaceBook,Twitter,Google+),在線遊戲,電子商務等應用於一體。無擴展,無插件或是必備的網關,視頻堆棧技術依賴於WebRTC。如同主頁裏的Demo視頻演示,你能夠輕鬆實現Chrome和IOS/Android移動設備之間的實時視頻/音頻通話。
該客戶端是一項在瀏覽器中可被用來鏈接任意SIP或者IMS網絡進行撥打和接收音頻/視頻通話及即時信息技術。該協議解析器(SIP,SDP...)經過使用Ragel查找表進行了高度優化,很適合硬件(內存和運算能力)受限的嵌入式系統使用。
Html5 sip 客戶端 新特性包括:
支持Audio / Video通話功能;
支持即時信息;
Presence;
呼叫保持/恢復;
顯示呼叫轉移;
支持多個帳號;
雙音多頻信號(DTMF)使用SIIP INFO安全
2歷史回顧服務器
出現時間
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 等多個協議。網絡
通訊要求
1. 用戶定位服務
2. 會話創建
3. 會話參與方管理
4. 特色的有限肯定架構
3會話構成
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 會話編程語言
展望 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 等服務。實際上,服務提供商能夠建立一個知足多個最終用戶需求的靈活應用程序組合,而不是安裝和支持依賴於終端設備有限特定功能或類型的單一分散的應用程序。
經過在單1、開放的標準 SIP 應用架構下合併基於 IP 的通訊服務,服務提供商能夠大大下降爲用戶設計和部署基於 IP 的新的創新性託管服務的成本。它是 SIP 可擴展性促進本行業和市場發展的強大動力,是咱們全部人的但願所在。分佈式
4協議比較
H.323協議和SIP協議的比較ide
簡介
H.323和SIP分別是通訊領域與因特網兩大陣營推出的協議。H.323企圖把IP電話看成是衆所周知的傳統電話,只是傳輸方式發生了改變,由電路交換變成了分組交換。而SIP協議側重於將IP電話做爲因特網上的一個應用,較其它應用(如FTP,E-mail等)增長了信令和QoS的要求,它們支持的 業務基本相同,也都利用RTP做爲媒體傳輸的協議。但H.323是一個相對複雜的協議。
H.323採用基於ASN.1和壓縮編碼規則的二進制方法表示其消息。ASN.1一般須要特殊的代碼生成器來進行詞法和語法分析。而SIP的基於文本的協議,相似於HTTP。基於文本的編碼意味着頭域的含義是一目瞭然的,如From、To、Subject等域名。這種分佈式、幾乎不須要複雜的文檔說明的標準規範風格,其優越性已在過去的實踐中獲得了充分的證實(現在廣爲流行的郵件協議SMTP就是 這樣的一個例子)。SIP的消息體部份採用SDP進行描述,SDP中的每一項格式爲=,也比較簡單。
在支持會議電話方面,H.323因爲由多點控制單元(MCU)集中執行會議控制功能,全部參加會議終端都向MCU發送控制消息,MCU可能會成爲頸,特別是對於具備附加特性的大型會議;而且H.323不支持信令的組播功能,其單功能限制了可擴展性,下降了可靠性。而SIP設計上就爲分佈式的呼叫模型,具備分佈式的組播功能,其組播功能不只便於會議控制,並且簡化了用戶定位、羣組邀請等,而且能節約帶寬。可是H.323的集中控制便於計費,對帶寬的管理也比較簡單、有效。
H.323中定義了專門的協議用於補充業務,如H.450.一、H.450.2和H.450.3等。SIP並未專門定義的協議用於此目的,但它很方便地支持補充業務或智能業務。只要充分利用SIP已定義的頭域(如Contact頭域),並對SIP進行簡單的擴展(如增長几個域),就能夠實現這些業務。例如對於呼叫 轉移,只要在BYE請求消息中添加Contact頭域,加入意欲轉至的第三方地址就能夠實現此業務。對 於經過擴展頭域較難實現的一些智能業務,可在體系結構中增長業務代理,提供一些補充服務或與 智能網設備的接口。
在H.323中,呼叫創建過程涉及到第三條信令信致到:RAS信令信道、呼叫信令信道和H.245控制信道。經過這三條信道的協調才使得H.323的呼叫得以進行,呼叫創建時間很長。在SIP中,會話請求過程和媒體協商過程等一塊兒進行。儘管H.323v2已對呼叫創建過程做了改進,但較之SIP只須要1.5個迴路時延來創建呼叫,還是沒法相比。H.323的呼叫信令通道和H.245控制信道須要可靠的傳 輸協議。而SIP獨立於低層協議,通常使用UDP等沒法鏈接的協議,用本身信用層的可靠性機制來保 證消息的可靠傳輸。
總之,H.323沿用的是傳統的實現電話信令模式,比較成熟,已經出現了很多H.323產品。H.323符合通訊領域傳統的設計思想,進行集中、層次控制,採用H.323協議便於與傳統的電話網相連。SIP協議借鑑了其它因特網的標準和協議的設計思想,在風格上遵循因特網一向堅持的簡練、開放、兼容和可擴展等原則,比較簡單。
如下針對它們的應用目標、標準結構、系統組成以及系統實現的難易程度等幾個方面進行簡單分析。
標準應用目標
h.323標準是itu-t組織 1996年在h.320/h.324的基礎上創建起來的,其應用目標是,在基ip的網絡環境中,實現可靠的面向音視頻和數據的實時應用。現在通過多年的技術發展和標準的不斷完善,h.323已經成爲被廣大的itu成員以及客戶所接受的一個成熟標準族。
sip標準是itef組織在1999年提出的,其應用目標是在基於internet環境,實現數據、音視頻實時通信,特別是經過internet將視頻通信這種應用大衆化,引入到千家萬戶。因爲sip協議相對於h.323而言,相對簡單、自由,廠商可使用相對小的成本就能夠構造知足應用的系統。例如僅僅使用微軟基於sip協議的msn,和rtc就能夠構造一個簡單的,基於internet應用環境的視頻通信環境。這樣網絡運營商就能夠在儘可能少的成本基礎上,利用現有的網絡資源開展視音頻通信業務的擴展工做。
標準體系結構
h.323是一個單一標準,而不是一個關於在ip環境中實時多媒體應用的完整標準族,對於呼叫的創建、管理以及所傳輸媒體格式等各個方面都有完善而嚴格的規定。一個遵照h.323標準創建的多媒體系統,能夠保證明現客戶穩定完善的多媒體通信應用。
sip標準嚴格意義上講是一個實現實時多媒體應用的信令標準,因爲它採用了基於文本的編碼方式,使得它在應用上,特別是點到點的應用環境中,具備極大的靈活性、擴充性以及跨平臺使用的兼容性,這一點使得運營商能夠十分方便的利用現有的網絡環境實現大規模的推廣應用。
可是sip協議自身不支持多點的會議功能以及管理和控制功能,而是要依賴於別的協議實現,影響了系統的完備性,特別是對於須要多點通信的要求,應用單純的sip系統難以實現。針對這些不足,以radvison公司爲首的itu-t sg16小組提出了sip的運用規範,並實現了sip和h.323之間的互通互聯,併成功的解決了sip在多點環境下的應用難題。
系統組成結構
首先,在系統主要組成成員的功能性方面進行類比,sip的ua等價於一個h.323的終端,實現呼叫的發起和接收,並完成所傳輸媒體的編解碼應用;sip代理服務器、重定向服務器以及註冊服務器的功能則等價於h.323的gatekeeper,實現了終端的註冊、呼叫地址的解析以及路由。
其次,雖然在呼叫信令和控制的具體實現上不一樣,但一個基於sip的呼叫流程與h.323的q931相相似,sip所採用的會話描述協議(sdp)則相似於h.323中的呼叫控制協議h.245。
實現難易性
h.323標準的信令信息是採用符合asn.1 per的二進制編碼,而且在鏈接實現全過程都要嚴格標準的定義,系統的自由度小,如要實現大規模的應用,須要對整個網絡的各個環節進行規劃。
sip標準的信令信息是基於文本的,採用符合iso10646的utf-8編碼,而且全系統的構造結構相對靈活,終端和服務器的實現也相對容易成本也較低,從網絡運營商的角度考慮,構造一個大規模視頻通信網絡,採用sip系統的成本要廉價許多,並且也更具備可實現性。
總 結
經過對sip和h.323協議之間進行比較,咱們不難看出,h.323和sip之間不是對立的關係,而是在不一樣應用環境中的相互補充。sip做爲以internet應用爲背景的通信標準,是將視頻通信大衆化,引入千家萬戶的一個有效並具備現實可行性的手段。而h.323系統和sip系統有機結合,又確保了用戶能夠在構造相對廉價靈活的sip視頻系統的基礎上,實現多方會議等多樣化的功能,並可靠的實現sip系統與h.323系統之間的互通,在最大程度上知足用戶對將來實時多媒體通訊的要求。