??? 關鍵詞:通道組, 網關, H.323協議, 有限狀態機?
1 引言
??? 在傳統的電信業務中,語音的交換是基于時隙的電路交換,其主要問題在于:(1) 通信過程中用戶對線路的獨占所造成的通信資源的浪費;(2) 電路交換的體系結構不便實現業務的綜合。隨著通信技術的迅速發展,語音、數據和視頻融合于基于包交換的IP(Internet Phone)網絡是目前通信技術的發展方向,其重要的技術特征是統計時分復用〔1〕。因此,研究將傳統電信的語音業務融合于IP網絡的技術是目前的開發熱點。由于在現有的電信語音業務中,企業和集團的用戶占有很大比例,故,開發針對企業和集團這樣一類大客戶的語音業務接入IP網絡的方案具有特別重要的現實意義。
??? 目前,企業和集團大客戶的語音通信采用兩種方案。一,通過PBX(Private Branch Exchange,用戶交換機)接入到傳統的PSTN(Public Switching Telephone Network,公用交換電話網)網實現語音通信;二,在PBX上加一個VoIP(Voice Over IP)網關將話音業務接入到IP網,即,所謂的IP-PBX方案〔2〕,如圖1所示。
??? 盡管上述IP-PBX解決方案解決了語音到IP網的接入,但是,這種實現方案需要用戶配備PBX。PBX價格昂貴,對企業而言并不經濟。為此,本文提出了使用Channel Bank來代替PBX,與數字VoIP網關相結合,組成IPCB的解決方案。該方案的主要特點在于,很方便地實現大客戶語音到IP網絡的接入,同時,將大客戶內部的語音交換移植到IP語音網關上,通過軟交換來完成。
2 IPCB的基本功能
??? IPCB是要實現大客戶的語音業務到IP網的接入,通過IP網絡與遠端的用戶進行語音通信。因此,IPCB應具有下列基本功能:
??? (1) 完成用戶側和網絡側的呼叫建立和釋放。?
??? (2) 同時完成96路語音編碼(ITU?T的G系列協議,G.711,G.723,G.729)、RTP(Routing Table Protocol)打包解包、回聲消除、靜音檢測,并提供收端緩存等語音功能。
??? (3) 用戶側通過通道組(Channel Bank)轉換而來的數字中繼信令,完成與網絡側Q.931或H.245信令之間的轉換。?
??? (4) 在通話開始時采集計費信息,并在通話結束時經過網守向計費/認證中心發送計費信息。?
??? (5) 自動識別語音和傳真業務,傳真符合T.38協議。?
??? (6) 為用戶提供交互式語音提示IVR(Interactive Voice Register)。?
??? (7) 支持產生與檢測DTMF(Double Tone Multiple Frequency,雙音多頻),用于遠端電話用戶的第2次撥號。?
??? (8) IP網關支持卡號用戶和主叫號用戶的使用。?
??? 由于Channel Bank沒有交換模塊,因此,IPCB除了要完成上述用戶側與IP網絡側之間的信令和協議的轉換、用戶與遠端通信媒體流的傳輸外,還應具有實現Channel Bank上各個通道之間的語音交換的功能。?
3 IPCB的結構
??? IPCB由Channel Bank和VoIP語音網關兩部分組成,它的結構如圖2所示。IPCB的一端通過VoIP語音網關的以太接口連接到外部的IP網,另一端通過Channel Bank的用戶電路模塊接24部普通電話(S口)或接交換機的24條模擬用戶線(O口)。在IPCB內部,Channel Bank和VoIP網關之間通過T1中繼線相連。
??? VoIP網關的底層為語音板卡和以太網卡,中層為操作系統和H.323協議棧,上層為應用程序。語音板卡采用的是Audiocodes公司的TP240,最多可提供四個T1/E1中繼接口,可以同時處理96/128路語音的編/解碼,語音的RTP打、解包及Channel Bank上各個通道的狀態檢測和信號提取。語音的RTP/RTCP(Routing Table Protocol /Realtime Transport Control Protocol,路由表協議/實時傳輸控制協議)流可以通過板卡上的以太網接口傳輸。IP網絡側的信令則通過VoIP網關上的以太網卡傳輸。
??? Channel Bank是一個通道組,由用戶電路模塊和數字中繼模塊組成,可以提供24路語音的接入和一個T1中繼接口。用戶電路模塊可完成饋電、過壓保護、振鈴、監測、混合電路、測試和編/解碼等項功能。數字中繼模塊則將收到的數字信號送到T1中繼相應的時隙上,T1中繼的24個時隙與Channel Bank的24個語音通道一一對應。
4 系統設計的基本原理?
??? 在IPCB系統中,語音的編/解碼、媒體流的打/解包是通過VoIP網關上的硬件語音板卡來完成的,而用戶模擬語音與數字語音之間的轉換,以及模擬信令與數字中繼信令之間的轉換是由Channel Bank來完成的。因此,系統設計主要集中在軟件的開發上,下面介紹系統軟件模塊劃分、呼叫及交換實現的基本原理。
4.1 IPCB網關的模塊劃分?
??? IPCB的語音網關模塊可劃分為五個部分,即:PSTN呼叫處理,H.323呼叫處理,網關用戶界面管理,公共定時服務器和網管代理。其結構如圖3所示。
??? PSTN呼叫處理模塊:利用板卡TP240提供的API(Application Program Interface,應用程序接口)函數來完成信令的提取,DTMF收號,交互式語音(IVR)提示,語音通道的管理,呼叫流程的控制以及信令之間的轉換等功能。?
??? H.323呼叫處理模塊: 利用H.323協議棧提供的API函數來完成H.323的RAS(Remote AccessService,遠程接入服務)消息、Q.931消息和H.245消息的傳送,進行呼叫流程的控制以及H.323消息到適配信令的轉換。
??? 定時器模塊:為整個網關應用程序提供定時。當上述模塊之一需要開始一個新的定時時,就可以通過發送消息的形式來向模塊請求。當定時時間到達時,定時器會向請求定時的模塊發送定時響應消息。
??? 網關用戶界面管理:完成網關系統初始化,向其它模塊發送人機管理界面命令,接收顯示網關狀態、告警消息和故障檢測結果,實現與PSTN的呼叫處理以及H.323呼叫處理模塊的交互通信。
4.2 信令的轉換?
??? IPCB的VoIP語音網關與Channel Bank之間采用的是PSTN數字中繼信令,與IP網絡之間采用的是H.323信令。網關必須對這兩種信令進行轉換??紤]到系統的可擴展性,在PSTN網的信令和IP網的信令之間構造一組中間適配信令,如圖4所示。
??? 這樣,網關兩側網絡的協議信令都向中間適配信令轉換,通過中間適配信令實現兩個網絡協議信令的轉換。這種將兩個網絡的協議信令都向一個中間適配信令轉換的好處是隔離了一側網絡新增信令協議所引起的變化直接對另一側網絡協議的影響,以便網絡引入新的信令協議,使系統具有良好的可擴展性。為了保證這種設計的有效性,在設計初期應仔細地構建中間適配信令集,以確保多協議引入時,中間適配信令的完備性。在上述的網關模塊劃分中,PSTN呼叫處理模塊和H.323呼叫處理模塊的主要功能之一,就是分別完成PSTN的協議信令和H.323協議信令到中間適配信令之間的轉換。
4.3 呼叫處理?
4.3.1 呼叫的處理方式?
??? IP電話呼叫處理的過程是一個典型的在有限狀態之間進行狀態變遷的過程。呼叫處理可根據輸入的呼叫信令消息和當前狀態,完成相應的呼叫信令處理,確定變遷到達的新狀態。因此,對于一個具體的呼叫,可以采用有限狀態機(Finite State Machine,FSM)的方法來進行過程的描述和處理。
??? 另一方面,在VoIP網關中會同時存在多個呼叫。呼叫處理必須考慮對并發呼叫的實時處理。鑒于傳統的多進程處理并發事件的方式所存在的問題(呼叫越多,進程切換的開銷越大,內存資源占用越多),在IPCB的網關中采用單呼叫進程實現多呼叫的并發處理。
??? 單進程處理多呼叫并發事件的設計方法是:當一個呼叫產生時,進程生成一個記錄該呼叫的呼叫控制塊,稱為CCB(Call Control Block)。呼叫控制塊記錄了該呼叫的主叫號碼、被叫號碼和當前的狀態等信息。因此,多個呼叫就產生了與之對應的多個呼叫控制塊,進而組成一個呼叫控制表。當一個呼叫的信令到達時,呼叫處理進程基于主叫號碼和被叫號碼查尋呼叫控制表,從表中讀取該呼叫對應的呼叫控制塊,然后,根據輸入的呼叫信令和當前狀態,完成相應的呼叫信令處理,確定將要轉移的新狀態,并遷移到該狀態。最后,用遷移的新狀態更新該呼叫控制塊的內容。
??? VoIP網關對CCB的管理是動態完成的。當呼叫開始時,CCB被創建,呼叫終止時,CCB被撤消。
??? 若當前狀態下接收到一個不希望到達的呼叫信令,則可視作該呼叫過程發生故障,此時,可退出呼叫處理過程。
4.3.2 IPCB的語音交換控制?
??? Channel Bank上的用戶與遠端的用戶進行語音通信可分為三種情況:一是,Channel Bank上的用戶作為主叫,呼叫遠端的用戶;其二是,主/被叫都是Channel Bank上的用戶;三是,IP網絡側遠端的用戶作為主叫,呼叫Channel Bank上的用戶。
??? 為了實現對上述語音交換的控制,在VoIP電話網關上,對Channel Bank上每一個通道時隙指配一個特定邏輯電話號碼,建立一張中繼時隙通道號與對應的邏輯電話號碼的映射表。當VoIP網關收到來自Channel Bank上的用戶呼叫時,網關首先通過該呼叫所處的時隙通道號碼,查詢映射表,獲取主叫用戶的邏輯電話號碼,然后,經過網守向認證計費中心認證該邏輯電話號碼的合法性和呼叫權限,在認證鑒權通過后,從呼叫的消息中讀取被叫的電話號碼,搜索時隙通道與邏輯電話映射表。結果有下面兩種情況:
??? (1)如果被叫電話號碼與映射表中的某個邏輯電話號碼相匹配,則表明是一個Channel Bank內部的兩個電話的通信,就從表中讀取該邏輯電話號碼對應的中繼號和中繼時隙通道號。在獲得了主叫和被叫在數字中繼上對應的中繼和物理時隙通道后,通過包交換技術將語音包交換到對應的物理通道上,從而實現內部各用戶的語音交換。
??? (2)如果被叫電話號碼未能與映射表中所有的邏輯電話號碼相匹配,則表明是一個到IP網絡側的遠端呼叫。網關向網守請求地址解析,獲取遠端網關或H.323終端的信令IP地址。然后,發起快速呼叫連接,同時告訴對端本地的媒體流的IP地址和將要用于本呼叫的接收媒體流的邏輯通道號。在收到遠端返回的呼叫進行(Call Proceeding)或提醒消息(Alerting)后,從中讀取對端的用于媒體流傳送的IP地址和將用于本次呼叫接收媒體流的邏輯通道號。在遠端的被叫用戶摘機后,在相應媒體流IP地址和對應的邏輯通道上實現語音交換。
??? 如果IPCB收到一個來自IP網絡側的呼叫連接請求,則表明是遠端用戶呼叫Channel Bank上的用戶,于是,VoIP網關將分別讀取被叫電話號碼、對端用于媒體流通信的IP地址和接收本次通話媒體流的邏輯通道號。然后,查尋中繼時隙通道號與邏輯電話號碼的映射表,獲取該邏輯電話號碼對應的中繼號和物理時隙通道號,檢測該被叫用戶的忙閑狀態。如果該用戶空閑,則向網絡側的遠端用戶發回響應消息,告訴遠端,本網關用于媒體流通信的IP地址和用于接收對端媒體流的邏輯通道號,在用戶摘機后實現媒體流的交換。
4.3.3 呼叫的接入和接出控制?
??? 一個具有商業實用價值的IP電話系統必須能對呼叫的接入和接出進行控制,并且在通話結束之后,能將通話的時長通過網守告訴計費系統,從而實現對通話的控制和費用的結算。
??? 當Channel Bank上的用戶發起呼叫時,網關通過呼叫所處的通道號來獲取它的邏輯電話號碼,然后經網守到數據庫對主叫用戶的身份及其撥打權限進行認證。如果主叫為合法用戶時,查詢被叫地是否在用戶允許撥打的權限范圍內,確定是否為其接續。
??? 當遠端的呼叫到來時,網關要到網守對主叫網關的合法性進行認證。如果認證通過,網關通過查詢地址映射表來[FL(2K2]判斷被叫是否為本Channel Bank 上的用戶。如果不是,則釋放呼叫,否則,返回該號碼所對應的時隙通道號。網關查詢該通道的狀態,若被叫空閑,接續此次呼叫,否則,拒絕該呼叫。上述控制流程如圖5所示。
5 IPCB的實現結果
??? IPCB的硬件設備如圖6所示。在Channel Bank的24個端口中任選兩個和電話相連。選用其中一部電話作為主叫,如果被叫也是Channel Bank上的用戶,則會聽到Channel Bank上的另一部電話振鈴,摘機后,就可以進行正常的語音通信,語音編碼方式選用G.711。同樣,Channel Bank上的電話也可以和遠端的電話進行通信,語音編碼方式選用G.723。IPCB可以為用戶提供語音交互,對于卡號用戶,IPCB還支持密碼修改、話費查詢等業務。?
??? 目前已經將IPCB 網關放到一個已投入正常使用的IP電話系統中進行了實現并通過了測試。在測試中,呼叫接通率在90%以上,采用MFR2信令時,平均呼叫建立時間小于5s,端到端的時延在200ms-300ms之間。可以看出,IPCB工作正常、性能穩定。
6 結束語
??? 本文提出了一種基于Channel Bank和VoIP語音網關的大客戶語音接入IP網絡的IPCB方案,對IPCB的體系結構、基本功能和設計原理進行了系統的論述,并在此基礎上進行了實際的開發。該方案的主要特點在于:(1) 能很好地實現大客戶語音業務到IP網的接入;(2) 大客戶內部的語音通信通過軟交換來實現,從而去掉了對具有交換模塊的PBX的需求;(3)系統的擴容可以通過多個Channel Bank的簡單堆疊來實現;(4) 采用硬件進行數據的壓縮和解壓,處理更加高速有效。實際運行結果表明,該方案切實可行。因此,基于Channel Bank和IP語音網關構成IPCB的體系結構,為大客戶的話音業務接入到IP網提供了一種新的解決方案。
參考文獻?
1 葉華,謝瑋,梁勇,崔進水. IP電話/傳真技術. 北京:人民郵電出版社, 2000
2 李魯湘,宋健. VoIP的新熱點—IPPBX. 通訊世界, 2000(10)
3 ITU-T Recommendation H.323. Audiovisual and Mul-timedia Systems.1996
評論
查看更多