闡述:SIP協(xié)議是什么
sip協(xié)議是什么?可能剛剛接觸這個協(xié)議的朋友會掌握不好它的定義。那么首先我們要了解一下,目前企業(yè)中大多數(shù)VoIP應用都使用H.323協(xié)議,但是,隨著越來越多的企業(yè)研究SIP協(xié)議,不久的將來基于SIP協(xié)議的VoIP必將迅速發(fā)展.那么在了解sip協(xié)議是什么之前,我們先來看看H.323協(xié)議的定義。
H.323協(xié)議簇
1.1基本概念
H.323是ITU-T第16工作組的建議,H.323由一組協(xié)議構(gòu)成,其中有負責音頻與視頻信號的編碼、解碼和包裝,有負責呼叫信令收發(fā)和控制的信令,還有負責能力交換的信令.1999年7月前,多數(shù)系統(tǒng)是基于H.323第二版的,而在此之后,H.323第三版開始應用.H.323是個框架性的協(xié)議,由系列協(xié)議組成,包括:H.225、H.245、G.711、G.723.1、G.729等.
1.2基本功能
目前我國網(wǎng)上使用的H.323協(xié)議基本上是第二版本的.針對信令方面主要為H.225、H.245.
1.2.1H.225協(xié)議的功能
(1)RAS信令功能:就是采用H.225中的消息在端點和網(wǎng)守之間實現(xiàn)注冊、接入許可、帶寬修改、狀態(tài)和拆除程序.
(2)呼叫信令功能:采用H.225呼叫信令在H.323端點之間建立連接,包括呼叫建立和拆除等流程.
1.2.2H.245協(xié)議的功能
(1)控制功能:H.245控制功能采用H.245控制通路交換端到端控制信息,從而保證H.323實體的運作,其中包括能力交換、打開/關(guān)閉邏輯通路模式選擇、流控消息、一般命令和指示.H.245信令在兩個端點和一個網(wǎng)守之間建立.端點必須為其參與的每個呼叫建立正確的H.245控制通路,這個通路必須使用H.245消息和流程.
(2)H.245的能力交換:指提供獨立的接收和傳送功能.
(3)邏輯通路信令.每個邏輯通路承載從一個發(fā)送方至另一個或多個接收方的信息.
(4)模式選擇.接收方可以使用requestMode消息請求發(fā)送方發(fā)送一個特定模式.
(5)主從決定.主從決定主要是解決沖突問題.
好了,到這里,大家愛應該能夠清楚H.323等一系列協(xié)議的內(nèi)容了,那么這里我們就具體講解一下sip協(xié)議是什么。
SIP協(xié)議
2.1基本概念
SIP(SessionInitiationProtocol,會話發(fā)起協(xié)議)是由IETF提出的IP電話信令協(xié)議.它的主要目的是為了解決IP網(wǎng)中的信令控制,以及同軟交換的通信,從而構(gòu)成下一代的增值業(yè)務(wù)平臺,對電信、銀行、金融等行業(yè)提供更好的增值業(yè)務(wù).其結(jié)構(gòu)圖如圖1所示.
2.2基本功能
SIP的基本功能有5種:用戶定位、用戶能力、用戶可用性、呼叫建立和呼叫處理.
2.3SIP組件
2.3.1體系結(jié)構(gòu)
SIP是基于客戶機/服務(wù)器結(jié)構(gòu)的.基本分為用戶代理和網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
(1)用戶代理:用戶代理客戶端、用戶代理服務(wù)器.
(2)網(wǎng)絡(luò)服務(wù)器:代理服務(wù)器、重定向服務(wù)器、注冊服務(wù)器、位置服務(wù)器.
2.4SIP消息
SIP消息分為兩大類:請求和響應.響應又分為最終響應和臨時響應.
2.4.1請求消息
請求消息分為6種:INVITE、ACK、BYE、CANCEL、REGISTER和OPTIONS.
2.4.2響應消息
響應消息分為6類:1xxInformational(通知)、2xxSuccessful(成功)、3xxRedirection(重定向)、4xx Request Failure(請求失敗)、5xx Server Failure(服務(wù)失敗)、6xx Global Failures(全局錯誤).
2.5SIP操作
SIP操作包括:SIP服務(wù)器定位、SIP事務(wù)、SIP邀請、用戶定位和注冊服務(wù).
2.5.1SIP服務(wù)器定位
客戶在發(fā)起呼叫時,需要將請求發(fā)送到本地配置的獨立于Request-URI的SIP服務(wù)器或者由Request-URI標識的IP地址和端口.
2.5.2SIP事務(wù)
一個SIP事務(wù)存在于一個客戶與一個服務(wù)之間,由所有的(從最初的請求到最后的應答)消息組成.
一個事務(wù)只對應于一個呼叫,由Call-ID標識.所有對于一個請求的應答都包含相同的Call-ID、CSeq、To、From域(或其他包含的值).客戶機與服務(wù)器之間的每一個Call-ID只能有一個未結(jié)束的事務(wù).#p#
2.5.3SIP邀請
SIP會話由INVITE方法發(fā)起,通常情況下,INVITE包括會話描述(一般使用SDP格式),為被叫提供足夠的會話信息;如果被叫同意加入會話,主叫就發(fā)送ACK方法確認呼叫成功;如果被叫拒絕加入會話或產(chǎn)生其他錯誤,主叫則發(fā)送BYE方法指示呼叫失敗.
2.5.4SIP用戶定位
考慮到用戶可以在不同終端移動,SIP提供了定位功能.用戶可以在SIP服務(wù)器或位置服務(wù)器注冊其位置信息,一個用戶可以注冊到不同的位置.位置服務(wù)器可以采用其他協(xié)議.位置服務(wù)器可以解析出零個或多個可能位置,這些位置可以按照成功訪問的概率來存儲.
2.5.5SIP注冊服務(wù)
用戶在發(fā)起會話前,首先應到注冊服務(wù)器注冊.注冊使用REGISTER方法.注冊服務(wù)器通常將用戶注冊的地址信息保存在位置服務(wù)器,這樣使代理服務(wù)器或者重定向服務(wù)器就知道那些地址是可以到達的.注冊信息是隨時刷新的(默認周期是1h),所以用戶每隔一段時間都應主動注冊.注冊服務(wù)一般伴隨其他功能,如提供用戶鑒權(quán)功能,或者通過注冊服務(wù)安裝呼叫處理程序或第三方應用.
2.5.6改變現(xiàn)有會話
當需要改變現(xiàn)有會話參數(shù)的時候,可以通過重發(fā)INVITE來實現(xiàn).重發(fā)INVITE時應該使用相同的Call-ID,但使用新的或不同的消息頭或消息體來傳送新的信息.這條再次發(fā)送INVITE必須比以前的請求擁有高的CSeq.
2.6SIP的注冊服務(wù)與鑒權(quán)
SIP注冊服務(wù)的目的是使SIP客戶機能夠使用SIP服務(wù)器提供的服務(wù),或使之失效.在注冊請求中,客戶機將提供包含在Contact域中的一個或幾個地址給注冊服務(wù)器.這樣代理服務(wù)器就可以使用注冊信息進行IP電話的路由.同時,注冊也可以提供鑒權(quán)服務(wù).如果不提供鑒權(quán)服務(wù),冒名頂替者就可以截聽任何人的電話.
H.323與SIP的比較
首先進行類比的是,SIP的UA等價于一個H.323的終端(或者包交換網(wǎng)絡(luò)側(cè)的網(wǎng)關(guān)),SIP服務(wù)器則等價于H.323的網(wǎng)守.另外,SIP類似H.323中的RAS和Q.931協(xié)議,而SDP則相當于H.245.在IETF的SIP體系結(jié)構(gòu)中,媒體流的承載采用了RTP協(xié)議,這是和H.323一樣的.所以,H.323與IETF的SIP主要的不同在于呼叫信令和控制是如何實現(xiàn)的.
3.1基本呼叫的建立和拆除
H.323第二版的呼叫建立是基于可靠的傳輸協(xié)議,所以呼叫建立需要兩個連接階段:TCP連接和呼叫連接.而在H.323第三版,支持TCP和UDP,它簡化了呼叫建立過程.SIP的呼叫建立類似H.323第三版的處理過程,用INVITE信息包(可建立在UDP上).呼叫拆除的過程與呼叫建立相反,主叫和被叫都能通過RELEASE[COMPLETE](H.323中用)或BYE(SIP中用).
3.2呼叫控制業(yè)務(wù)
SIP和H.323都支持呼叫保持、呼叫轉(zhuǎn)移、呼叫前轉(zhuǎn)、呼叫等待、電話會議和其他補充業(yè)務(wù).以呼叫保持為例:H.323定義了近點呼叫保持和遠點呼叫保持兩種保持業(yè)務(wù)的場景,兩者都可帶網(wǎng)守或不帶.網(wǎng)守僅僅透明地傳送SS-HOLD.而SIP實現(xiàn)同樣的功能,只要向需要呼叫保持的一方發(fā)送一個更改了SDP描述的INVITE命令即可.更改的SDP描述段僅將媒體發(fā)送的目的地址變?yōu)榭?lt;0.0.0.0>,而其他的內(nèi)容不變.收到該用戶的UA,讓呼叫保持,直到有新的INVITE到來為止.
3.3SIP的第三方控制
第三方控制是指不參與會話的第三者具有建立呼叫的能力,這個業(yè)務(wù)特征目前只有SIP具有,由于SIP的這一特性,ITU-T和IETF在實現(xiàn)PINT(IN和因特網(wǎng)互通)業(yè)務(wù)時都采用了SIP協(xié)議.能力交換的就是彼此交流各自對媒體流的處理能力,確定雙方共有的能力,從而確保多媒體信號被雙方接受.H.323采用H.245協(xié)議進行能力交換.SIP使用SDP來進行能力交換,主叫方使用一個OPTION需求去找出被叫,當前,SIP還不如H.245有完整靈活的協(xié)商能力,因為受制于SDP的表達方式.
3.4服務(wù)質(zhì)量
服務(wù)質(zhì)量包含很多不同方面的指標,一個和多媒體流相關(guān)的QoS參數(shù)包括帶寬、最大時延、時延抖動和包丟失率等.本文僅從考察呼叫建立時延和環(huán)路檢測進行比較.
1.呼叫建立時延
H.323第一版在呼叫建立時時延很大.第二版大大改進,而第三版則更好.SIP在呼叫建立時非常類似于H.323第三版,然而,如果UDP呼叫建立失敗,則H.323第三版要好于SIP,H.323第三版幾乎同時建立一個UDP的連接和一個TCP連接,它提供一個有效的機制,如果UDP連接成功則關(guān)閉TCP連接;否則,立刻啟用TCP.SIP是順序地操作UDP和TCP,如果UDP失敗,則會增加呼叫建立時延.對于H.323如果網(wǎng)絡(luò)質(zhì)量比較好的情況下,TCP連接就浪費了.
2.環(huán)路檢測
為防止環(huán)路,H.323定義PathValue域來指出信令信息在丟棄前可達到的最大數(shù)目.問題是定義一個適用的值很關(guān)鍵.其次,網(wǎng)絡(luò)變化后,這個值也要改.SIP采用了via頭字段,檢查其內(nèi)容,如果新端點已出現(xiàn)在via列表中,則表示有環(huán)路了.SIP的方法好于H.323.但是via要占用很多空間.
3.5實現(xiàn)的難易性
H.323信令信息是符合ASN.1的二進制編碼.需要特殊的編解碼器.SIP信息是基于文本的,采用ISO10646以UTF-8編碼.基于文本的編碼很容易用Java、TCL和Perl等語言來實現(xiàn),調(diào)試方便.
總結(jié)
綜上所述,大家都應該知道sip協(xié)議是什么了。SIP協(xié)議由于其簡單、易于擴展、便于實現(xiàn)等諸多優(yōu)點越來越得到通信業(yè)界的青睞,正在成為NGN(下一代網(wǎng)絡(luò))的核心協(xié)議之一,而且SIP協(xié)議已經(jīng)被3GPP工作組定義為第三代移動通信系統(tǒng)的信令協(xié)議以提供IP多媒體服務(wù).雖然SIP協(xié)議目前還不完善,但SIP協(xié)議必將促進未來網(wǎng)絡(luò)通信的迅猛發(fā)展.

















