複製鏈接
請複製以下鏈接發送給好友

會話發起協議

鎖定
會話發起協議SIP,使用H.323建議可以使各種不同的產品進行互操作,它已經被一些廠商採用。但是H.323建議過於複雜,因此IETF制定了另一套較為簡單的標準,即會話發起協議SIP(Session Initiation Protocol),它使用了HTTP的 許多頭部、編碼規則及一些鑑別機制,同時也和RTP和RTCP協議結合起來,提供與H.323類似的服務,並具有更強的可擴展性。

會話發起協議1.SIP概述

SIP(Session Initiation Protocol,會話發起協議)是由IETF 提 出的IP電話信令協議。SIP用於發起會話,能控制多個參與者參加的多媒體會話的建立和終結,並能動態調整和修改會話屬性,如會話帶寬要求、傳輸的媒體類型(語音、視頻和數據等)、媒體的編解碼格式、對多播和單播的支持等。

會話發起協議2.SIP的特點

(1)協議格式:SIP借鑑了超文本傳輸協議(HTTP)的設計思路和體系結構,使用了許多HTTP的消息類型和報頭域,用實體(內容類型的描述)標識信息流的內容,並且考慮認證、授權,所使用的認證、授權方法類同於Web中所使用的認證、授權方法。而H.323採用基於ASN.1和壓縮編碼規則的二進制方法表示其消息,因此,SIP更易於閲讀和調試。
(2)協議的擴展性:SIP在設計上充分考慮了對其他協議的擴展適應性,支持許多種地址描述和尋址,包括用户名@主機地址、被叫號碼@PSTN網關地址和如Tel:020-62581234這樣普通電話號碼的描述等。這樣,SIP主叫按照被叫地址,就可以識別出被叫是否在PSTN上,然後通過一個與PSTN相連的網關向被叫發起並建立呼叫。
(3)用户定位:SIP的最強大之處就是通過統一資源定位符(URL)來實現用户定位功能。SIP的URL甚至可以被嵌入到Web頁或其他超文本鏈路中,用户只需用鼠標一點即可發出一個呼叫,這樣就使得音頻和視頻的應用與其他多媒體的應用綜合變得簡單。而且SIP本身含有向註冊服務器註冊的功能,也可以利用其他定位服務器如DNS、LDAP等提供的定位服務器來增強其定位功能。
(4)呼叫建立:SIP會話請求過程和媒體協商過程等是一起進行的,因此呼叫建立時間短,而在H.323中呼叫建立過程和進行媒體參數等協商的信令控制過程是分開進行的。這種快速呼叫建立機制可以通過消息數目比較得出:H.323在建立媒體信道前,需要建立H.225初始化消息和H.245控制通道以及相關的確認消息,控制協議非常繁瑣。利用SIP建立媒體信道的效率很高——被叫到主叫的媒體通道在一個往返中就能建立,而且被叫媒體通道可以在一個半往返時間內建立。
(5)補充功能的擴充:H.323為實現補充業務定義了專門的協議,如 H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定義的頭域,必要時對頭域進行簡單擴展就能很方便地支持補充業務或智能業務。
(6)多點傳送:H.323不支持多點發送(Multicast)協議,只能採用多點控制單元(MCU)構成多點會議,因而同時只能支持有限的多點用户。SIP本身就是由IETF MMUSIC(Multiparty Multimedia Session Control,多方多媒體會話控制)工作組制定的,所以支持多點協議是它無可厚非的優勢。會話參加者和媒體種類可以隨時加入一個已存在的會議。

會話發起協議3.SIP的描述語法

SIP使用的SDP(Session Description Protocol)會話描述協議是IETF制定的一個標準。SDP的基本目的是為傳送消息定義標準的語法,如UDP目的端口、使用的音頻或視頻的編碼標準、活動時間表、會話的名稱/簡短描述等。它用於傳輸類似於H.245協議中容量交換機制的協議信息。例如在呼叫中,SDP可被用於傳輸交換過程中的編解碼標識。SDP也被用來實時信息協議(RTSP)的消息。
SDP是種易讀的文本協議,由幾個<TYPE>=<VALUE>行組成,每行用CRLF結束。與H.323 ASN.1那樣的二進制編碼不同,它是犧牲帶寬來方便編程和調試的。但是在實際運用過程中,這種專業性不強便於多方參與的描述協議更容易被用户方所接受。

會話發起協議4.SIP的實體

SIP的設計思路建立在主機間按對等層(Peer-to-Peer)原則的會話上,SIP定義了可選用的SIP服務器,用來取代複雜的H.323尋址過程以縮短呼叫建立時間。SIP採用的模式是非常適於在Web環境中使用客户機/服務器(Client/Serve)操作型類型。客户機是指為了向服務器發送請求而與服務器建立連接的應 用程序。用户代理(User Agent)和代理(Proxy)中含有客户機。服務器是用於向客户機發來的請求提供服務並回送應答的應用程序。共有4類基本服務器。
(1)用户代理服務器:當接到SIP請求時聯繫用户,並代表用户返回響應。
(2)代理服務器:可以一邊作為一個服務器接受請求,一邊作為一個客户端發送請求。代理服務器能夠將請求不加任何改變地轉發到最終目的地,也能在請求通過的時候過濾原請求消息中的內容。
(3)重走向服務器:接收SIP請求,把請求中的原地址映射成零個或多個新地址,返回給客户機。
(4)註冊服務器:接收客户機的註冊請求,完成用户地址的註冊。它工作的實質就是完成用户SIP地址到IP地址的映射。
用户終端程序往往需要包括用户代理客户機和用户代理服務器。代理服務器、重定向服務器和註冊服務器可以看作是公眾性的網絡服務器。在SIP中還經常提到“定位服務器”的概念,但是定位服務器不屬於SIP服務器。SIP服務器請求定位服務的方式也不在SIP的討論範圍之內。

會話發起協議5.SIP呼叫概要

(1)呼叫建立:SIP端點通過使用UDP或TCP信令發送邀請消息(invite)呼叫另一個SIP端點。邀請消息通常包含足夠的信息使被叫終端能立刻建立與主叫端點之間被請求的媒體連接。這些信息包括主叫端點能夠支持的媒體性能,以及主叫端點希望被叫端發送媒體數據的傳送地址。
(2)編解碼協商:當被叫端不接受主叫端編解碼方式時,會送附有協商失敗的原因和提議使用方式的消息;主叫端可以通過網絡中代理服務器重新發起一個邀請消息,經代理服務器轉換後滿足被叫端編解碼的要求。
(3)通話過程:雙方在已知的端口地址上傳送媒體信息。需要指出的是,SIP 沒有像H.323所定義的邏輯通道的概念。當一個客户提議在幾個UDP或TCP端口上接收幾種類型的媒體時,它必須立即準備好在其中任何一個端口上接收媒體。
(4)終止呼叫:當任何一方要求終止呼叫時,它應該向另一方發送一個結束請求(bye),經確認後整個呼叫就徹底完成。
SIP尚在開發試驗階段,不像H.323那樣已被廣泛接受,但已有不少廠家(如3Com、思科、北電網絡等)在積極開發中,今後的發展趨勢是SIP或H.323與MGCP配合使用。