湯玲,陳文山,朱炎春
(海能達通信股份有限公司,廣東 深圳 518057)
無線對講機系統(tǒng)中,中轉(zhuǎn)臺負責(zé)信號放大和中轉(zhuǎn),是用于擴大通信距離和范圍的重要設(shè)備。并且,隨著IP網(wǎng)絡(luò)的普及,中轉(zhuǎn)臺還可基于IP網(wǎng)絡(luò)將對講機系統(tǒng)覆蓋范圍擴大到全球任一位置,輕松實現(xiàn)不同地理位置、不同頻段、網(wǎng)絡(luò)互聯(lián)的語音通信,解決無線電傳輸中受地理因素或障礙物、發(fā)射功率、接收靈敏度等約束傳輸距離的難題。
除了中轉(zhuǎn)功能,中轉(zhuǎn)臺也可作為網(wǎng)關(guān)設(shè)備,實現(xiàn)對講機系統(tǒng)與其他系統(tǒng)的互通。例如與SIP(Session Initiation Protocol,會話發(fā)起協(xié)議)電話系統(tǒng)的聯(lián)合通信。
在現(xiàn)有的對講機IP互聯(lián)系統(tǒng)通信和SIP電話互聯(lián)中,存在SIP電話互聯(lián)兼容性差、成本高、IP互聯(lián)內(nèi)網(wǎng)到外網(wǎng)穿透配置復(fù)雜、維護難等難題。這對系統(tǒng)設(shè)計和維護都帶來諸多不便。本文提出一種融合中轉(zhuǎn)臺網(wǎng)關(guān)設(shè)備的解決方案,通過中轉(zhuǎn)臺集成路由和SIP電話網(wǎng)關(guān)功能,簡化現(xiàn)有無線對講機系統(tǒng)維護和配置工作。
中轉(zhuǎn)臺IP互聯(lián)可以理解為對中轉(zhuǎn)模式的升級,將中轉(zhuǎn)臺接入到互聯(lián)網(wǎng)中,通過TCP/IP 協(xié)議傳輸語音和數(shù)據(jù)業(yè)務(wù)信息,IP 互聯(lián)技術(shù)就是用于解決分散在互聯(lián)網(wǎng)中不同地點的中轉(zhuǎn)臺進行通信連接。IP 互聯(lián)主要用于擴展通信范圍。對講機常規(guī)通信在中轉(zhuǎn)模式下的通信范圍比較小,對于一些林業(yè)場地、礦山、以及同一個城市但分散于多個地點的公司等,通信范圍還不夠。IP互聯(lián)可以解決這些工作場景的通信問題。
IP互聯(lián)組網(wǎng)中,如果是連接處于公網(wǎng)中不同網(wǎng)絡(luò)中的中轉(zhuǎn)臺,則需要使用路由器。一般需要使用指定型號路由器,運維人員需要考慮不同型號路由器的產(chǎn)品熟悉、配置問題,這些都會涉及較高成本。特別是在部署的時候需要對路由設(shè)備做端口映射,開放幾個服務(wù)端口用于相關(guān)對講機業(yè)務(wù)注冊。
SIP電話互聯(lián)是遵循SIP 協(xié)議標準,使用中轉(zhuǎn)臺作為載體,實現(xiàn)對講機與電話(包括傳統(tǒng)電話、VoIP電話、移動電話等)之間的實時語音通話的一種功能。
SIP 協(xié)議是由IETF(Internet Engineering Task Force,互聯(lián)網(wǎng)工程任務(wù)組)定義的標準協(xié)議,主要用來發(fā)起、結(jié)束,更新包括視頻、語音、實時通信等多種多媒體元素在內(nèi)的交互式用戶會話。SIP協(xié)議靈活開放,隨著互聯(lián)網(wǎng)的發(fā)展,目前已廣泛應(yīng)用到VoIP(IP 電話)中。
對講機系統(tǒng)通過中轉(zhuǎn)臺與SIP電話互聯(lián)的原理如圖1所示。中轉(zhuǎn)臺將個呼和組呼聯(lián)系人注冊到IPPBX設(shè)備,再通過IPPBX 設(shè)備與其他電話終端進行互聯(lián)互通,最終實現(xiàn)對講機與電話終端之間的實時通話。SIP電話互聯(lián)網(wǎng)絡(luò)連通后,中轉(zhuǎn)臺開機時會將電話呼叫聯(lián)系人信息注冊到IPPBX 設(shè)備上。之后,對講機才能與電話終端通話。
圖1 中轉(zhuǎn)臺實現(xiàn)SIP電話互聯(lián)原理圖
SIP電話互聯(lián)組網(wǎng)需要使用第三方的SIP網(wǎng)關(guān)設(shè)備或路由器,需要考慮選型和購買成本,并且這些設(shè)備專業(yè)性很強,需要專門的工程師進行配置部署,對方案落地帶來不小的挑戰(zhàn)。
◆兼容性問題。第三方設(shè)備的廠商比較多,對SIP的實現(xiàn)有差異,除了配置差異性,可能會存在一些協(xié)議實現(xiàn)的兼容問題,會影響到中轉(zhuǎn)臺跟其他SIP用戶的通信。
◆配置復(fù)雜。如果中轉(zhuǎn)臺設(shè)備需要與公網(wǎng)內(nèi)的SIP代理用戶進行通信,則需要連接一個路由器來實現(xiàn)內(nèi)網(wǎng)帶外網(wǎng)的數(shù)據(jù)轉(zhuǎn)發(fā)。在內(nèi)網(wǎng)到外網(wǎng)的通信過程,涉及SIP NAT的穿透處理,這要求用到的路由設(shè)備支持SIP ALG(SIP Application Layer Gateways,SIP應(yīng)用層網(wǎng)關(guān))功能來實現(xiàn)SIP NAT穿透。并非所有的路由設(shè)備都支持NAT穿透,對于不支持NAT穿透的路由器,需要通過其他比較復(fù)雜的手段來解決,比如構(gòu)建VPN通道,在內(nèi)網(wǎng)連接外網(wǎng)的地方放一個中間的SIP代理來專門處理NAT穿透。
在中轉(zhuǎn)臺上集成路由和SIP網(wǎng)關(guān)功能,可大大簡化IP互聯(lián)和SIP互聯(lián)組網(wǎng),設(shè)備成本和維護成本都能夠降低。
該融合網(wǎng)關(guān)主要包括五個模塊:基帶模塊、射頻發(fā)射模塊、射頻接收模塊、功放模塊、網(wǎng)絡(luò)模塊。如圖2所示。
圖2 融合網(wǎng)關(guān)中轉(zhuǎn)臺總體框架圖
基帶模塊:主要負責(zé)處理已經(jīng)過解調(diào)的或者射頻模塊調(diào)制之前的數(shù)據(jù),網(wǎng)絡(luò)模塊接收處理過的或者即將發(fā)送到網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)。其中還包括一些外圍電路的控制,例如,聲音、顯示、I/O等。
RF射頻發(fā)射模塊:主要用于將處理好的基帶數(shù)據(jù)進行調(diào)制發(fā)射。
RF射頻接收模塊:主要用于接收并解調(diào),將解調(diào)的數(shù)據(jù)交由基帶模塊處理。
功放模塊:主要控制射頻模塊的功率。
網(wǎng)絡(luò)模塊:主要用于提供網(wǎng)絡(luò)服務(wù),比如IP互聯(lián)服務(wù),SIP網(wǎng)關(guān)服務(wù),SIP電話服務(wù),路由服務(wù),網(wǎng)絡(luò)模塊將作為空口跟網(wǎng)絡(luò)服務(wù)的網(wǎng)關(guān),實現(xiàn)對講機空口業(yè)務(wù)與其他網(wǎng)絡(luò)服務(wù)的互聯(lián)互通,比如對講機終端與電話的互聯(lián)互通。
路由服務(wù)用于網(wǎng)絡(luò)互連的計算機設(shè)備,它工作在OSI 參考模型的第三層(網(wǎng)絡(luò)層),為不同的網(wǎng)絡(luò)之間報文尋徑并存儲轉(zhuǎn)發(fā)。路由器中時刻維持著一張路由表,所有報文的發(fā)送和轉(zhuǎn)發(fā)都通過查找路由表,從相應(yīng)端口發(fā)送。這張路由表可以是靜態(tài)配置的,也可以是動態(tài)路由協(xié)議產(chǎn)生的。物理層從路由器的一個端口收到一個報文,上送到數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層去掉鏈路層封裝,根據(jù)報文的協(xié)議域上送到網(wǎng)絡(luò)層。網(wǎng)絡(luò)層首先看報文是否是送給本機的,若是,去掉網(wǎng)絡(luò)層封裝,送給上層。若不是,則根據(jù)報文的目的地址查找路由表,若找到路由,將報文送給相應(yīng)端口的數(shù)據(jù)鏈路層,數(shù)據(jù)鏈路層封裝后,發(fā)送報文。若找不到路由,報文丟棄。
融合網(wǎng)關(guān)設(shè)備實現(xiàn)了LAN到WAN之間的路由功能,WAN側(cè)支撐靜態(tài)IP設(shè)置、動態(tài)IP設(shè)置和PPPoE(Point-to-Point Protocol Over Ethernet,以太網(wǎng)上的點對點協(xié)議)撥號獲取IP。融合網(wǎng)關(guān)支持了路由功能之后,它可以根據(jù)自己配置的對講機網(wǎng)絡(luò)相關(guān)服務(wù)進行相關(guān)的端口映射,讓外部的設(shè)備可以訪問到它,用戶感知不到,極大簡化了部署從而簡化網(wǎng)絡(luò)部署。而用第三方路由設(shè)備,需要在路由設(shè)備上根據(jù)實際中轉(zhuǎn)臺的網(wǎng)絡(luò)服務(wù)對其IP+端口進行映射并開放,以對外暴露SIP網(wǎng)關(guān)業(yè)務(wù)端口。
新舊配置方案配置示意圖如圖3所示。
圖3 新舊NAT穿透配置方案對比圖
該設(shè)備集成了SIP網(wǎng)關(guān)和中繼的相關(guān)功能。一方面作為SIP網(wǎng)關(guān),接收來自網(wǎng)絡(luò)電話的SIP注冊,實現(xiàn)對講機和網(wǎng)絡(luò)電話之間的語音通話;另一方面作為中繼,級聯(lián)上一級和下一級PBX設(shè)備,實現(xiàn)跨多個電話系統(tǒng)的語音通話。
(1)作為SIP網(wǎng)關(guān)實現(xiàn)對講機與SIP電話間通話
中轉(zhuǎn)臺作為網(wǎng)關(guān)時的網(wǎng)絡(luò)拓撲如圖4所示。
圖4 中轉(zhuǎn)臺作為SIP網(wǎng)關(guān)時的網(wǎng)絡(luò)拓撲圖
1)對講機接入網(wǎng)關(guān)
融合網(wǎng)關(guān)通過電話呼叫列表,實現(xiàn)對講機像電話一樣接入網(wǎng)關(guān)設(shè)備中。在對講機系統(tǒng)中,對終端的ID有自己的一套編碼格式,并且需要區(qū)分呼叫類型(個呼、組呼、全呼、全雙工個呼)。為了完全兼容對講機系統(tǒng)的特性,且便于以后對講機特性的擴容,中轉(zhuǎn)臺電話網(wǎng)關(guān)系統(tǒng)設(shè)計了一個電話呼叫列表,在這個表中,將對講機需要關(guān)注的特性用一個電話ID進行映射,電話系統(tǒng)僅僅只需要關(guān)注這個ID 就可以輕松實現(xiàn)終端接入電話系統(tǒng),還可以將其和SIP電話實行同一套管理。中轉(zhuǎn)臺在上電完成開機后會讀取該表,并記錄表中對應(yīng)的映射數(shù)據(jù)。后續(xù)系統(tǒng)中有電話業(yè)務(wù)發(fā)生時,能夠準確的找到相應(yīng)的對講機終端去參與該業(yè)務(wù)。
2)SIP電話接入網(wǎng)關(guān)
融合網(wǎng)關(guān)通過PBX列表,實現(xiàn)SIP電話接入融合網(wǎng)關(guān)。PBX列表包括分機ID和分機密碼,SIP電話想要接入中轉(zhuǎn)臺并使用中轉(zhuǎn)臺相關(guān)資源的話,只需要PBX列表中的一組數(shù)據(jù)向中轉(zhuǎn)臺注冊就可以快速地完成。
◆注冊流程如下:
用戶第一次試呼時,SIP電話終端主動向中轉(zhuǎn)臺發(fā)起REGISTER 注冊請求消息;
中轉(zhuǎn)臺后端認證確認用戶信息不存在,便向SIP電話返回401Unauthorized 需要鑒權(quán)信息,其中包含安全認證所需的令牌;
SIP電話終端提示用戶輸入標識和密碼后,根據(jù)安全認證令牌將其加密后,再次用REGISTER 消息發(fā)送給中轉(zhuǎn)臺;
中轉(zhuǎn)臺解密REGISTER 消息中的用戶信息,通過認證其合法后,將該用戶信息登記到存儲中,并向SIP電話終端返回成功消息200 OK。
◆注銷流程如下:
SIP電話終端向中轉(zhuǎn)臺發(fā)送REGISTER消息進行注銷;
中轉(zhuǎn)臺收到后回復(fù)200 OK,并將存儲中的用戶消息注銷。
3)呼叫建立流程
◆呼叫建立流程如下:
用戶摘機發(fā)起呼叫,對講機A 向中轉(zhuǎn)臺發(fā)起INVITE請求消息;
中轉(zhuǎn)臺通過用戶認證后,若無問題,中轉(zhuǎn)臺在請求消息的Via頭域插入自身地址,并向INVITE消息的To域所指定的被叫SIP電話B轉(zhuǎn)發(fā)INVITE請求消息;
中轉(zhuǎn)臺向?qū)χv機A返回呼叫處理中的應(yīng)答信息:100;
SIP電話B向中轉(zhuǎn)臺返回呼叫處理中的應(yīng)答信息:100;
SIP電話B指示被叫用戶響鈴,用戶響鈴后向中轉(zhuǎn)臺返回180信息;
中轉(zhuǎn)臺向?qū)χv機A轉(zhuǎn)發(fā)被叫用戶響鈴180信息;
用戶摘機,SIP電話B向中轉(zhuǎn)臺返回連接成功的應(yīng)答(200);
中轉(zhuǎn)臺轉(zhuǎn)發(fā)該成功指示(200);
對講機A收到后,向中轉(zhuǎn)臺發(fā)送ACK信息進行確認;
中轉(zhuǎn)臺將ACK轉(zhuǎn)發(fā)給SIP電話B;
主被叫用戶之間建立通信,開始通話。
4)正常呼叫釋放過程
正常呼叫釋放流程如下:
雙方正常通話;
通話結(jié)束后,被叫掛機,SIP電話B向中轉(zhuǎn)臺發(fā)送釋放消息(BYE);
中轉(zhuǎn)臺轉(zhuǎn)發(fā)BYE消息;
對講機A向中轉(zhuǎn)臺發(fā)送確認掛斷響應(yīng)信息200;
中轉(zhuǎn)臺轉(zhuǎn)發(fā)響應(yīng)信息200。
(2)作為SIP中繼實現(xiàn)跨多個電話系統(tǒng)通信
中轉(zhuǎn)臺網(wǎng)關(guān)還可作為SIP中繼,實現(xiàn)跨多個電話系統(tǒng)的通信。原理如圖5所示。
圖5 SIP中繼功能示意圖
1)與上一級PBX級聯(lián)
目前中轉(zhuǎn)臺選擇較為通用的注冊方式與上一級PBX進行級聯(lián)。中轉(zhuǎn)臺只要獲取到對方提供的IP、分機號和密碼并填入到中繼配置表中就可以實現(xiàn)級聯(lián)。
◆中轉(zhuǎn)臺與上一級PBX注冊級聯(lián)流程如下:
中轉(zhuǎn)臺上電開機后,向上一級PBX發(fā)送REGISTER注冊請求消息;
上一級PBX通過后端認證獲知用戶信息不存在,便向中轉(zhuǎn)臺發(fā)送401Unauthorized 需要鑒權(quán),其中包含安全認證所需的令牌;
中轉(zhuǎn)臺填充相關(guān)標識和密碼后,根據(jù)安全認證令牌進行加密后,再次用REGISTER 消息發(fā)送給上一級PBX;
上一級PBX將REGISTER 消息中的用戶信息進行解密,通過認證其合法后,將該用戶信息登記到相應(yīng)的數(shù)據(jù)庫中,并向中轉(zhuǎn)臺返回成功消息200 OK;
完成注冊后,中轉(zhuǎn)臺和上一級PBX可以進行出局和入局業(yè)務(wù);
2)與下一級PBX級聯(lián)
目前中轉(zhuǎn)臺無需額外提供配置數(shù)據(jù),只要將PBX列表中的一組數(shù)據(jù)提供出來,同時下一級PBX填入該組數(shù)據(jù)后并以注冊方式向中轉(zhuǎn)臺注冊就可以方便地實現(xiàn)與中轉(zhuǎn)臺級聯(lián)。
◆與下一級PBX注冊級聯(lián)流程如下:
下一級PBX向中轉(zhuǎn)臺發(fā)送REGISTER 注冊請求消息;
中轉(zhuǎn)臺通過后端認證獲知用戶信息不存在,便向下一級PBX回送401Unauthorized 需要鑒權(quán),其中包含安全認證所需的令牌;
下一級PBX輸入相應(yīng)的標識和密碼后,根據(jù)安全認證令牌進行加密后,再次用REGISTER 消息報告給中轉(zhuǎn)臺;
中轉(zhuǎn)臺將REGISTER 消息中的用戶信息解密,通過認證其合法后,將該用戶信息登記到存儲中,并向下一級PBX返回成功消息200 OK;
完成注冊后,中轉(zhuǎn)臺和下一級PBX可以進行出局和入局業(yè)務(wù);
(3)SIP ALG實現(xiàn)SIP NAT穿透
SIP ALG是專門針對SIP NAT穿透的防火墻策略,中轉(zhuǎn)臺網(wǎng)關(guān)支持SIP ALG可解決原有的內(nèi)外網(wǎng)SIP消息穿透的問題。
在Internet公網(wǎng)通信過程中,由于IP地址匱乏,引入NAT技術(shù),一種用于將私有地址與公有地址進行轉(zhuǎn)換的以解決IP地址匱乏的技術(shù)。當(dāng)NAT存在時,會導(dǎo)致NAT外跟NAT內(nèi)的用戶之間無法從SIP消息中得到有效的地址信息,無法完成正常的會話建立過程。
SIP ALG方式是在傳統(tǒng)的NAT上進行擴展,使之具備感知SIP呼叫控制協(xié)議的能力,從而對基于SIP呼叫的地址實現(xiàn)穿透。它是一種比較簡單的方案,最突出的特點是ALG和具體的SIP系統(tǒng)無關(guān),對于一個SIP系統(tǒng)不需要做任何修改,只要在相應(yīng)的NAT上加載SIP ALG,就能完成私網(wǎng)到公網(wǎng)甚至私網(wǎng)中的兩個用戶之間的SIP連接。SIP ALG功能解決了SIP協(xié)議穿越NAT的問題,實現(xiàn)所有網(wǎng)絡(luò)內(nèi)的SIP用戶代理和公網(wǎng)上的SIP用戶代理之間的互連互通。其具體工作原理如下:
SIP是通過各種頭域里的信息的交互來管理會話的。而頭域里與呼叫建立相關(guān)的包含IP地址和端口信息的字段需要被ALG處理,否則無法正確進行呼叫。SIP終端直接呼叫組網(wǎng)如圖6所示(兩臺SIP終端能夠互相直接呼叫)。
圖6 SIP終端直接呼叫組網(wǎng)圖
SIP消息采用文本方式編碼,包括請求消息與響應(yīng)消息兩類。SIP請求消息包括如下六種。
INVITE:用于邀請用戶加入一個呼叫。
ACK:用于對請求消息的響應(yīng)消息進行確認。
OPTIONS:用于請求協(xié)商能力信息。
BYE:用于釋放已建立的呼叫。
CANCEL:用于釋放尚未建立的呼叫。
REGISTER:用于向SIP注冊服務(wù)器登記用戶位置等信息。
SIP響應(yīng)消息用于對請求消息進行響應(yīng),指示呼叫或注冊的成功或失敗狀態(tài)。在請求與響應(yīng)報文中需要進行ALG處理的地址字段類型主要有:Via、Record_Route、Contact、SDP。
ALG處理流程為如下三個步驟:
◆首先,ALG根據(jù)會話標識的協(xié)議類型對報文進行解碼,若解碼發(fā)現(xiàn)報文為不需要做ALG或解碼發(fā)現(xiàn)為錯誤字段時退出,解碼發(fā)現(xiàn)需進行字段轉(zhuǎn)換時進一步處理。
◆其次,ALG查找接口上的NAT配置,根據(jù)NAT配置轉(zhuǎn)換報文中的IP地址、端口、call-id等信息并建立關(guān)聯(lián)表,關(guān)聯(lián)表記錄了載荷地址的轉(zhuǎn)換關(guān)系。
◆最后,ALG調(diào)整報文載荷中的長度字段,如sip message header的content-length字段標識message body的長度,ALG對message body中的地址轉(zhuǎn)換后,message body長度可能變化,content-length字段值需要設(shè)置為變化后的值。
在沒有融合網(wǎng)關(guān)之前,在配置Internet 的IP互聯(lián)系統(tǒng)或者部署SIP電話網(wǎng)絡(luò)時,需要對路由設(shè)備、SIP網(wǎng)關(guān)設(shè)備進行一些配置。采用融合網(wǎng)關(guān)中轉(zhuǎn)臺設(shè)備組網(wǎng)時,不需要采用第三方路由和SIP網(wǎng)關(guān)設(shè)備。具體組網(wǎng)如圖7所示:
圖7 IP和電話互聯(lián)系統(tǒng)應(yīng)用場景圖
該方案在專網(wǎng)通信中轉(zhuǎn)設(shè)備中融合了公網(wǎng)的路由和SIP網(wǎng)關(guān)功能,解決了專網(wǎng)通信系統(tǒng)接入公網(wǎng)及跟公網(wǎng)系統(tǒng)通信遇到的一些常見問題,降低了專網(wǎng)與公網(wǎng)融合的門檻,給用戶帶來使用上的便利及信心,對后續(xù)專網(wǎng)與公網(wǎng)融合起到積極的作用。另外,公網(wǎng)應(yīng)用中很多有價值的業(yè)務(wù)也可以考慮引進到專網(wǎng)的核心設(shè)備中轉(zhuǎn)臺中,比如VPN、IPv6、防火墻等功能,這樣可以更深層次地完善專網(wǎng)與公網(wǎng)的融合,為專網(wǎng)用戶提供更加豐富靈活的業(yè)務(wù)。