sip[會話發起協定]

sip[會話發起協定]

SIP(Session Initiation Protocol,會話初始協定)是由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(Session Initiation Protocol)是一個套用層的信令控制協定。用於創建、修改和釋放一個或多個參與者的會話。這些會話可以是Internet多媒體會議 、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 ,只需數月時間即可實現高級通信服務的部署。

這種可擴展性已經在越來越多基於 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還成了影響定時器初值的關鍵因素。

套用

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

發展歷程

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. 特點的有限確定

會話構成

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通過以下邏輯功能來完成通信:

•用戶定位功能:確定參與通信的終端用戶位置。

•用戶通信能力協商功能:確定參與通信的媒體終端類型和具體參數。

•用戶是否參與互動功能:確定某個終端是否加入某個特定會話中。

•建立呼叫和控制呼叫功能:包括向被叫“振鈴”、確定主叫和被叫的呼叫參數、呼叫重定向、呼叫轉移、終止呼叫等。

以下幾個情景說明 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 連線,實現用戶間的互動通信。

title title

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 再沿邀請信息經由的同一路徑轉發接受邀請的信息。

title title

1. 呼叫用戶 B

2. 詢問B 中的用戶

3. 回響

4. 呼叫域 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 可擴展性促進本行業和市場發展的強大動力,是我們所有人的希望所在。

常用訊息

IP協定的亮點卻不在於它的強大,而是在於:簡單!

SIP協定是一個Client/Sever協定,因此SIP訊息分兩種:請求訊息和回響訊息。請求訊息是SIP客戶端為了激活特定操作而發給伺服器端的訊息。常用的SIP請求訊息如下:

•INVITE:表示主叫用戶發起會話請求,邀請其他用戶加入一個會話。也可以用在呼叫建立後用於更新會話(此時該INVITE又稱為Re-invite)。

•ACK:客戶端向伺服器端證實它已經收到了對INVITE請求的最終回響。

•PRACK:表示對1xx回響訊息的確認請求訊息。

•BYE:表示終止一個已經建立的呼叫。

•CANCEL:表示在收到對請求的最終回響之前取消該請求,對於已完成的請求則無影響。

•REGISTER:表示客戶端向SIP伺服器端註冊列在To欄位中的地址信息。

•OPTIONS:表示查詢被叫的相關信息和功能。

SIP協定中的回響訊息用於對請求訊息進行回響,指示呼叫的成功或失敗狀態。

常用的一些回響訊息:

•100試呼叫(Trying)

•180振鈴(Ringing)

•181呼叫正在前轉(Call is Being Forwarded)

•200成功回響(OK)

•302臨時遷移(Moved Temporarily)

•400錯誤請求(Bad Request)

•401未授權(Unauthorized)

•403禁止(Forbidden)

•404用戶不存在(Not Found)

•408請求逾時(Request Timeout)

•480暫時無人接聽(Temporarily Unavailable)

•486線路忙(Busy Here)

•504伺服器逾時(Server Time-out)

•600全忙(Busy Everywhere)

協定比較

H.323協定和SIP協定的比較

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.1、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系統之間的互通,在最大程度上滿足用戶對未來實時多媒體通信的要求。

相關技術

Java相關技術

開源項目

開源軟體無線電技術對通信的各個行行業業影響頗深,SIP也不例外。GNU Radio 是免費的軟體開發工具套件。它提供信號運行和處理模組,用它可以在易製作的低成本的射頻(RF)硬體和通用微處理器上實現軟體定義無線電。這套套件廣泛用於業餘愛好者,學術機構和商業機構用來研究和構建無線通信系統。GNU Radio 的套用主要是用 Python 程式語言來編寫的。但是其核心信號處理模組是C++在帶浮點運算的微處理器上構建的。因此,開發者能夠簡單快速的構建一個實時、高容量的無線通信系統。儘管其主要功用不是仿真器,GNU Radio 在沒有射頻 RF 硬體部件的境況下支持對預先存儲和(信號發生器)生成的數據進行信號處理的算法的研究。

5Java

在這裡,我只討論與java相關的SIP技術,其實實現SIP的技術有多種,比如CGI.

java為SIP提供了非常好的支持,JCP(Java Community Process)組織推動開發的一套基於Java技術的API:JAIN API(Java API for Integrated Networks),它包含JAIN SIP(JAIN SIP Lite)和SIP Servlet(JSR 116),SIP for J2ME,三個規範.

以下為與java相關的SIP技術:

JAIN SIP API (JSR 32)

SIP Servlet API (JSR 116)

JAIN SIP Lite (JSR 125)

SIP API for J2ME (JSR 180)

JAIN SIMPLE Presence (JSR 164)

JAIN SIMPLE Instant Messaging (JSR 165)

JAIN SDP (JSR 141) SIP描述協定

Java Media Framework for RTP (J2SE可選包,並非JAIN的)

SIP for J2ME:(JSR 180 )

JAIN SIP API主要提供了J2SE平台的SIP協定棧的實現,主要面向桌面的J2SE套用;SIP Servlet API主要為面向服務端的SIP程式提供了一個API規範,如今實現了該規範的套用伺服器有BEA Weblogic SIP Server和Micromethod,還有Jiplet Container,至於如何開發sip servlet,可參見參考資料.SIP for J2ME主要為面向手機的CLDC設備的J2ME客戶端.它們之間的差別在參考資料[6]中講解得很詳細.

其它Java相關技術:

jiplet: 一個支持sip servlet的套用伺服器

nist-sip SIP Libraries and Tools

JAIN Service Logic Execution Environment (SLEE)

熱門詞條