2014/04/30 meeteasy
一、引言
隨著計算機網絡及互聯網的普及,利用網絡來傳送語音及各種多媒體的技術不端發展。目前在國際上,比較 有影響的IP電話方面的協議包括ITU—T提出的H.323協議和IETF提出的SIP協議。H.323和SIP協議都是用于在IP網絡上提供多媒體服務的,使用TCP和UDP會話發 出信號并且使用RTP(實時協議)傳輸語音,視頻流。H.323協議由于使用二進制代碼編寫,協議復雜,可擴展性較差。而SIP是一種基于文本的協議,由于其簡單、易于擴展,目前在NGN(下一代網絡)發展中得到廣泛應用。
SIP協議主要用于發起會話,它定義了會話創建、修改以及終結的過程。所謂的會話,就是指用戶之間的數據交換。在基于SIP協議的應用中,每一個會話可以是各種不同的數據,可以是普通的文本數據,也可以是經過數字化處理的音頻、視頻數據,還可以是諸如游戲等應用的數據,SIP的應用具有巨大的靈活性?;赟IP協議設計的系統由用戶代理和網絡服務器組成。用戶代理包括UAC(用戶代理客戶機),UAS(用戶代理服務器)。網絡服務器包括:代理服務器,重定向服務器,注冊服務器,定位服務器。
二、基于SIP協議的軟交換系統的設計與實現
2.1軟交換系統現狀研究
軟交換是下一代網絡的最主要組成部分,軟交換是一個開放標準的軟件,能夠實現呼叫控制與媒體傳輸分離,它能夠在一個開放式的計算平臺上執行分布式的通信功能,而且擁有傳統的TDM電話交換的功能。軟交換能夠整合語音、數據與圖像,它能在不同的網絡之間如無線與有線系統之間進行協議轉換。軟交換把呼叫控制從媒體網關中分離出來,通過服務器上的軟件實現基本呼叫控制功能,包括呼叫選路、管理控制、連接控制和信令互通。通過采用標準化協議和應用編程接口的開放體系結構,為第三方開發新應用和新業務敞開了大門。
目前,國內外軟交換系統中使用的信令協議主要有H.323和SIP兩種。H.323提出較早,采用的是傳統的電話信令模式,在軟交換市場上得到廣泛的應用。但是,1999年IETF在吸取了H.323在實際應用中的一些失敗經驗后提出了SIP協議。SIP獨立于低層協議,采用自己的應用層可靠性機制來保證消息的可靠傳送。SIP采用分布式的呼叫控制與管理模型,利用已定義的消息頭字段,進行簡單必要的擴充就能支持各項新業務和智能業務,具有很強的靈活性和擴充性。越來越多的軟交換系 統采用SIP協議作為標準,在軟交換系統中,SIP協議用于軟交換與SIP終端、軟交換與應用服務器或軟交換與SIP網絡的互通。
軟交換降低網絡初始成本和運營成本,使網絡具有多種接入能力,其最終目的是實現開放、分布、簡化、扁平的網絡架構,它將使基于電路交換的網絡轉型為基于分組交換的網絡。在電話網向下一代網絡演進的過程中,軟交換已經成為運營商實現網絡演進的重要技術手段。軟交換系統的應用不但推進傳統話音業務的發展,而且還能提供諸如:點對點的視頻通信、集團客戶短號碼業務、個性化鈴聲服務等基于IP的增值業務。軟交換系統在實踐中將得到不斷完善和發展。
2.2 基于SIP協議的軟交換系統的設計
鑒于話音服務在電信業務中的基礎性地位,以下以提供IP話音業務的軟交換系統為例,說明基于SIP協議的軟交換系統的設計方法。
根據建立呼叫連接的機制及媒體傳輸方式,可以將VoIP技術分為以下三種模式:信息集中模式,網狀分散模式,終端混合模式。信息集中模式中媒體服務器與每個UA建立點對點的呼叫連接,并且接收和轉發所有終端的媒體資料流。網狀分散模式與信息集中模式最大的差口是沒有媒體服務器集中處理RTP媒體資料相關信息。而是在兩兩UA之間建立SIP呼叫連接及傳送RTP媒體資料流。終端混合模式的運作方式類似信息集中模式,但不同的是沒有獨立的媒體服務器裝置,而是由呼叫發起方負責執行媒體服務器的工作。
根據上面分析以及RFC3261中關于SIP協議通信流程的定義,以下給出信息集中模式的軟交換系統上實現語音通信的設計方案。該設計的要點是建立媒體服務器來管理、控制媒體流。系統主要包括SIP軟終端(即用戶代理UA),SIP代理服務器,計費服務器,媒體服務器,Web服務器,數據存儲服務器,Gateway落地網關七個類型的功能實體。這七類功能實體共同組成了基于SIP協議的VoIP軟交換系統?;赟IP協議的軟交換系統邏輯拓撲結構如圖1所示:
系統的功能主要是提供基于IP的點對點語音通信、三方通話、呼叫轉移等基礎語音通信功能。同時,本系統提供了增值語音通信接口,為進一步實現豐富的VoIP通信服務提供基礎。下面我們詳細介紹對每個功能實體的具體功能。
·SIP軟終端—一供終端用戶使用,作為VoIP呼叫的 發起方與接收方。
.SIP代理服務器—一提供呼叫控制功能。為完成基本呼叫的建立、維持和釋放提供控制功能,包括呼叫處理、連接控制、智能路由呼叫和資源控制等??梢灾苯优cSIP軟終端進行連接,提供相應業務。
·媒體服務器—一提供媒體網關接入及處理RTP媒體流的功能。負責連接各種媒體網關,如PSTN中繼媒體網關、用戶媒體網關、數據媒體網關等,完成媒體呼叫控制及建立。處理RTP媒體流,提供音視頻編解碼轉換、轉發媒體流等功能??梢杂枚鄠€媒體服務器集群來擴大系統容量,提升系統處理能力。
·計費服務器—一提供認證、授權、計費功能??刂平K 端是否具備呼叫權限、限制終端通話時長等。
·Web服務器—網站服務器。用于高級管理員查系統當前狀況,設置系統參數,SNMP網絡管理,創建、開通、修改、刪除VoIP賬號,為賬號
充值等功能;用于終端賬戶查詢CDR,查詢余額,查詢語音信箱,設置呼叫轉移等。
·數據存儲服務器—一提供終端用戶數據存儲功能。
·Gateway落地網關—一提供VolP與PSTN傳統電話網的互通功能。
2.3軟交換系統中SIP協議的編程實現
基于SIP協議的軟交換系統中,SIP代理服務器與SIP軟終端(uA)之間控制信令的實現是系統實現的關鍵。編程實現信令控制就搭建起了整個系統的框架,系統的業務操作均在此基礎上實現。SIP代理服務器與SIP軟終端(UA)以及媒體服務器之間傳遞的信令控制消息稱為事務(Transaction)。每個Transaction中包括發起者的地址信息,指向的地址信息以及事務操作的類型等。具體結構體定義如下:
struct osip_transaction
{
void*user_instance;/*用戶定義的指針*/
int transactionid;/*內部事務標志*/
osip_fifo_t*transactionff; /*每起事務必須添加進這 個先人先出棧*/
osip_via_t topvia; /*消息頭Ⅵa信息定義,指出經由的地址及端E1)*/
osip from_t*from;/*消息頭From信息定義,指出發起者URL*/
osip_to_t*to; /*消息頭To信息定義,這出指向者URL*/
osip_call-id-t*callid; /*所有由同一客戶發出的事務應含有相同Call—ID*/
osip_cseq_t*cseq; /*具有相同Call—ID的事務的CSeq應該是遞增的*/
osip_message—t*orig_request; /*初始請求*/
osip_message_t*last_response; /*末尾請求*/
osip_message_t*ack; /*ACK請求消息發送*/
state_t state; /*術當前事務處理狀態*/
time_t birth_time; /*事務發起時間*/
time_t completed_time; /*事務結束時間*/
int in_scoket; /*輸入消息的可選的socket*/
int out_scoket;/*輸出消息的可選的socket*/
osip_fsm_type t ctx_type;/*事務類型*/
};
根據osip_transaction結構體的定義,當SIP代理服務 器發起一個會話邀請時就向所有被邀請的SIP用戶代理 (UA)發送一個邀請事務
(INVITE Transaction),實例如下:
…
INVITE sip:UserA@exampleto.eom SIP/2.0
Via:SIP/2.0/UDP examplevia.com:5060
From:UserB
To:UserA
Call-ID:12345678@examplevia.con
CSeq:1 INVITE
…
基于SIP協議的軟交換系統中其它的控制消息與邀請事務(INVITE Transaction)同樣根據osip—transaction結構體定義的形式構造實例,不再贅述。
三、結束語
SIP作為一種基于文本的協議,由于其簡單、易于擴展、便于實現等諸多優點越來越得到通信業界的青睞,正在成為NGN的核心協議之一。本文設計的基于SIP協議實現VoIP業務的軟交換系統是一個面向IP分組交換網絡的實時傳輸音頻、視頻、數據的系統。該系統管理模塊集中化,整個軟交換信令控制均由SIP代理服務器集中處理,這樣便于系統的操作以及維護。同時SIP協議自身的易于擴充性使得該系統能夠方便的在現有基礎上添加新業務,更好的滿足不同用戶對軟交換系統的特殊需求。
40088 411661033743080@qq.com
中國廣東省深圳市南山區西麗九祥嶺工業區10棟3樓