陳 東
(中國電子科技集團公司第三十研究所,四川 成都 610041)
網關是為了滿足不同網絡之間通信的設備,由于不同網絡使用不同的協議,為了讓兩個使用不同協議的網絡能夠正常通信,就需要進行協議轉換。目前,隨著因特網的蓬勃發展,電信業正處于從現有網絡向下一代網絡(NGN) 演變的巨大變革之中,NGN 泛指以 IP 為中心,可以支持語音、數據和多媒體業務的融合或部分融合的全業務網絡。NGN體系采用開放的網絡架構,將傳統交換機的功能模塊分離成獨立的網絡構件,各個構件可按相應的功能劃分,各個獨立發展[1]。媒體網關是將一種網絡中的媒體格式轉換成另一種網絡所要求的媒體格式的設備,媒體網關在NGN 中扮演著重要的角色,許多業務都需要媒體網關進行數據轉換和接入實現。
媒體網關位于軟交換網絡的媒體接入層,它將一種網絡中的媒體轉換成另一種網絡所要求的媒體格式。根據媒體網關設備在網絡中的位置,可以將其分為中繼媒體網關、接入媒體網關、綜合接入設備和綜合接入網關[2]。IP中繼媒體網關位于 IP 網絡和 PSTN (個人電話交換網)網絡之間,業務流通過電路交換機的中繼電路進入或離開媒體網關,經其進行媒體格式轉換后在IP 網中進行傳送[3]。此媒體網關是中繼媒體網關中的一種,為保證語音通話質量帶內數據等傳輸質量,在業務由 PSTN交換網向 IP網中過渡中,不需要進行媒體編碼轉換,媒體網關的設計和實現就可完全基于FPGA進行,所以,其具有相當的設計靈活性與可移植性。
媒體網關附屬于路由交換機,是路由交換機的接入與傳輸層,也是PSTN網落側的媒體流與軟交換網絡側IP數據包的雙向終結點。其業務的互通流程需接受網關控制器的控制,才能完成每次語音和數據互通。其控制連接關系如圖 1所示。

圖1 系統架構和連接關系
(1)中繼容量
為提高接入能力,節約寶貴的槽位資源,單個媒體網關卡設計為8個E1接口,共處理240路話音/ 傳真/ 數據。單個機箱最多可以配置大約12 塊網關卡。
(2) 板卡設計介紹
E1 網關板主要由多路E1 接口電路、千兆以太網接口電路、通信MIPS處理器和Xilinx公司FPGA Vietex-5系列中的155T組成。E1接口電路實現時鐘恢復、數據提取、HDB3編解碼、去抖動以及近遠端環回功能;以太網接口電路實現千兆光接口與電接口自動檢測,以及電接口的100 M/1 000 M自適應連接等,通過SGMII接口與FPGA互聯,由FPGA提供千百兆MAC;處理器主要實現板卡管理、信令轉換與處理和資源控制等功能;FPGA包含了上行數據處理部分、下行數據處理部分和與處理器接口部分,各部分的主要功能有:實現中繼信令提取與發送、語音組包與解包、靜音檢測與回鈴音的生成和發送、查表等。設計示意如圖2所示。

圖2 板卡設計示意
媒體網關軟件接受媒體網關控制器的控制命令,按要求控制硬件完成事件生成;向媒體網關控制器報告相應的數據和資料。在局域網出口側與局域網相連,發送或接收與媒體網關控制器之間的信令、協議和媒體控制消息;在媒體網關內部與硬件接口模塊相連,完成對硬件的控制。
媒體網關軟件分布于板卡的處理器中,采用分布式負荷分擔的機制,提高整機的軟件處理效率。從功能模塊劃分大致可分為:操作系統軟件模塊、底層驅動軟件模塊、IP 適配軟件模塊、網關管理軟件模塊、信令處理模塊、信令傳輸控制軟件模塊和業務表項管理模塊,如圖3所示。

圖3 媒體網關軟件設計
操作系統軟件模塊:媒體網關的操作系統采用Vxworks實時操作系統,Vxworks是美國Windriver 公司的先占式實時操作系統,具有豐富的BSP支持,并提供配套的Tornado 開發平臺,以其穩定性和高效性,占有商用實時嵌入式操作系統得主導地位[4]。
雙擁辦是該區對口解決退役軍人問題的部門之一。這些年一起走過的風風雨雨,讓這些退伍老兵已經把這里當成了“娘家”,一有空就前來扎堆,互訴衷腸,互相鼓勵。他們對杏花嶺區為他們千方百計排憂解難的做法非常認可,對王業發這樣肯撲下身子實干、能不畏艱難敢于擔當的干部很是欽佩。王業發得到了部隊官兵、家屬、復退轉軍人、軍烈屬和社會各界的廣泛贊譽。
底層驅動軟件模塊:完成各硬件板卡處理器和各種功能芯片的初始化、管理和控制,并實現與上層軟件的接口。
IP適配軟件模塊:實現TCP/ IP 協議和UDP/ IP 協議,完成信令消息和接入業務與IP 網之間的格式轉換。
網關管理軟件模塊:負責對網關的維護管理,主要網關參數配置、狀態監測、對路由和鏈路狀態的管理、對各接口是否正常的檢測和管理等。
信令處理模塊(信令網關):從硬件線路上接收信令消息單元或向硬件線路發送信令消息單元,完成信令消息的適配處理,并對收到的信令消息進行預處理。
信令傳輸控制軟件模塊:完成PSTN 信令在IP 網可靠傳輸,使用確認方式進行無差錯無重復傳送用戶數據,并根據通路的MTU(消息傳輸單元) 的限制進行用戶數據的分段并在多個流上保證用戶消息的順序遞交。
業務表項管理模塊:完成FPAG從IP硬件線路上向E1接口碼流,與E1接口碼流向IP數據雙向的數據表項的管理,并負責向FPGA下發與每一個呼叫相關的表項數據。
媒體網關FPGA既是PSTN側與板上處理器,以及板上處理器與媒體網關控制器的信令和消息收發與控制通道,又在處理器軟件的管理和控制下完成媒體流向IP數據包、IP數據包向媒體流的雙向數據格式轉換,轉換過程中完成雙向數據流控制的表項查找;同時完成E1接口側的7號信令鏈路層HDLC(高級數據鏈路控制)數據發送和接收,以及從以太網接口側(含光口和電口)IP數據包中解析和分流出從媒體網關控制器來的信令與路由交換而來的語音數據包。
在整個設計過程中將其分成上行處理部分(從E1接口到處理器和路由交換整個過程)、下行處理部分(從處理器和路由交換到E1整個過程)和與處理器接口部分3個部分,前兩個部分數據流向是完全相反的兩個數據處理流程。按照設計的模塊化和可移植性來說,雖然此媒體網關含有8個E1端口,這里的基本設計思維是先按照最小使用邏輯量設計出一個端口,然后再復制七份,從而完成整個8個端口的邏輯設計,與處理器接口部分主要完成與處理器信息交互的功能,現不在作過多說明,下面主要對前兩個部分進行介紹。
媒體網關FPGA上行數據處理主要分為以下幾個部分:接口數據時域轉換處理、HDLC數據接收和處理、業務數據緩存、業務數據封裝IP包、特殊數據解析。上行數據處理示意如圖4所示。
接口數據時域轉換模塊:完成由輸入時鐘相對應的輸入數據到與內部時鐘時鐘相匹配數據的轉換模塊,便于統一FPGA內部的處理時鐘,使所有邏輯模塊都相對集中在同一時鐘下處理,有利于FPGA的布局和布線。
HDLC數據接收和處理模塊:完成HDLC數據的幀定位、插入零的刪除、HDLC數據的接收、CRC16檢驗、錯誤數據包的濾除等功能,然后將正確的HDLC數據發送到處理器進行解析。
業務數據緩存模塊:業務數據存儲器,設計中分成上下兩個半區,當上半區數據滿后,就開始將數據緩存于下半區,同時將上半區的數據按照一個時隙一個包的形式發出。同理,當下半區數據滿后,就開始將數據緩存與上半區,同時將下半區的數據按照一個時隙一個包的形式發出。依次循環。
業務數據IP包封裝:接收從業務數據緩存送來的每個時隙數據包,在處理器的控制下,將相應的數據包進行RTP/RTCP、UDP、IP封裝,然后發送到路由交換。
特殊數據解析模塊:對每個話路時隙中的特殊數據進行解析,然后將解析到的數據發送到處理器中進行處理。
2.4.2 下行數據處理介紹
下行數據處理器流程相對于上行來說更為復雜,在設計時除需要考慮將多種數據包向對應的端口和時隙發送,最主要的是還需要考慮業務數據的連續性,即業務數據在由IP數據包向碼流轉換時的連貫性。因此,就需要考慮到IP數據包在傳輸中可能發生的延遲、抖動、掉包、包續錯亂等現象,這在以太網數據交換和傳輸中是很常見的現象,但是對于以碼流形式傳輸的PSTN交換中,卻是非常致命的問題,會造成語音質量的嚴重下降,或者根本就無法進行有效的通信。所以,在FPGA的設計中都必須將這些問題予以最大程度的消除和解決,以保證每次通信性能的穩定性和有較高通信質量。
媒體網關FPGA下行數據處理主要分為以下幾個部分:解封裝IP數據業務包、業務數據包發送緩存及處理、HDLC發送數據處理、特殊數據發送、回鈴音與靜音發送,以及數據選擇和時域轉換等功能模塊,下行數據處理示意如圖5所示。

圖5 下行數據處理示意
解封裝IP數據業務包模塊:對路由交換而來的IP數據包業務包進行解析,然后將各個業務數據包發送到對應的端口、時隙業務數據發送緩存的相應緩存中。
業務數據發送緩存模塊:要抗線路傳輸抖動、延時、掉包、包續錯亂問題,此模塊的設計至關重要。將每個時隙的緩存分成四個分支緩存,分別存儲RTP/RTCP包序號中的后兩比特分別為00、01、10、11的數據包,如此,即使包續好發生了錯亂,也有較強的糾正能力。同時在向E1接口發送數據的處理上,將收到的第一個業務包,先不及時發送,等計數到一個數據包組包時間或者或下一個數據到來的兩個條件其中一個滿足才開始發送數據,這樣就有較好的抗延時和抖動的能力,如:完成一個IP包160個字節的組包時間需要20 ms,收到第一個IP包后,等20 ms才開始發送數據,發送第一個數據包的時間又需要20 ms,只要在這40 ms的時間內第二個數據到來,都可以正常發送,而不會造成掉包。如果想要取得更大的抗抖動和延時效果,可以將每個時隙的分支緩存成倍增加,然后多等待幾個包到來才開始發送第一個包,但是,等待時間越長話音延遲也會越大。此設計也是業務Qos保障的手段之一
HDLC數據發送處理模塊:完成HDLC數據幀頭的發送,HDLC數據的發送中每五個“1”后零的插入,HDLC數據CRC-16的計算和CRC的發送等。
信號音產生、回鈴音與靜音發送模塊:信號音產生模塊產生450 Hz的單音信號發送出去,回鈴音與靜音發送模塊將各個時隙所需信號音根據控制模塊的要求發送到相應的各端口時隙上。
特殊數據發送模塊:將從處理器而來的特殊數據發送到相應的端口時隙中。
數據選擇和時域轉換模塊:將以上各種數據,根據數據選擇控制信號,發送相應的數據到E1接口線路上,同時完成數據從內部數據處理時鐘到線路發送時鐘的轉換。
這里簡要分析了媒體網關的體系結構和發展現狀,詳細介紹了一種媒體網關的硬件、軟件,特別是FPGA部分的設計方案和實現,其設計對于通用媒體網關也具有一定的借鑒意義。且所描述的媒體網關的模型是筆者結合實際開發的經驗設計的,該設計已經運用到實際,經過測試與實踐,性能良好,滿足網絡媒體網關的各項功能指標和要求。
[1] 趙慧玲,葉華.以軟交換為核心技術的下一代網絡[M].北京:人民郵電出版社,2003.
[2] 黃蓉,晏憲華,王波.基于軟交換的中繼媒體網關設計與實現[J].廣東通信技術,2005(02):6-9.
[3] 張杰斌,黃本雄,胡廣.軟交換網絡中中繼媒體網關的研究與設計[J].通信技術, 2003(04):22-24.
[4] 陳鳳祥,劉學軍.IP媒體網關的設計[J].無線電工程,2008(08):7-10.