首頁(yè)>>>技術(shù)>>>VoIP

GPRS網(wǎng)絡(luò )的附加業(yè)務(wù):VoIP over GPRS

2008/04/07

  導言

  近年來(lái),IP語(yǔ)音(VoIP)變得越來(lái)越普及。與傳統的匯接解決方案相比,VoIP能夠降低初始部署成本和長(cháng)途費用。互聯(lián)網(wǎng)工程任務(wù)組(IETF)制定的會(huì )話(huà)發(fā)起協(xié)議(SIP)是使用最廣泛的信令協(xié)議之一,該協(xié)議凝聚了互聯(lián)網(wǎng)行業(yè)的很大努力,適用于互聯(lián)網(wǎng)會(huì )議、電話(huà)、在線(xiàn)狀態(tài)、事件通知和即時(shí)信息處理。過(guò)去,人們無(wú)法以合理的低成本來(lái)實(shí)施這些附加功能,但現在使用會(huì )話(huà)發(fā)起協(xié)議(SIP),只需向對方發(fā)送一些數據包,然后建立一個(gè)具有所需功能的會(huì )話(huà),即可實(shí)現這些功能。因而,相對于傳統電話(huà)網(wǎng)絡(luò )來(lái)說(shuō),VoIP具備了一些優(yōu)勢。

  接下來(lái),人們可能會(huì )提出如何連接互聯(lián)網(wǎng)的問(wèn)題。無(wú)線(xiàn)局域網(wǎng)(WLAN)是一種可行方法。無(wú)線(xiàn)局域網(wǎng)提供了一定的移動(dòng)性,用戶(hù)能在WLAN接入點(diǎn)的附近區域內移動(dòng),從而實(shí)現VoIP over WiFi應用。但是,由于WLAN屬于局域網(wǎng),只限于室內應用,一旦用戶(hù)離開(kāi)接入點(diǎn)的覆蓋范圍,VoIP呼叫就會(huì )掉線(xiàn)。盡管GSM和VoIP之間可以切換,但這些機制和協(xié)議又增加了額外成本。

  WiMax 和 GPRS 是提供移動(dòng)性的兩種可能解決方案。WiMax是城域網(wǎng),覆蓋范圍長(cháng)達數英里。但是,它需要引入802.16e標準,才能支持移動(dòng)。雖然與GPRS相比,WiMax的數據速率快得多,但它目前仍然是一種正在演進(jìn)的技術(shù),尚未確定最終標準。幾家公司提供的現有芯片組沒(méi)有遵循一定的標準,因而無(wú)法進(jìn)行互操作。此外,這種芯片組的成本也比較高。因此,VoIP over WiMax可能是未來(lái)的發(fā)展趨勢,但就目前而言,這種技術(shù)還沒(méi)有推廣。

  相反,GPRS現在已經(jīng)成為最常見(jiàn)的無(wú)線(xiàn)數據業(yè)務(wù),在幾乎所有GSM網(wǎng)絡(luò )上部署。它通過(guò)互聯(lián)網(wǎng)協(xié)議(IP)接入互聯(lián)網(wǎng)網(wǎng)關(guān)。其吞吐速率高達40KB/秒,用戶(hù)可以獲得適當的接入速率,能夠非常便利地從任何地方連接到互聯(lián)網(wǎng)。目前,全球有1/5以上的人口使用GSM技術(shù),截至2006年3月中旬,GSM用戶(hù)人數超過(guò)17億,占據全球手機市場(chǎng)的77%左右。GSM的滲透率如此之高,使得GPRS成為連接互聯(lián)網(wǎng)、提供VoIP業(yè)務(wù)的合適物理移動(dòng)媒介。

  早期模擬表明,在GSM網(wǎng)絡(luò )中,VoIP over GPRS比電路切換語(yǔ)音的容量更大。在本文中,我們將重點(diǎn)介紹VoIP over GPRS在運行實(shí)時(shí)操作系統(RTOS)的低成本GSM移動(dòng)電話(huà)上的實(shí)施。我們還將介紹VoIP over GPRS的系統和架構,以及它的設計局限。接下來(lái),我們將介紹在飛思卡爾i.250 2.5G 平臺上實(shí)施的概念驗證原型。

  概況

  IP語(yǔ)音(VoIP)是利用IP網(wǎng)絡(luò )來(lái)傳送語(yǔ)音信息的一系列新技術(shù)。在發(fā)送端,語(yǔ)音首先進(jìn)行數字化、壓縮、打包,然后通過(guò)IP網(wǎng)絡(luò ),將這些數據包發(fā)送到目的地。一旦在遠端收到這些語(yǔ)音數據包,它們就會(huì )被記錄、解壓,然后重新生成語(yǔ)音。由于IP網(wǎng)絡(luò )的帶寬遠高于傳統的固話(huà)匯接網(wǎng)絡(luò ),VoIP的呼叫費用也遠低于傳統呼叫。然而,IP網(wǎng)絡(luò )最初設計用于傳輸非實(shí)時(shí)數據,因此,對于VoIP而言,如何實(shí)時(shí)傳輸語(yǔ)音服務(wù),確保語(yǔ)音服務(wù)質(zhì)量就成為一種挑戰。隨著(zhù)IP技術(shù)和寬帶互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展,這些問(wèn)題已經(jīng)部分地得到解決,VoIP進(jìn)入實(shí)際應用階段。ITU(國際電信聯(lián)盟)和IETF(互聯(lián)網(wǎng)工程任務(wù)組)是制定VoIP協(xié)議的兩個(gè)主要標準機構,負責確保VoIP的更好質(zhì)量和互操作性。

  與非實(shí)時(shí)通信不同,VoIP要求對等方在實(shí)際語(yǔ)音傳輸之前建立會(huì )話(huà)。會(huì )話(huà)的功能包括:位置搜索、功能協(xié)調、呼叫建立和資源預留等。當前,人們單獨使用 H.323 (ITU) 和SIP (IETF)來(lái)實(shí)施呼叫控制功能。就簡(jiǎn)單性而言,SIP優(yōu)于H.323,因此這個(gè)VoIP項目選擇了SIP。

  圖1顯示了典型的VoIP協(xié)議堆棧。呼叫控制協(xié)議包括兩個(gè)選項:H.323 和SIP。H.323只能通過(guò)TCP接入IP網(wǎng)絡(luò ),而SIP可以同時(shí)通過(guò)TCP或UDP接入IP網(wǎng)絡(luò )。綠色方塊表示支持實(shí)時(shí)語(yǔ)音會(huì )話(huà)的媒介引擎和IP協(xié)議。黃色方塊表示用于數據包傳輸的MAC/PHY層。我們的重點(diǎn)將放在 SIP、 RTP、 RTCP、 UDP、 TCP、 IP和 GPRS上。



  會(huì )話(huà)發(fā)起協(xié)議(SIP)是一種信令協(xié)議,用于初始化、管理和終止分組網(wǎng)絡(luò )之間的語(yǔ)音和視頻會(huì )話(huà)。與HTTP 或SMTP類(lèi)似,SIP也屬于文本編碼,具有很強的可擴展性。SIP能夠進(jìn)行擴展,以支持各種功能和服務(wù),例如移動(dòng)服務(wù)、與現有電話(huà)系統的互操作。SIP網(wǎng)絡(luò )包括5類(lèi)邏輯實(shí)體。每類(lèi)實(shí)體都具有特定功能,作為客戶(hù)端(發(fā)起請求)或服務(wù)器(響應請求)參與SIP通信,或者同時(shí)以?xún)煞N身份參與通信。這5類(lèi)實(shí)體是:用戶(hù)代理、代理服務(wù)器、重定向服務(wù)器、注冊服務(wù)器和背靠背用戶(hù)代理(B2BUA)。VoIP電話(huà)應該是用戶(hù)代理,因為它是端點(diǎn)實(shí)體。

  注意,在呼叫過(guò)程中,SIP不參與語(yǔ)音/視頻編碼/解碼,而只是為語(yǔ)音/視頻談話(huà)建立/終止一次會(huì )話(huà)。一旦建立會(huì )話(huà),語(yǔ)音就由適當類(lèi)型的編解碼器(如GSM AMR)進(jìn)行編碼,然后在RTP/UDP/IP中打包。在這里,RTP代表Real Time Protocol(實(shí)時(shí)協(xié)議),UDP代表User Datagram Protocol(用戶(hù)數據報協(xié)議),IP代表Internet Protocol(互聯(lián)網(wǎng)協(xié)議)。如需了解更多信息,請咨詢(xún)IETF。

  該協(xié)議的公布名稱(chēng)為RFC3261。所有SIP消息分為3個(gè)部分:   所有SIP消息的開(kāi)頭都是起始行。起始行說(shuō)明了消息類(lèi)型(在請求情況下,消息為方法類(lèi)型,在響應情況下,消息為響應代碼)和協(xié)議版本。報頭字段包含了信息屬性,這些屬性可以提供更多信息。報頭的格式為::。報頭可以橫跨多行。一些SIP報頭,例如Via、Contact、 Route 和 Record Route可能在一條消息中出現多次,或者也可能在一個(gè)報頭中提供多個(gè)值,以逗號分隔。

  消息本體用于描述將要發(fā)起的會(huì )話(huà),它可能出現在請求和響應消息中。

  一旦在網(wǎng)絡(luò )上建立會(huì )話(huà),實(shí)時(shí)語(yǔ)音數據就會(huì )通過(guò)RTP/RTCP、UDP 和 IP發(fā)送。 這些協(xié)議分別在RFC 3550、768和 791 中進(jìn)行了定義。

  RFC 3550指定了為具有實(shí)時(shí)特征的數據(例如互動(dòng)音頻和視頻)提供端到端傳送服務(wù)的實(shí)時(shí)傳輸協(xié)議(RTP)。這些服務(wù)包括:凈負荷類(lèi)型識別、順序編號、時(shí)間戳和傳送監控。這些應用通常在UDP的頂層上運行RTP,以利用它的多路復用和校驗和服務(wù)。注意,RTP本身不提供任何機制來(lái)確保實(shí)時(shí)傳送,也不提供其它服務(wù)質(zhì)量保證,而是依靠較低層的服務(wù)來(lái)實(shí)現這些目標。它不能保證傳送和防止無(wú)序傳送,也不能確保底層是可靠的,能夠按照順序傳送數據包。根據RTP中包含的序列號,接收方能夠重建發(fā)送者的數據包順序。

  RFC3550還規定,RTP控制協(xié)議(RTCP)應該監控服務(wù)質(zhì)量,并傳輸關(guān)于當前會(huì )話(huà)參與者的信息。

  UDP (RFC768) 代表用戶(hù)數據報協(xié)議(User Datagram Protocol),假定使用互聯(lián)網(wǎng)協(xié)議作為底層協(xié)議。該協(xié)議為應用程序提供了一個(gè)將消息傳送到其它程序的流程,只需很少的協(xié)議機制。該協(xié)議是面向事務(wù)處理的,不保證提供傳送和復制保護。如果應用需要可靠、有序的數據流傳送,應使用傳輸控制協(xié)議(TCP)。

  互聯(lián)網(wǎng)協(xié)議(RFC791、IPv4)實(shí)施兩種基本功能:尋址和分割。IP使用報頭中的地址,將互聯(lián)網(wǎng)數據報傳送到目的地。選擇傳輸路徑的過(guò)程稱(chēng)為路由。當需要通過(guò)“小數據包”網(wǎng)絡(luò )傳輸時(shí),它還使用報頭中的字段,對互聯(lián)網(wǎng)數據報進(jìn)行分割和重組。此外,這些IP模塊(特別是網(wǎng)關(guān)中的模塊)擁有執行路由決策和其它功能的程序。

  互聯(lián)網(wǎng)協(xié)議將互聯(lián)網(wǎng)數據報當作一個(gè)獨立實(shí)體處理,與其它任何互聯(lián)網(wǎng)數據報無(wú)關(guān)。沒(méi)有連接或邏輯電路。在提供服務(wù)時(shí),它使用四種主要機制:服務(wù)類(lèi)型、生存時(shí)間、選項、報頭校驗和。



  “MOS”列為“Mean Opinion Score”(主觀(guān)平均得分),用于度量語(yǔ)音質(zhì)量。得分越高,表明質(zhì)量越好。

  本項目的目的是在飛思卡爾i.250 2.5G 平臺上增加VoIP over GPRS功能。該平臺上的基帶處理器Neptune LTE 帶有雙核,ARM7運行VRTXmc OS 和 16 位Onyx DSP。時(shí)鐘頻率分別為52MHz 和130MHz。與通常在 200MHz頻率下運行的其它應用處理器相比, Neptune LTE 的處理功率是一個(gè)限制因素,影響我們對支持的編解碼器的選擇。在本項目中,我們實(shí)施的GSM-AMR主要用于演示用途,因為現有平臺支持AMR 編解碼器,并且已經(jīng)采用了DSP代碼。

  系統架構

  圖2顯示了飛思卡爾 i.250 2.5G 平臺上的VoIP over GPRS模塊圖。VoIP 應用是整個(gè)VoIP over GPRS系統的核心控制部分。它包含了一個(gè)狀態(tài)機,用于控制不同模塊流和初始化流程。通過(guò)人機界面 (MMI)通信,用戶(hù)能夠向對等實(shí)體發(fā)出VoIP呼叫。



  網(wǎng)絡(luò )傳輸服務(wù)提供商目前對用戶(hù)是透明的。

  網(wǎng)絡(luò )傳輸引擎包括:RTP/RTCP堆棧、SIP堆棧、抖動(dòng)控制堆棧等。SIP負責包括呼叫建立程序的呼叫控制協(xié)議。RTP/RTCP堆棧是實(shí)時(shí)流協(xié)議和實(shí)時(shí)流控制協(xié)議,通過(guò)網(wǎng)絡(luò )傳送實(shí)時(shí)數據。

  抖動(dòng)控制堆棧負責處理網(wǎng)絡(luò )延遲,確保接收數據包的正確順序。

  多媒體引擎(MME)經(jīng)過(guò)修改,用于管理VoIP的全雙工語(yǔ)音信道。

  網(wǎng)絡(luò )傳輸的數據流通過(guò)數據流服務(wù)提供商(DFSP)傳輸到GSM堆棧。在該堆棧中,子網(wǎng)相關(guān)收斂協(xié)議(SNDCP)處理分組交換數據。

  藍色方塊表示現有平臺的新應用,包括網(wǎng)絡(luò )傳輸協(xié)議、核心控制VoIP應用。由于支持GPRS功能的每部移動(dòng)電話(huà)都應該帶有TCP/UDP IP堆棧,因而只需重復使用現有堆棧,而無(wú)需重新實(shí)施。注意,所有新模塊都是軟件。不需要其它硬件。

  在i.250 2.5G平臺中,基帶處理器帶有雙核,一個(gè)為ARM7 MCU,另一個(gè)為Onyx-lite DSP。GPRS L1活動(dòng)和語(yǔ)音編解碼器計算工作都在DSP中完成,這有助于減少MCU的MIPS要求,在一個(gè)運行ARM7的平臺上實(shí)現 VoIP over GPRS功能。與此相反,一些現有解決方案通常需要至少一個(gè)ARM9 ,甚至ARM11 MCU。

  MDI是MCU DSP接口,可以實(shí)現雙方之間的通信。

  一旦與對方建立了呼叫,上行鏈路的運行方式如下:   
  1. Mic 檢測到語(yǔ)音,并將其轉換成電信號。

  2. DSP對音頻信號進(jìn)行編碼,轉換為AMR格式。

  3. DSP將編碼后的ARM語(yǔ)音幀放入MDI音頻隊列中。

  4. MME從MDI音頻隊列提取編碼的ARM語(yǔ)音幀,然后執行一定類(lèi)型的流量控制和緩沖。MDI報頭刪除,傳送到RTP堆棧中。

  5. RTP堆棧添加RTP報頭,構建RTP凈負荷,然后發(fā)送到DFSP。

  6. DFSP觸發(fā)UDP/IP堆棧,添加IP報頭,并傳送到GSM堆棧。

  7. GSM堆棧控制GPRS信令和調度,通過(guò)DSP中的MDI、L1和空中接口將GPRS數據包發(fā)送到基站。
  下行鏈路的運行方式與上述流程相反,但需要添加抖動(dòng)控制模塊,以調節不可靠的數據包接收時(shí)間。

  設計局限

  在運行RTOS的低成本平臺上實(shí)施VoIP over GPRS是非常困難的。智能電話(huà)通常運行開(kāi)放式操作系統,例如Linux、Window CE 或 Symbian OS,而低成本的 i.250 2.5G 平臺則在專(zhuān)有RTOS系統上運行,所需的內存容量較低。坦白地說(shuō),它的軟件開(kāi)發(fā)支持不及那些開(kāi)放式操作系統。我們可以很容易地在網(wǎng)絡(luò )上找到開(kāi)放式操作系統的技術(shù)論壇和知識中心,進(jìn)行技術(shù)共享。而互聯(lián)網(wǎng)上提供的代碼樣品通常只在開(kāi)放式操作系統上運行,我們不能將這些代碼直接移植到專(zhuān)有RTOS系統上。此外,我們還需要耗費大量精力來(lái)重新編寫(xiě)代碼,以提高內存使用效率,最大程度地縮短代碼,由此增加了編寫(xiě)代碼的難度和時(shí)間。

  此外,在 i.250 2.5G平臺上的 RTOS系統中,我們使用的多任務(wù)機制與開(kāi)放式操作系統中的多任務(wù)機制是完全不同的。Linux 或Window CE使用“線(xiàn)程”概念來(lái)處理多個(gè)任務(wù),而專(zhuān)有RTOS則使用“任務(wù)切換”概念。在多線(xiàn)程環(huán)境中,當需要新應用程序時(shí),用戶(hù)只需創(chuàng )建一個(gè)線(xiàn)程,運行該應用程序的代碼。不同線(xiàn)程同時(shí)運行,各自完成自己的任務(wù),但彼此能夠看到對方。所有資源共享機制都由操作系統管理。而在任務(wù)切換RTOS機制中,代碼開(kāi)發(fā)人員需要牢記一點(diǎn):有很多其它任務(wù)也在同時(shí)運行。任務(wù)切換只能在功能進(jìn)入點(diǎn)/退出點(diǎn)或中斷時(shí)進(jìn)行。因此,他們必須將代碼劃分成更小片斷,以防止應用程序長(cháng)期占用資源。在編寫(xiě)嵌入式RTOS系統上的代碼時(shí),應該使用特殊的技術(shù)。

  另一個(gè)限制是雙方傳輸的延遲。我們知道,GPRS和互聯(lián)網(wǎng)是為數據傳輸設計的,數據包傳輸路徑是隨意選擇的。不能保證數據包能夠成功地傳送到目的地,并按照發(fā)送端的順序接收。要將收到的數據包重新排列成正確順序,應在接收端實(shí)施抖動(dòng)控制。實(shí)現方式是:將接收到的一些數據包保存在緩沖區中,然后根據它們的時(shí)間戳重新排列序。緩沖區容量越大,抖動(dòng)控制性能就越好。但是,該過(guò)程會(huì )導致音頻路徑的延遲,再加上GPRS和互聯(lián)網(wǎng)的固有延遲,總延遲時(shí)間長(cháng)達幾秒。設計者應當優(yōu)化電話(huà)軟件中的音頻延遲路徑,或者實(shí)施某些類(lèi)型的服務(wù)質(zhì)量控制協(xié)議,以確保質(zhì)量。

  原型的驗證

  上述的RTOS系統是在i.250 2.5G 平臺上實(shí)施的。為了進(jìn)行演示,這里的移動(dòng)電話(huà)的IP地址固定不變。圖3介紹了設備設置和連接過(guò)程。



 首先,在接通電源后,用戶(hù)只需按下“**”就能注冊登錄到代理服務(wù)器。代理服務(wù)器維持一個(gè)數據庫,列出所有用戶(hù)名和內容信息。只需通過(guò)GPRS網(wǎng)絡(luò )將SIP注冊消息發(fā)送到服務(wù)器,即可完成注冊。同時(shí),電話(huà)軟件激活GPRS連接,獲取GPRS網(wǎng)絡(luò )分配的IP地址,并且打開(kāi)傳輸和接收數據的邏輯路徑。如果不激活GPRS連接,DUT身份對公用網(wǎng)絡(luò )就是不可知的,因而不能接到來(lái)電。代理服務(wù)器只存在于設置過(guò)程。

  由于代理服務(wù)器被用作中間代理,主叫人應向代理服務(wù)器IP發(fā)送呼叫請求。然后,服務(wù)器將查詢(xún)數據庫,獲得被叫方位置,再將請求轉發(fā)到被叫方。本演示利用兩個(gè)Agilent 8960 ,將GRPS實(shí)驗室應用測試集用作媒介,將 i.250 2.5G 開(kāi)發(fā)板卡 (ADS板卡)連接到互聯(lián)網(wǎng)。ADS板卡在接通電源時(shí),注冊登錄到GPRS網(wǎng)絡(luò ),測試集然后通過(guò)路由器連接到互聯(lián)網(wǎng)。測試集充當連接到GPRS的DUT的橋梁,讓它們接入互聯(lián)網(wǎng)。一旦GPRS上下文激活,測試集將為ADS分配一個(gè)固定IP地址。此外,在PC上運行的代理服務(wù)器也連接到同一個(gè)路由器。通過(guò)這種安排,確保三個(gè)實(shí)體都能在同一網(wǎng)段內運行。這樣就能對同一個(gè)網(wǎng)段內的分組流量進(jìn)行監控,用于開(kāi)發(fā)目的。

  按照圖3的設置過(guò)程,2個(gè)i.250 2.5G 開(kāi)發(fā)板之間能夠成功建立VoIP呼叫連接。圖4對詳細的呼叫流程進(jìn)行了介紹。




結語(yǔ)

  VoIP變得日益普及,通常與以太網(wǎng)或WLAN集成。在本文中,我們介紹了GPRS的使用和優(yōu)勢,并將其與其它無(wú)線(xiàn)技術(shù)進(jìn)行了比較。經(jīng)濟高效的VoIP over GPRS 解決方案的設計會(huì )受到大量限制,包括MIPS和RTOS的局限。但是,通過(guò)VoIP over GPRS 解決方案的詳細設計,我們在低成本的飛思卡爾 i.250 2.5G平臺上建立了概念驗證原型,并在實(shí)驗室進(jìn)行了驗證。

電子產(chǎn)品世界



相關(guān)鏈接:
利用基于原語(yǔ)的H.323協(xié)議棧開(kāi)發(fā)VoIP系統 2008-04-07
迅速發(fā)展的全球VoIP業(yè)務(wù)市場(chǎng) 2008-04-01
跨過(guò)絆腳石,IP通信前景向好 2008-03-31
為什么移動(dòng)VoIP這么慢的發(fā)展? 2008-03-26
VoIP電話(huà)服務(wù):提供高端通信 2008-03-25

分類(lèi)信息:        
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 永宁县| 建德市| 宁陕县| 沈阳市| 农安县| 武乡县| 伽师县| 蕲春县| 宜城市| 和田市| 开江县| 基隆市| 江川县| 武义县| 陆河县| 蒙自县| 甘泉县| 萨迦县| 晋城| 香港| 祁门县| 镇平县| 泾川县| 湖北省| 东阳市| 辽阳县| 玉屏| 清水县| 泸州市| 龙山县| 黑河市| 清水县| 横峰县| 彭水| 泸州市| 孟连| 大庆市| 邛崃市| 绥化市| 丹阳市| 东明县| http://444 http://444 http://444 http://444 http://444 http://444