接触VoIP网络将近半年,从VoIP软终端技术[开源SIP协议栈、SIP软终端、IP网络电话机]到对接VoIP落地网关设备整个网络环境的部署,从VoIP协议SIP到VoIP协议H323的整合、桥接,基本上有感性的认识了,下面从VoIP话务运营及VoIP落地网关运营的角度来看看如何从软终端、软交换出发来构建、部署一个PC2PHONE网络环境。
目前的 VoIP网络拓扑结构为:VoIP软终端--->SIP 消息路由服务器-->路由到SIP服务器--->对接VoIP语音网关(Cisco AS5300,华为8010等设备,一般有2、4、n个数字中继接口)---->通过E1中继线路对接数字程控交换机(华为C&c08、贝尔S1240数字程控交换机等)。
VoIP软终端:PC用户使用SIP软终端(目前只使用SIP协议作为输入信令)访问我们的VoIP软交换对普通座机或手机发起呼叫,实现PC2Phone的通讯。
IPPBX(VoIP 软交换):基于开源软交换平台Asterisk,接受VoIP软终端(或其它能发起SIP/H323请求的硬件终端)发起的呼叫信令、解析被号码、构建成VoIP语音数据包发送到IP网络中。
语音网关:提供模拟语音信号和VoIP信令的转换,即从IP网络进入的VOIP数据包被转换成模拟语音,通过与PBX相连的数字中继线路进入到PBX(数字程控交换机)。
数字程控交换机(PBX):用于电话交换网的交换设备,它以计算机程序控制电话的接续,从语音网关的E1数字中继线路送出来的7号信令或1号信令或PRI信令以及模拟语音数据包进入到数字程控交换机。
VoIP软终端对普通座机或者手机发起呼叫,经过客户端包装成VoIP协议的SIP输入信令,然后通过IP网络传输到开源软交换平台Asterisk,我们基于它做被叫号码、IVR等处理,然后我们可以使用两种方案将此SIP输入信令输出到落地网关:
1. 使用SIP协议作为输出信令:Dial(SIP/015810370728@gw:5060),即IPPBX asterisk使用SIP协议与落地网关设备建立连接、协商编解码器类型等信息从而建立会话,落地网关运营商需要对数字中继E1接口做各种配置,如将我们的IPPBX访问IP地址添加到信任列表、开放SIP访问端口5060等信息。
2. 使用H323协议作为输出信令:Dial(H323/015810370728@gw:1720),对于H323协议来说,现在大部分支持H323协议的语音网关都同时兼备了网守(Gatekeeper)的功能(AAA),所以跟SIP的配置类似(有些语音网关同时支持这两种协议),落地网关运营商需要对数字中继E1接口做各种配置,如将我们的IPPBX访问IP地址添加到信任列表、开放H323协议族里的Q.931访问端口1720等信息。
因为SIP、H323都是信令协议,而与语音媒体流的具体内容无关,而与编解码器、网络带宽等有很大关系,所以具体使用哪一种对语音质量的差距影响不大,主要对接通率有所影响,即主、被叫双方的会话是否能够成功建立。对于目前使用的H323输出信令,Asterisk的编码器将用户语音数据包压缩成G.729数据流并打成IP数据包,然后通过实时传输协议RTP传送到落地语音网关,然后将此包解开并解压缩成音频流通过数字程控交换机传到普通电话或手机。
l 第一部分——IP网络层
这部分主要有:VoIP IVR语音后台,这里的软终端是任何一个能够发起SIP请求的客户端软件或者硬件设备,这部分的网络拓扑结构图如下所示:
l 第二部分—— VoIP网关、PSTN网络层
这部分是我们的开源软交换平台(Asterisk)对接的落地网关运营商所关注的. 目前我们所对接的语音网关,经过它出局的数字中继是一个E1接口(又称一个PCM),是一对引自数字程控交换机的同轴电缆线,在电缆线上数据传输速率是2.048 Mbps,可以同时容纳32时隙*64Kbps的语音数据。后面的附录里有个基于Cisco 5300的配置案例可供参考。
Cisco 数字中继(语音网关)AS5300配置举例,这里列出来的只是E1控制器的有关配置,实际运营过程中要要根据具体的设备而言:
version 12.0
service timestamps debug uptime //设定Debug跟踪日志显示其时间
service timestamps log uptime //设定看Log时显示其时间
no service password-encryption //口令不加密
!
no logging buffered
logging monitor notifications
aaa new-model //为了进行中继计费, 启用AAA模式
aaa authentication login default local tacacs+ radius enable
aaa authentication ppp default local tacacs+ radius
!
syscon address xxx.xxx.xxx.xxx *******
syscon source-interface FastEthernet0
syscon shelf-id 0
ip subnet-zero
ip ftp source-interface Ethernet0
ip ftp username fren
no ip domain-lookup
!
multilink bundle-name both
async-bootp dns-server xxx.xxx.xxx.xxx
isdn switch-type primary-net5 // #1 ISDN交换机类型
partition flash 2 8 8
!
//下例对第一个E1通道做配置
//E1上承接的有三种信令:1.中国一号信令(R2);2.中国七号信令;3.PRI信令(ISDN).
//这里使用的是1号信令为例子
controller E1 0
framing NO-CRC4 // #2 编帧方式:NO-CRC4 编码方式(linecode):默认的HDB3
clock source line primary // 主时钟
//参数范围及类型选定,指定索取主叫号
cas-group 0 timeslots 1-15,17-31 type r2-digital r2-compelled ani
// 把E1 接口划分为31个信道
//其中第16个信道(逻辑端口s0:15)是呼叫信令信道,
//第0个信道用作其它30个为传输每路电话语音数据
cas-cus 0
unused-abcd 0 1 1 1 //时隙空闲编码
country china use-defaults
answer-signal group-b 1 //B组信令参数
!
controller E1 1
framing NO-CRC4
clock source line secondary 1
cas-group 1 timeslots 1-15,17-31 type r2-digital r2-compelled ani
cas-cus 1
unused-abcd 0 1 1 1
country china use-defaults
answer-signal group-b 1
!
end