2014/05/12 Tang
一、引言
隨著Intemet在全世界的發展,Internet在各個國家的普及率已經與日俱增,幾乎每個家庭都可以通過包月的不限流量的方式來接入Internet,因此對于Internet的費用是很低的,人們都希望能夠利用這個費用低廉的網絡進行一些傳統的服務,比如電話,傳真,電郵等。尤其是那些費用較高的傳統服務。1995年2月以色列UocalTec公司研制了可以通過Intemet打長途電話的軟件產品。用戶在接入Internet的PC上運行這個軟件,就可以和其他接入Internet并且安裝有這個軟件的PC進行通話,這就是最早的IP電話。隨著技術的進步,人們已經不滿足于通過電腦這個多媒體的機器來實現通話這個簡單的功能,人們想把Ip電話的功能分立出來研制一個單獨的設備,這就是本文要進行的研究。
二、IP電話的原理及涉及的技術
通過Internet進行語音傳送是一個復雜的系統工程,它用到的最根本的技術是VoIP技術,其原理是:利用語音壓縮算法對語音信號進行壓縮編碼處理,然后把這樣壓縮的語音數據按所應用的協議進行打包,經過Intrenet,按照IP地址傳輸接收地,再根據協議將這些數據解析出來,按照順序連接,解壓縮,解碼,最后恢復出原來的語音信號,這樣我們就達到了由Intrenet按照IP地址傳輸語音的目的。(圖1)在這個傳輸的工程中,可以分為以下幾個階段:語音信號的模擬數字轉換;數據的壓縮;數據的打包封裝;傳送;數據包的解析;數據的解壓縮;數據的數字到模擬信號的轉換。
三、IP電話采用的信令
信令技術是用以創建,修改,結束一個或者多個參與者參加會話的進程,目的是實現一個完整的呼叫過程,其中包含:呼叫請求,呼叫等待,同意通話,結束通話,暫停通話,改變呼叫對象等控制信號。
(一)SIP信令的概念。會話初始化協議,或稱SIP(SesmonInitiation Protocol),是一個應用層的通訊協議,可以使用UDP或TCP作為其傳輸協議,它使用戶的通訊系統更為開放、更好地連接、更方便使用、更多選擇和更為個性化。它是正在由互聯網協議和HTTP背后的全球非贏利機構—— 國際互聯網標準制定組織IETF進行升級的標準。IETF對SIP進行標準化,以支持多傳送的應用。因為SIP使用簡便,功能強大,分布廣泛,它在整個IETF內的使用者中迅速得到了認同。SIP是文本格式的客戶——服務器協議,客戶機發起請求,服務器進行響應,它非常類似于SMTP和HTTP協議。近年來,SIP協議的發展勢頭越來越強勁,也獲得了越來越多的支持。Microsoft已公開宣布將在Windows系統中支持SIP信令協議。SIP主要提供了與會話建立和終結相關的五個方面功能,它們是:①用戶定位:用于通信的終端系統的決定;②用戶可用性:被呼叫方參與通信的意愿的決定;③用戶能力:使用的媒體和媒體參數的決定;④會話建立:“振鈴”,呼叫和被呼叫方會話參數的建立;⑤會話管理:包括轉移和終結會話,修改會話參數,以及調用業務等。
(二)SIP協議的特征。SIP作為一個廣義的電話信令協議,具有以下幾個主要特征:
1、SIP可以發起會話,也可以邀請用戶加入以其他方式(如SAP、LDAP等)發布或建立的會話;通過SDP協議,SIP可以在呼叫發起和呼叫進行過程對會話參數進行協商,如會話帶寬要求、傳輸的媒體類型(語音、視頻和數據等)、媒體的編解碼格式、對組播和單播的支持等。SIP可以提供呼叫控制功能,如呼叫保持、呼叫路由、呼叫轉移、媒體轉換等。
2、SIP也可以支持多播會話,,也可以支持多播會話。
3、SIP與網絡協議獨立,即與底層協議無關。SIP可以在不同的傳輸層協議上工作,如TCP或UDP。當使用UDP的時候,SIP可以更好的支持多播會話;當使用TCP的時候,SIP可以更容易的穿透防火墻。
4、SIP支持很多其他協議,如RSVP、RTP和RTCP、RTSP、SAP、SDP等,但SIP的功能和操作不取決于以上任何協議。
5、SIP是基于文本的協議,簡單靈活,可擴展性好;SIP采用Client/Serve的體系結構,在很大程度上繼承了HTTP和SMTP協議的特征。
6、SIP協議是無狀態的,服務器可以保持也可以不保持呼叫狀態。
7、SIP透明支持名字映射和重定向服務,可以實現ISDN和IN電話用戶服務;通過網關,SIP可以實現PSTN電話之間的呼叫。
8、SIP支持用戶的移動性和移動業務。
(三)SIP信令的呼叫方式。
SIP協議支持三種呼叫方式:
1、由用戶代理服務機(UAC)向用戶代理服務器(UAS)直接呼叫。
2、由代理服務器代表UAC向被叫發起呼叫。
3、由UAC在重定向服務器的輔助下進行重定向呼叫。
四、嵌入式IP電話的初步設計
1、嵌入式IP電話的硬件系統設計。在初步方案中我們使用的是S3C4510B開發板和Clinux的操作系統,由于聲音的處理需要耗費較大的資源,為了使整個系統能夠更加穩定的運行,不影響這個系統的實時性,我們采用一個專用的DSP來專門處理聲音流。DSP是數據密集處理型芯片,由于其特殊的結構、專門的硬件乘法器和特殊的指令,使其能快速地實現各種數字信號處理及滿足各種高實時性要求?;谏鲜龇治?,設計上采用了基于AMR和DSP芯片的雙核嵌入式系統。不僅充分利用了ARM和DSP的各自特點,使ARM和DSP芯片進行協同工作,而且盡可能地保證ARM對信令的及時反應和對媒體流的及時發送和接收,對媒體流數據編碼解碼的及時處理。在價格方面也相當具有優勢,可以說是一種理想的IP電話實現方案。
2、嵌入式IP電話軟件的設計。IP電話的應用程序結構如圖2所示,SIPUA是整個程序的總邏輯,它的邏輯就是IP電話的控制邏輯,控制著信令的接收和發送,控制著SDP協商參數,控制著媒體流的建立,同時也控制著液晶,鍵盤,振鈴,開關等外圍設備。OSIP是SIP協議的功能函數,類似于API函數,通過被SIPUA邏輯調用可以形成SIP信令,解析SIP信令,解析SIP狀態機等功能,是構成SIP信令的核心代碼軟件。oSIP協議調用底層TCP/IP協議\棧完成信令的發送和接收。uClinux操作系統屏蔽了底層硬件,給TCP/IP協議棧和上層應用作支撐。SIPUA在信令協商成功之后,就要調用ORTP協議程序來建立媒體流通話程序。建立媒體流的時候需要知道的參數有以下幾個方面:被叫的用戶名字,網絡類型,對方機器的IP地址,媒體的類型,端口號,凈荷類型以及媒體編碼方式等等信息。這些信息經過信令協商成功之后,被SIPUA邏輯保存,在建立媒體流的時候,這些參數構成了媒體流的特征。RTP調用的時候,使用了保證傳輸質量,避免延時抖動的進程調度控制,調度控制初始化RTP協議進行語音的發送或者接收。RTP協議同樣需TCP~P和uClinux操作系統的支撐。同時RTP進行語音的采集和播放功能,編解碼功能也是在DSP上完成的,因為DSP上對數字信號處理的速度相對比較快一些。SIPUA是在Josua基礎上經過修改形成的適合于嵌入式的用戶邏輯,jos.a是一個開源的調用oSIP協議棧的用戶邏輯軟件,用于發送和接收信令,它調用oSIP來實現SIP信令的相關功能。
五、結束語
本文描述了一個基于SIP協議的IP電話的設計方法。結果表明。本文設計實現的IP軟電話完成了設計所要求的功能。本軟電話的設計,對于在Linux下開發支持SIP的軟件是一個良好的借鑒,具有比較實際的意義。
40088 411661033743080@qq.com
中國廣東省深圳市南山區西麗九祥嶺工業區10棟3樓