MSR系列路由器
和v1.74 R系列路由器H323普通启动互通摘机无声音的经验案例
一、组网和配置:
MSR和R路由器各挂一个话机,使用H323作为VoIP信令:
MSR配置
#
interface GigabitEthernet0/0
port link-mode route
ip address 10.153.43.118 255.255.255.0
#
voice-setup
#
dial-program
#
// 指向R路由器的VoIP实体1
entity 1 voip
address ip 10.153.43.254
match-template 1
#
// 指向本地的Pots实体2
entity 2 pots
line 6/0
match-template 2
#
R路由器配置
!
interface Ethernet0
ip address 10.153.43.254 255.255.255.0
!
voice-setup
!
dial-program
!
// 本地Pots实体1
entity 1 pots
match-template 1
line 1
!
// 指向MSR的VoIP实体2
entity 2 voip
address ip 10.153.43.118
match-template 2
!
二、问题描述:
无论Phone1呼叫Phone2还是Phone2呼叫Phone1,回铃音和振铃音都正常,被叫摘机后主叫和被叫都无法听到对方声音。
三、过程分析:
经过IP侧抓包分析,发现双方在打开逻辑通道后,只有MSR往R发送的RTP包,而没有R往MSR发送的RTP包,而且R路由器收到MSR发送的RTP包后向MSR发ICMP Destination Port Unreachable错误:
再经过仔细比对H225、H245和分析v1.74 H323实现和v5平台实现之间的区别,发现在MSR所发送的H245 Setup(作为主叫时发送)和Connect(作为被叫时发送)中的Q.931中Display字段为“Wqldg0Hcwfydz”而R系列路由器的Display字段为“Vrp Gateway”:
该字段是用于判断厂家,如果该字段一致,则认为是相同厂家设备,如果不同则认为是不同厂家设备。
基于v1.74的路由器根据厂家不同或相同会进行不同的处理:
1、如果相同则在H245协商阶段中不进行Master-Slave-Determination(主从协商),直接打开逻辑通道传输话音;
2、如果不同,则必须要等待对端发起MSD协商,只有MSD协商完毕才能打开逻辑通道;
3、无论何种条件,v1.74路由器都不会主动进行MSD协商,只会被动响应。
基于v5平台的路由器则不考虑厂家是否相同:
1、无论何种条件,v5路由器都不会主动进行MSD协商,只会被动响应。
MSD协商和开逻辑通道OLC是相互独立的,所以在该组网中v1.74在等待MSR发送MSD协商,但我司实现都不会主动发送MSD协商,所以v1.74即使对OLC进行响应依然无法正常打开RTP通道,会给MSR回目的端口不可达的ICMP错误。
四、解决方案
在MSR上修改,使其Display和R系列一致,R路由器就不会等待MSD协商,正常打开RTP通道。
MSR配置
#
interface GigabitEthernet0/0
port link-mode route
ip address 10.153.43.118 255.255.255.0
#
voice-setup
// 添加h323-description Vrp Gateway和R路由器保持一致
voip h323-descriptor Vrp Gateway
#
dial-program
#
entity 1 voip
address ip 10.153.43.254
match-template 1
#
entity 2 pots
line 6/0
match-template 2
#
再抓包看一下,MSR发送的Setup消息中Display字段和正常RTP通话过程:
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作