SIP测试环境搭建与SIP-ALG分析



一、SIP测试环境搭建:

常用组网:

代理服务器可用SIP Server 2008miniSIPserver。其中SIP Server 2008会修改SDP消息,导致数据报文也会过服务器转发,无法测试SIP-ALG效果。所以测试SIP-ALG时,使用miniSIPserver

安装完成miniSIPserver后,打开软件,左击分机,点击增加分机信息,点击确定就ok了:

 

 

终端设备使用X-Lite软电话:

window系统下安装完X-Lite后,打开软件,右击SIP  Account Settings 点击add配置客户端参数。注意保持与服务器用户名密码一致。代理服务器填写miniSIPserver服务器地址。

 

 

如果客户端上显示Ready并且拨号显示绿色,表示已经设置成功,且已在代理服务器上注册。(注:若显示没有音频驱动,请插入耳机)

此时miniSIPserver服务器上会显示分机地址:

 

二、SIP-ALG

防火墙设备均做源NAT

终端A呼叫终端B

终端A发送INVITE消息通过代理服务器转发至终端B,终端BINVITE消息中获取到终端AIP地址和端口。

终端B回应Ringing(响铃)消息和200OK(接听),终端A200OK消息中获取到终端BIP地址和端口。

然后终端A与终端B进行数据通信,而不经过代理服务器。

此时若不修改INVITE200OK内的SDP信息字段。终端A与终端B语音数据无法正常传输。

当开启SIP-ALG后:

防火墙设备会对SIP协议的INVITE200OK消息内容字段进行修改:

将终端A发出的INVITE消息SDP字段中的IP修改为源NAT地址池IP,端口随机。

终端B回应的200OK消息SDP字段中的IP修改为源NAT地址池IP,端口随机。

当防火墙设备收到终端A/终端B发送的语音数据后,会按ALG表项转换目的IP与端口,使数据报文到达终端B/终端A

 

 

SIP常见问题:

  1. 内网终端A与终端B单通(即AB数据报文正常转发,BA数据报文被丢弃)

       需在【会话管理】→【会话参数】关闭SIP检查。

    2、终端B与终端A无法正常通信,抓包显示RTP/RTCP报文交互正常,但正反向报文端口不一致。(因为有些软电话收包时会检查源端口)

       需要在命令行下开启alg sip src-port-hold(即只更改IP不更改端口)。

     

     

你可能感兴趣的:(网络知识,协议分析)