一次语音流量穿越飞塔Gate不通的解决过程
V 1.0
北京超圣信华科技有限公司
2016年4月11日
问题:一次语音穿越Gate不通的解决过程
版本:V1.0
日期:2016年4月11日
作者:宋泽春
摘要:一次语音穿越Gate不通的解决过程
关键字:SIP、SDP、SDF、RTP
文档记录
文档名称
一次语音流量穿越飞塔Gate不通的解决过程
保密级别
内部
版本编号
更新日期
更新摘要
修订
复审
1.0
2016年4月11日
建立文档
宋泽春
文档说明
本文档描述了一次语音流量穿越飞塔Gate不通的解决过程的说明。
目录
文档记录 3
文档说明 3
第1章需求 5
第2章 SIP浅析 5
第3章拓扑结构 5
第4章配置部分 6
4.1配置火墙地址 6
4.2开启负载均衡功能及VOIP高级特性 6
4.3配置虚拟服务器 7
4.4配置真实服务器 8
4.5监控检查 8
4.6配置虚拟IP 9
4.7策略配置 10
第5章分割点 12
第6章遇到的问题 12
6.1负载均衡回切慢问题 12
6.2语音无法建立问题 14
6.3语音IPPBX无法回切问题 18
第1章 需求
内部安装两台IPPBX,外部IP分机呼入,通过Fortiner 200D可实现负载均衡功能。当主设备故障后,呼叫会切换到备用设备。
需求:
? 默认语音网关访问飞塔VIP流量分发到IPPBX A上
? 当IPPBX A异常,语音网关访问飞塔的VIP的流量分发到IPPBX B上
? 当IPPBX A恢复后,语音网关访问飞塔VIP的流量继续分发到IPPBX A上
第2章 SIP浅析
简单的说SIP有信令流(5060)和媒体流(两个人的通话)两部分组成,信令流主要用作从语音网关到IPPBX管理系统的注册,媒体流用来传输建立好通道的语音流量。
第3章 拓扑结构
拓扑结构如下:
第4章 配置部分
欲完成上述需求,飞塔防火墙需要启用负载均衡功能。即,两个IPPBX管理系统作为两台服务器看待,语音网关作为访问者看待,飞塔防火墙通过其负载均衡模块将两台IPPBX管理系统向语音网关发布。
4.1 配置火墙地址
确定当前配置为:WAN口IP为192.168.120.44;LAN口IP为192.168.100.99
确定内部IPPBX配置(OM50)
IPPBX-A:SIP端口5060,RTP端口10010~10266;配置IP分机220,注册密码123321
IPPBX-B:SIP端口5060,RTP端口11010~11266;配置IP分机220,注册密码123321
NAT_IP:需要配置NAT_IP为192.168.120.44,以保证IPPBX信令携带的IP地址是防火墙的WAN口IP,从而可以建立正确的语音流。
对接语音网关配置
MX8A:IP地址为192.168.120.19,配置注册服务器192.168.120.44(200D的WAN口IP),配置PHONE1口号码220,注册密码123321
4.2 开启负载均衡功能及VOIP高级特性
如下图所示,在FortiGate中开启负载及VOIP特性
4.3 配置虚拟服务器
登录FortiGate 200D的配置界面,进入策略&对象下的负载均衡,打开虚拟服务器页面。新建一个虚拟服务器。具体配置如下图。其中虚拟服务器的IP地址为200D的WAN口地址。
4.4 配置真实服务器
进入真实服务器页面,添加两个,分别是IPPBX-A和IPPBX-B的IP地址
第一台设为激活模式,作为主设备
第二台设为待机模式,作为备份设备
4.5 监控检查
点开监控检查页面,根据实际情况配置检查规则。此规则用于FortiGate 200D判断内部IPPBX是否处于正常工作状态。
当配置完成监控检查后,需回到虚拟服务器页面,选择健康检查
4.6 配置虚拟IP
说明:配置虚拟IP是用于建立RTP端口映射
进入策略&对象下的对象,打开虚拟IP页面,新建两个虚拟IP,用于IPPBX-A和IPPBX-B的端口映射
4.7 策略配置
说明:之前建立的虚拟服务器和虚拟IP,必须建立相应的规则,才可以使用。那么整体需要建立四条规则
规则1:从内到外的允许,启用NAT
规则2:从外到内的VIP发布
规则3:从外到IPPBX A的媒体流交互
规则4:从外到IPPBX B的媒体流交互
建立虚拟服务器的规则:进入策略&对象下的测率,打开IPV4页面,点击新建。注意目的地址配置为虚拟服务器输入的名称。
下图简单介绍VIP发布及IPPBX发布配置
建立虚拟IP的规则:注意目的地址配置为虚拟IP输入的名称
至此配置完成。
第5章 分割点
若无问题,配置到上面即可结束,本人在测试的过程中不是很顺利,发生了若干问题。具体的每个问题下面会有介绍,通过有解决方法和排错过程。
第6章 遇到的问题
6.1 负载均衡回切慢问题
此会且慢问题本人在自己的电脑上搭建的测试环境进行测试:
测试环境如下:
1、 Windows 7笔记本一台
2、 workstation软件
3、 虚拟windows 7环境
4、 HFS网站快速发布工具
搭建好的环境监控负载状态如下:
其中一台为主机一台为备机,当主机异常后流量会切换到备机,当主机修复后发现流量要5分钟后才会切换回主机。5分钟为飞塔本身的特性,飞塔防火墙负载下面的服务器做一个hold时间,修复方式如下:
默认:
修改:
最小时间为30S,修改为30S保存
在两个IPPBX上分别更改上面的配置,至此且缓慢的问题解决。
6.2 语音无法建立问题
在用户的真是场景中发生了这样的问题,语音交换机可以注册,但是无法建立语音媒体流。在接触到这个问题的时候首先想到了是否是飞塔的ALG的问题导致的,同时参考厂商大牛的一个关于SIP故障问题处理手册
参考后有所启迪,但是并没有解决本次问题。
第一:删除飞塔的ALG,具体删除方式不再提及。
第二:按照厂商大牛的文档中的描述,配置VOIP属性,分别在策略中调用
命令:config voip profile
命令:edit default
命令:config sip
命令:set no-sdp-fixup enable
用show命令看一下配置
命令:end
命令:end
在用到的所有出向和入向策略中UTM启用VOIP,调用default
发现删除了ALG和配置VOIP后问题没有得到解决,这个时候没人任何办法的情况下,在飞塔的外网口和内网口分别抓去数据包。
数据包如下:
打开LAN的数据包查看信息如下:
打开WAN口的数据包发现信息如下:
通过抓包对比,发现LAN口的RTP端口是11248,到达WAN口出去的时候的RTP是11226。
发现RTP的端口被防火墙修改掉了。也就是语音流中的SDP被NAT了。
修复方式:
配置VOIP profile,将SDP设置为不修改
保存配置后,发现语音流量已经可以建立完成。
这个时候分别在防火墙的LAN口和WAN口抓包,信息如下:
LAN口抓包信息:
WAN口抓包信息:
对比两个数据包重的RTP端口,均一致为10124.
本次抓包共进行了三次呼叫,打开数据包进行对比,发现RTP端口均一致,至此呼叫不通问题解决。
6.3 语音IPPBX无法回切问题
在用户的环境中发现,当IPPBX切换到备机的时候,挡住主机的IPPBX恢复后,无法切换回主机的IPPBX上工作。
在此现象上,经过一系列排查,发现是由于备机的IPPBX的会话无法结束导致。
对于此问题的解决思路如下:
第一:调整飞塔设备上的UDP会话存活时间。
udp-idle-timer是udp信息在火墙中的存活时间的,将时间调整为16S
第二:通过在语音设备的管理控制台上看,最后发送信令的时间是19:02
但是过非常久的时间还是没有切换回主机,这个时候我去关注了idle的时间设定的是16s 。于是在这种情况下,我将idle的时间设定为2发现切换的很快,设定为4秒的时候也可以,设定为8秒的时候还是没问题,设定为14秒的时候还是okey的。只有设定为16S的时候切换不回来,而且在语音设备的WEB日志里看到确实没有发后续的信令注册包。
抓包:
在这个情况下进行了抓包,抓去语音设备的5060信息,发现尽快WEB几面上没有看到注册信令,但是在飞塔的抓包里面看到每相隔15S就会在wan1口上接收到一个5060
,这个时候确定问题应该不是在飞塔的配置上,到语音设备上查看配置,发现设备有一个keepalive机制,在nat的环境下默认每隔15S会发送一个注册信令,目的是告诉后端的ippbx时时知道它的源端口
,
验证:
将keepalive时间改成20S的时候在飞塔上抓包,看到的效果如下 20S收到一个5060
最后的解决办法就是语音设备上的keepallive时间要配合飞塔的udp idle时间设定,飞塔的udp idle时间小于keepallive时间即可。
本文档为【一次语音流量穿越飞塔Gate不通问题的解决过程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。