首頁(yè)>>>技術(shù)>>>交換機(jī)  交換/排隊(duì)機(jī)產(chǎn)品

 

SIP:構(gòu)筑下一代SoftSwitch的協(xié)議

黃偉峰 2001/02/06

 

一、SIP的提出和發(fā)起

SIPSession Initiation Protocol,會(huì)話發(fā)起協(xié)議)是由IETFInterne工程任務(wù)組) 提出的IP電話信令協(xié)議。它的主要目的是為了解決IP網(wǎng)中的信令控制,以及同SoftSwitch的通信,從而構(gòu)成下一代的增值業(yè)務(wù)平臺(tái),對(duì)電信,銀行,金融等行業(yè)提供更好的增值業(yè)務(wù)。其結(jié)構(gòu)圖如下所示。

 

各功能模塊說(shuō)明如下:

使用SIP作為SoftSwitchApplication Server之間的接口,可以實(shí)現(xiàn)呼叫控制的所有功能。同時(shí)SIP已被SoftSwitch接受為通用的接口標(biāo)準(zhǔn),從而可以實(shí)現(xiàn)SoftSwitch之間的互連。

二、SIP的功能和特點(diǎn)

正如其名字所隱含的,SIP用于發(fā)起會(huì)話,它能控制多個(gè)參與者參加的多媒體會(huì)話的建立和終結(jié),并能動(dòng)態(tài)調(diào)整和修改會(huì)話屬性,如會(huì)話帶寬要求、傳輸?shù)拿襟w類型(語(yǔ)音、視頻和數(shù)據(jù)等)、媒體的編解碼格式、對(duì)組播和單播的支持等。

SIP在設(shè)計(jì)上充分考慮了對(duì)其他協(xié)議的擴(kuò)展適應(yīng)性。它支持許多種地址描述和尋址,包括: 用戶名@主機(jī)地址、被叫號(hào)碼@PSTN網(wǎng)關(guān)地址和如Tel010-62281234這樣普通電話號(hào)碼的描述等。這樣,SIP主叫按照被叫地址,就可以識(shí)別出被叫是否在傳統(tǒng)電話網(wǎng)上,然后通過(guò)一個(gè)與傳 統(tǒng)電話網(wǎng)相連的網(wǎng)關(guān)向被叫發(fā)起并建立呼叫。SIP的最強(qiáng)大之處就是用戶定位功能。SIP本身含有向注冊(cè)服務(wù)器注冊(cè)的功能,也可以利用其他定位服務(wù)器如DNSLDAP等提供的定位服務(wù)器來(lái)增強(qiáng)其定位功能。

三.SIP中服務(wù)器的分類和功能

SIP中有客戶機(jī)和服務(wù)器之分?蛻魴C(jī)是指為了向服務(wù)器發(fā)送請(qǐng)求而與服務(wù)器建立連接的應(yīng)用程序。用戶代理(User Agent)和代理(Proxy)中含有客戶機(jī)。服務(wù)器是用于向客戶機(jī)發(fā)來(lái) 的請(qǐng)求提供服務(wù)并回送應(yīng)答的應(yīng)用程序。

共有4類基本服務(wù)器:

用戶終端程序往往需要包括用戶代理客戶機(jī)和用戶代理服務(wù)器。代理服務(wù)器、重定向服務(wù)器 和注冊(cè)服務(wù)器可以看作是公眾性的網(wǎng)絡(luò)服務(wù)器。在SIP中還經(jīng)常提到"定位服務(wù)器"的概念,但是定位服務(wù)器不屬于SIP服務(wù)器。SIP服務(wù)器請(qǐng)求定位服務(wù)的方式也不在SIP的討論范圍之內(nèi)。其在IP網(wǎng)絡(luò)中的實(shí)現(xiàn)如下所示。

SIP獨(dú)立于低層協(xié)議,一般使用UDP等無(wú)連接的協(xié)議,而采用自己的應(yīng)用層可靠性機(jī)制來(lái)保證消息的可靠傳輸。

四、SIP的消息定義和格式

SIP的消息定義完全基于文本的格式。分為消息頭和消息體,其主要有如下幾個(gè)字段。

To

注冊(cè)的目的地址。

From

注冊(cè)的頭地址。如果是第一次注冊(cè),則與目的地址相同。

Content-Type

消息的類型

Content-Length

消息的長(zhǎng)度

Request-URI

注冊(cè)請(qǐng)求的目的地址

Call-ID

所有的來(lái)自一個(gè)客戶機(jī)的注冊(cè)都是用相同的Call-ID

Cseq

以相同Call-Id的注冊(cè)必須擁有遞增的Cseq號(hào)。

五、SIP的方法

SIP主要用以下六個(gè)方法來(lái)實(shí)現(xiàn)對(duì)呼叫的控制。

1INVITE

INVITE方法說(shuō)明一個(gè)用戶或業(yè)務(wù)參加一個(gè)會(huì)話。消息體部分包含了被叫的信息說(shuō)明。對(duì)于雙方呼叫,主叫需說(shuō)明他能接受和發(fā)送的媒質(zhì)類型。示例如下:

INVITE A -> Proxy 1

INVITE sip:UserB@there.com SIP/2.0

Via: SIP/2.0/UDP here.com:5060

From: BigGuy

To: LittleGuy

Call-ID: 12345600@here.com

CSeq: 1 INVITE

Contact: BigGuy

Content-Type: application/sdp

Content-Length: 147

v=0

o=UserA 2890844526 2890844526 IN IP4 here.com

s=Session SDP

c=IN IP4 100.101.102.103

t=0 0

m=audio 49172 RTP/AVP 0

a=rtpmap:0 PCMU/8000

2ACK

ACK方法主要用于確認(rèn)客戶端對(duì)INVITE方法的請(qǐng)求已經(jīng)響應(yīng)。

示例如下:

ACK sip:UserB@there.com SIP/2.0

Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2d4790.1

Via: SIP/2.0/UDP here.com:5060

Route:

From: BigGuy

To: LittleGuy ;tag=314159

Call-ID: 12345601@here.com

CSeq: 1 ACK

Content-Length: 0

 

3BYE

客戶機(jī)用BYE方法向服務(wù)器發(fā)消息來(lái)結(jié)束該呼叫。

示例如下:

BYE sip: UserA@here.com SIP/2.0

Via: SIP/2.0/UDP there.com:5060

Route: .

From: LittleGuy ;tag=314159

To: BigGuy

Call-ID: 12345601@here.com

CSeq: 1 BYE

Content-Length: 0

4CANCEL

CANCEL方法用于取消一個(gè)掛起的呼叫。

示例如下:

CANCEL sip:UserB@there.com SIP/2.0

Via: SIP/2.0/UDP here.com:5060

From: BigGuy

To: LittleGuy

Call-ID: 12345600@here.com

CSeq: 1 CANCEL

Content-Length: 0

5REGISTER

用于向定位服務(wù)器注冊(cè)客戶機(jī)的相關(guān)信息。

6OPTIONS

用于查詢服務(wù)器的相關(guān)信息和功能。

六、狀態(tài)碼的定義

SIP主要定義了如下的五種類型的響應(yīng)狀態(tài)。

1xx: 信息。表示請(qǐng)求已經(jīng)收到,可以繼續(xù)處理請(qǐng)求。

2xx: 正確。表示呼叫已經(jīng)正確的被接受和處理。

3xx: 重定向。表示該呼叫需被重定向處理。

4xx: 客戶機(jī)錯(cuò)誤。表示該消息存在表達(dá)錯(cuò)誤,不能被服務(wù)器處理。

5xx: 服務(wù)器錯(cuò)誤。表示服務(wù)器不能處理該消息。

七. SIP的優(yōu)越性

H.323SIP設(shè)計(jì)之初都是作為多媒體通信的應(yīng)用層控制(信令)協(xié)議,目前一般用于IP電話。它們能實(shí)現(xiàn)的信令功能基本相同,也都利用RTP作為媒體傳輸?shù)膮f(xié)議。但兩者的設(shè)計(jì)風(fēng)格截然不 同,這是由于其推出的兩大陣營(yíng)(電信領(lǐng)域與Internet領(lǐng)域)都想沿襲自己的傳統(tǒng)。H.323是由 國(guó)際電聯(lián)提出來(lái)的,它企圖把IP電話當(dāng)作是眾所周知的傳統(tǒng)電話,只是傳輸方式由電路交換變成了分組交換,就如同模擬傳輸變成數(shù)字傳輸、同軸電纜傳輸變成了光纖傳輸。而SIP側(cè)重于將IP 電話作為Internet上的一個(gè)應(yīng)用,較其他應(yīng)用(如FTP,E-mail等)增加了信令和QoS的要求。H.323推出較早,協(xié)議發(fā)展得比較成熟;由于其采用的是傳統(tǒng)的實(shí)現(xiàn)電話信令的模式,便于與現(xiàn) 有的電話網(wǎng)互通,但相對(duì)復(fù)雜得多。SIP借鑒了其他Internet標(biāo)準(zhǔn)和協(xié)議的設(shè)計(jì)思想,有其突出的優(yōu)點(diǎn)。

1、首先,它是基于文本的協(xié)議,而H.323采用基于ASN.1和壓縮編碼規(guī)則的二進(jìn)制方法表示其消息,因此,SIP對(duì)以文本形式表示的消息的詞法和語(yǔ)法分析就比較簡(jiǎn)單。

2、其次,SIP會(huì)話請(qǐng)求過(guò)程和媒體協(xié)商過(guò)程等是一起進(jìn)行的,因此呼叫建立時(shí)間短,而在H.323中呼叫建立過(guò)程和進(jìn)行媒體參數(shù)等協(xié)商的信令控制過(guò)程是分開(kāi)進(jìn)行的。

3、再次,H.323為實(shí)現(xiàn)補(bǔ)充業(yè)務(wù)定義了專門的協(xié)議,如 H.450.1、H.450.2H.450.3等,而SIP只要充分利用已定義的頭域,必要時(shí)對(duì)頭域進(jìn)行簡(jiǎn)單擴(kuò)展就能很方便地支持補(bǔ)充業(yè)務(wù)或智能業(yè)務(wù)。

4、最后,H.323進(jìn)行集中、層次式控制。盡管集中控制便于管理(如便于計(jì)費(fèi)和帶寬管理等),但是當(dāng)用于控制大型會(huì)議電話時(shí),H.323中執(zhí)行會(huì)議控制 功能的多點(diǎn)控制單元很可能成為瓶頸。而SIP類似于其他的Internet協(xié)議,設(shè)計(jì)上就為分布式的呼叫模型服務(wù)的,具有分布式的組播功能。

在我國(guó)的IP電話領(lǐng)域,采用H.323協(xié)議已是定論。但我們也應(yīng)看到SIP簡(jiǎn)單靈活、分布式控制等優(yōu)點(diǎn)。并且隨著SoftSwitch等技術(shù)的發(fā)展,SIP必將取代H.323,成為IP領(lǐng)域內(nèi)運(yùn)用最廣泛的信令控制協(xié)議。

附錄:一個(gè)完整的SIP運(yùn)用

Basic Call Flow:

Messages 1 to 7 trace successful connected end-to-end call.

PSTN SS#1 SS#3 PSTN

|----IAM----->| | |

1| |-----INVITE----->| |

| | |----IAM----->|

2| |<---100 TRYING---| |

| | |<----ACM-----|

3| |<--180 RINGING---| |

|<----ACM-----| | |

| | |<----ANM-----|

4| |<----200 OK------| |

|<----ANM-----| | |

5| |------ACK------->| |

|=================Conversation================|

|-----REL---->| | |

|<----RLC-----| | |

6| |------BYE------->| |

7| |<----200 OK------| |

| | |-----REL---->|

| | |<----RLC-----|

1: INVITE sip:4081230003@everest SIP/2.0

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 1 INVITE.

Content-Type: Application/sdp.

Content-Length: 123..

v=0.

o=Level3 2580642516 2580642516 IN IP4 gibralter.

s=VoIP Call.

c=IN IP4 192.168.0.94.

t=2580642516 0.

m=audio 3400 RTP/AVP 0.

2: SIP/2.0 100 TRYING

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 1 INVITE.

Content-Type: Application/sdp.

Content-Length: 123..

v=0.

o=Level3 2580642516 2580642516 IN IP4 gibralter.

s=VoIP Call.

c=IN IP4 192.168.0.95.

t=2580642516 0.

m=audio 3400 RTP/AVP 0.

3: SIP/2.0 180 RINGING

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 1 INVITE.

Content-Type: Application/sdp.

Content-Length: 123..

v=0.

o=Level3 2580642516 2580642516 IN IP4 gibralter.

s=VoIP Call.

c=IN IP4 192.168.0.95.

t=2580642516 0.

m=audio 3400 RTP/AVP 0.

4: SIP/2.0 200 OK

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 1 INVITE..

5: ACK sip:4081230003@everest SIP/2.0

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 1 INVITE..

6: BYE sip:4081230003@everest SIP/2.0

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 2 BYE..

7: SIP/2.0 200 OK

Via: SIP/2.0/UDP fujiyama.

From: 4081230001@fujiyama.

To: 4081230003@everest.

Call-ID: LEV55519990720180211264011@fujiyama.

CSeq: 2 BYE..

 

《計(jì)算機(jī)世界》 2001/02/06

 



相關(guān)鏈接:
分析三種非接觸式移動(dòng)支付技術(shù)標(biāo)準(zhǔn) 2009-09-09
PTN技術(shù)的標(biāo)準(zhǔn)進(jìn)展和展望 2009-08-28
M2M模塊兼容構(gòu)建統(tǒng)一技術(shù)標(biāo)準(zhǔn)規(guī)范 2009-08-24
移動(dòng)支付的桎梏:技術(shù)標(biāo)準(zhǔn)不統(tǒng)一 2009-08-13
AVS需變推廣模式 重點(diǎn)鎖定數(shù)字電視應(yīng)用 2009-07-21