汤玲,陈文山,朱炎春
(海能达通信股份有限公司,广东 深圳 518057)
无线对讲机系统中,中转台负责信号放大和中转,是用于扩大通信距离和范围的重要设备。并且,随着IP网络的普及,中转台还可基于IP网络将对讲机系统覆盖范围扩大到全球任一位置,轻松实现不同地理位置、不同频段、网络互联的语音通信,解决无线电传输中受地理因素或障碍物、发射功率、接收灵敏度等约束传输距离的难题。
除了中转功能,中转台也可作为网关设备,实现对讲机系统与其他系统的互通。例如与SIP(Session Initiation Protocol,会话发起协议)电话系统的联合通信。
在现有的对讲机IP互联系统通信和SIP电话互联中,存在SIP电话互联兼容性差、成本高、IP互联内网到外网穿透配置复杂、维护难等难题。这对系统设计和维护都带来诸多不便。本文提出一种融合中转台网关设备的解决方案,通过中转台集成路由和SIP电话网关功能,简化现有无线对讲机系统维护和配置工作。
中转台IP互联可以理解为对中转模式的升级,将中转台接入到互联网中,通过TCP/IP 协议传输语音和数据业务信息,IP 互联技术就是用于解决分散在互联网中不同地点的中转台进行通信连接。IP 互联主要用于扩展通信范围。对讲机常规通信在中转模式下的通信范围比较小,对于一些林业场地、矿山、以及同一个城市但分散于多个地点的公司等,通信范围还不够。IP互联可以解决这些工作场景的通信问题。
IP互联组网中,如果是连接处于公网中不同网络中的中转台,则需要使用路由器。一般需要使用指定型号路由器,运维人员需要考虑不同型号路由器的产品熟悉、配置问题,这些都会涉及较高成本。特别是在部署的时候需要对路由设备做端口映射,开放几个服务端口用于相关对讲机业务注册。
SIP电话互联是遵循SIP 协议标准,使用中转台作为载体,实现对讲机与电话(包括传统电话、VoIP电话、移动电话等)之间的实时语音通话的一种功能。
SIP 协议是由IETF(Internet Engineering Task Force,互联网工程任务组)定义的标准协议,主要用来发起、结束,更新包括视频、语音、实时通信等多种多媒体元素在内的交互式用户会话。SIP协议灵活开放,随着互联网的发展,目前已广泛应用到VoIP(IP 电话)中。
对讲机系统通过中转台与SIP电话互联的原理如图1所示。中转台将个呼和组呼联系人注册到IPPBX设备,再通过IPPBX 设备与其他电话终端进行互联互通,最终实现对讲机与电话终端之间的实时通话。SIP电话互联网络连通后,中转台开机时会将电话呼叫联系人信息注册到IPPBX 设备上。之后,对讲机才能与电话终端通话。
图1 中转台实现SIP电话互联原理图
SIP电话互联组网需要使用第三方的SIP网关设备或路由器,需要考虑选型和购买成本,并且这些设备专业性很强,需要专门的工程师进行配置部署,对方案落地带来不小的挑战。
◆兼容性问题。第三方设备的厂商比较多,对SIP的实现有差异,除了配置差异性,可能会存在一些协议实现的兼容问题,会影响到中转台跟其他SIP用户的通信。
◆配置复杂。如果中转台设备需要与公网内的SIP代理用户进行通信,则需要连接一个路由器来实现内网带外网的数据转发。在内网到外网的通信过程,涉及SIP NAT的穿透处理,这要求用到的路由设备支持SIP ALG(SIP Application Layer Gateways,SIP应用层网关)功能来实现SIP NAT穿透。并非所有的路由设备都支持NAT穿透,对于不支持NAT穿透的路由器,需要通过其他比较复杂的手段来解决,比如构建VPN通道,在内网连接外网的地方放一个中间的SIP代理来专门处理NAT穿透。
在中转台上集成路由和SIP网关功能,可大大简化IP互联和SIP互联组网,设备成本和维护成本都能够降低。
该融合网关主要包括五个模块:基带模块、射频发射模块、射频接收模块、功放模块、网络模块。如图2所示。
图2 融合网关中转台总体框架图
基带模块:主要负责处理已经过解调的或者射频模块调制之前的数据,网络模块接收处理过的或者即将发送到网络设备的数据。其中还包括一些外围电路的控制,例如,声音、显示、I/O等。
RF射频发射模块:主要用于将处理好的基带数据进行调制发射。
RF射频接收模块:主要用于接收并解调,将解调的数据交由基带模块处理。
功放模块:主要控制射频模块的功率。
网络模块:主要用于提供网络服务,比如IP互联服务,SIP网关服务,SIP电话服务,路由服务,网络模块将作为空口跟网络服务的网关,实现对讲机空口业务与其他网络服务的互联互通,比如对讲机终端与电话的互联互通。
路由服务用于网络互连的计算机设备,它工作在OSI 参考模型的第三层(网络层),为不同的网络之间报文寻径并存储转发。路由器中时刻维持着一张路由表,所有报文的发送和转发都通过查找路由表,从相应端口发送。这张路由表可以是静态配置的,也可以是动态路由协议产生的。物理层从路由器的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送到网络层。网络层首先看报文是否是送给本机的,若是,去掉网络层封装,送给上层。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,报文丢弃。
融合网关设备实现了LAN到WAN之间的路由功能,WAN侧支撑静态IP设置、动态IP设置和PPPoE(Point-to-Point Protocol Over Ethernet,以太网上的点对点协议)拨号获取IP。融合网关支持了路由功能之后,它可以根据自己配置的对讲机网络相关服务进行相关的端口映射,让外部的设备可以访问到它,用户感知不到,极大简化了部署从而简化网络部署。而用第三方路由设备,需要在路由设备上根据实际中转台的网络服务对其IP+端口进行映射并开放,以对外暴露SIP网关业务端口。
新旧配置方案配置示意图如图3所示。
图3 新旧NAT穿透配置方案对比图
该设备集成了SIP网关和中继的相关功能。一方面作为SIP网关,接收来自网络电话的SIP注册,实现对讲机和网络电话之间的语音通话;另一方面作为中继,级联上一级和下一级PBX设备,实现跨多个电话系统的语音通话。
(1)作为SIP网关实现对讲机与SIP电话间通话
中转台作为网关时的网络拓扑如图4所示。
图4 中转台作为SIP网关时的网络拓扑图
1)对讲机接入网关
融合网关通过电话呼叫列表,实现对讲机像电话一样接入网关设备中。在对讲机系统中,对终端的ID有自己的一套编码格式,并且需要区分呼叫类型(个呼、组呼、全呼、全双工个呼)。为了完全兼容对讲机系统的特性,且便于以后对讲机特性的扩容,中转台电话网关系统设计了一个电话呼叫列表,在这个表中,将对讲机需要关注的特性用一个电话ID进行映射,电话系统仅仅只需要关注这个ID 就可以轻松实现终端接入电话系统,还可以将其和SIP电话实行同一套管理。中转台在上电完成开机后会读取该表,并记录表中对应的映射数据。后续系统中有电话业务发生时,能够准确的找到相应的对讲机终端去参与该业务。
2)SIP电话接入网关
融合网关通过PBX列表,实现SIP电话接入融合网关。PBX列表包括分机ID和分机密码,SIP电话想要接入中转台并使用中转台相关资源的话,只需要PBX列表中的一组数据向中转台注册就可以快速地完成。
◆注册流程如下:
用户第一次试呼时,SIP电话终端主动向中转台发起REGISTER 注册请求消息;
中转台后端认证确认用户信息不存在,便向SIP电话返回401Unauthorized 需要鉴权信息,其中包含安全认证所需的令牌;
SIP电话终端提示用户输入标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息发送给中转台;
中转台解密REGISTER 消息中的用户信息,通过认证其合法后,将该用户信息登记到存储中,并向SIP电话终端返回成功消息200 OK。
◆注销流程如下:
SIP电话终端向中转台发送REGISTER消息进行注销;
中转台收到后回复200 OK,并将存储中的用户消息注销。
3)呼叫建立流程
◆呼叫建立流程如下:
用户摘机发起呼叫,对讲机A 向中转台发起INVITE请求消息;
中转台通过用户认证后,若无问题,中转台在请求消息的Via头域插入自身地址,并向INVITE消息的To域所指定的被叫SIP电话B转发INVITE请求消息;
中转台向对讲机A返回呼叫处理中的应答信息:100;
SIP电话B向中转台返回呼叫处理中的应答信息:100;
SIP电话B指示被叫用户响铃,用户响铃后向中转台返回180信息;
中转台向对讲机A转发被叫用户响铃180信息;
用户摘机,SIP电话B向中转台返回连接成功的应答(200);
中转台转发该成功指示(200);
对讲机A收到后,向中转台发送ACK信息进行确认;
中转台将ACK转发给SIP电话B;
主被叫用户之间建立通信,开始通话。
4)正常呼叫释放过程
正常呼叫释放流程如下:
双方正常通话;
通话结束后,被叫挂机,SIP电话B向中转台发送释放消息(BYE);
中转台转发BYE消息;
对讲机A向中转台发送确认挂断响应信息200;
中转台转发响应信息200。
(2)作为SIP中继实现跨多个电话系统通信
中转台网关还可作为SIP中继,实现跨多个电话系统的通信。原理如图5所示。
图5 SIP中继功能示意图
1)与上一级PBX级联
目前中转台选择较为通用的注册方式与上一级PBX进行级联。中转台只要获取到对方提供的IP、分机号和密码并填入到中继配置表中就可以实现级联。
◆中转台与上一级PBX注册级联流程如下:
中转台上电开机后,向上一级PBX发送REGISTER注册请求消息;
上一级PBX通过后端认证获知用户信息不存在,便向中转台发送401Unauthorized 需要鉴权,其中包含安全认证所需的令牌;
中转台填充相关标识和密码后,根据安全认证令牌进行加密后,再次用REGISTER 消息发送给上一级PBX;
上一级PBX将REGISTER 消息中的用户信息进行解密,通过认证其合法后,将该用户信息登记到相应的数据库中,并向中转台返回成功消息200 OK;
完成注册后,中转台和上一级PBX可以进行出局和入局业务;
2)与下一级PBX级联
目前中转台无需额外提供配置数据,只要将PBX列表中的一组数据提供出来,同时下一级PBX填入该组数据后并以注册方式向中转台注册就可以方便地实现与中转台级联。
◆与下一级PBX注册级联流程如下:
下一级PBX向中转台发送REGISTER 注册请求消息;
中转台通过后端认证获知用户信息不存在,便向下一级PBX回送401Unauthorized 需要鉴权,其中包含安全认证所需的令牌;
下一级PBX输入相应的标识和密码后,根据安全认证令牌进行加密后,再次用REGISTER 消息报告给中转台;
中转台将REGISTER 消息中的用户信息解密,通过认证其合法后,将该用户信息登记到存储中,并向下一级PBX返回成功消息200 OK;
完成注册后,中转台和下一级PBX可以进行出局和入局业务;
(3)SIP ALG实现SIP NAT穿透
SIP ALG是专门针对SIP NAT穿透的防火墙策略,中转台网关支持SIP ALG可解决原有的内外网SIP消息穿透的问题。
在Internet公网通信过程中,由于IP地址匮乏,引入NAT技术,一种用于将私有地址与公有地址进行转换的以解决IP地址匮乏的技术。当NAT存在时,会导致NAT外跟NAT内的用户之间无法从SIP消息中得到有效的地址信息,无法完成正常的会话建立过程。
SIP ALG方式是在传统的NAT上进行扩展,使之具备感知SIP呼叫控制协议的能力,从而对基于SIP呼叫的地址实现穿透。它是一种比较简单的方案,最突出的特点是ALG和具体的SIP系统无关,对于一个SIP系统不需要做任何修改,只要在相应的NAT上加载SIP ALG,就能完成私网到公网甚至私网中的两个用户之间的SIP连接。SIP ALG功能解决了SIP协议穿越NAT的问题,实现所有网络内的SIP用户代理和公网上的SIP用户代理之间的互连互通。其具体工作原理如下:
SIP是通过各种头域里的信息的交互来管理会话的。而头域里与呼叫建立相关的包含IP地址和端口信息的字段需要被ALG处理,否则无法正确进行呼叫。SIP终端直接呼叫组网如图6所示(两台SIP终端能够互相直接呼叫)。
图6 SIP终端直接呼叫组网图
SIP消息采用文本方式编码,包括请求消息与响应消息两类。SIP请求消息包括如下六种。
INVITE:用于邀请用户加入一个呼叫。
ACK:用于对请求消息的响应消息进行确认。
OPTIONS:用于请求协商能力信息。
BYE:用于释放已建立的呼叫。
CANCEL:用于释放尚未建立的呼叫。
REGISTER:用于向SIP注册服务器登记用户位置等信息。
SIP响应消息用于对请求消息进行响应,指示呼叫或注册的成功或失败状态。在请求与响应报文中需要进行ALG处理的地址字段类型主要有:Via、Record_Route、Contact、SDP。
ALG处理流程为如下三个步骤:
◆首先,ALG根据会话标识的协议类型对报文进行解码,若解码发现报文为不需要做ALG或解码发现为错误字段时退出,解码发现需进行字段转换时进一步处理。
◆其次,ALG查找接口上的NAT配置,根据NAT配置转换报文中的IP地址、端口、call-id等信息并建立关联表,关联表记录了载荷地址的转换关系。
◆最后,ALG调整报文载荷中的长度字段,如sip message header的content-length字段标识message body的长度,ALG对message body中的地址转换后,message body长度可能变化,content-length字段值需要设置为变化后的值。
在没有融合网关之前,在配置Internet 的IP互联系统或者部署SIP电话网络时,需要对路由设备、SIP网关设备进行一些配置。采用融合网关中转台设备组网时,不需要采用第三方路由和SIP网关设备。具体组网如图7所示:
图7 IP和电话互联系统应用场景图
该方案在专网通信中转设备中融合了公网的路由和SIP网关功能,解决了专网通信系统接入公网及跟公网系统通信遇到的一些常见问题,降低了专网与公网融合的门槛,给用户带来使用上的便利及信心,对后续专网与公网融合起到积极的作用。另外,公网应用中很多有价值的业务也可以考虑引进到专网的核心设备中转台中,比如VPN、IPv6、防火墙等功能,这样可以更深层次地完善专网与公网的融合,为专网用户提供更加丰富灵活的业务。