H3C VOIP与PSTN互通避免多被叫配置案例
一 组网:
二 问题描述:
某局点通过一台XE2000、一台VG80-20,及若干VG20-16组建VOIP系统,并与电信PSTN互接,采用一路E1(ISDN的PRI信令)。目前的故障现象为:VG下的话机占线,另一部电话再拨打它则20S左右听不到任何声音,之后才听到忙音,而不是正常情况下的马上听到忙音。
三 过程分析:
由于问题是由代理商反映,在没有收集debug信息的情况下,与二线耿皥联系,建议按以下方法排除故障:
1)首先排除是否是媒体服务器的配置问题,可以先关闭XE上的媒体服务器再拨打电话测试是否立即听到忙音:
[XE]media-server
[XE-ms]stop
现场测试未解决问题。
2)更改随机号码选择功能,停用该功能做测试
[XE]location-server
[XE-LS] policy random-selection disable
增加该配置后也未解决问题。
3)由于XE上配置了prefix . (VG80-20部分),因此存在多被叫,将prefix .去掉后测试是否正常。(在测试中发现去掉prefix . 会导致VG下话机与PSTN下的电话通话立即中断的故障现象,在R0020版本下故障依旧,已反馈二线定位。)
当去掉后再测试,拨打占线的话机可以立即听到忙音,为证实,在VG80-20上打开debug voice ipp all后,再次拨打电话测试,打印出如下信息:
IPP_SOK [SYS]: Asyn Socket Read Event Received, socket_id=331, socket_type=1, ip_struct=0x03d76d54
IPP_225 [ -1]: receive Setup msg, crv=33077, src=169.42.0.1
called=3801, caller=3802,FacilityLen=0
IPP_225 [ -1]: Setup msg, faststart=TRUE, tunnel=FALSE, h245=NONE
IPP_225 [ -1]: Send CallProceeding Msg when receive Setup Msg
IPP_RAS [ -1]: Send ARQ Msg when receive Setup Msg
IPP_SOK [SYS]: ASYN_READ received, socketid=325
IPP_SOK [SYS]: Asyn Socket Read Event Received, socket_id=325, socket_type=4, ip_struct=0x00000000
IPP_RAS [ -1]: Receive ACF Msg, Dest=1429@169.42.0.1, Src=1720@169.42.0.2
IPP_VCC [65535]: Send IPCallOut Msg when receive Called ACF Msg
DPL_SUBST: [MultTabMainProc]Found suitable substitute rule:
szInputFormat:^38..$ >> szOutputFormat:82338..
DPL_SUBST: [MultTabMainProc]The user number have been substituted
successfully. Origin Number is 3802, Substituted Number
is 8233802
DPL_CP: [FillEntityTagToArr]Stop to select the other entities.
DPL_SRCH: [GetEntity]The matched entity list:
10000
DPL_INTF: Get entity 10000 successfully!
DPL_SUBST: [SingleTabMainProc]No suitable substitute rule found!
The user number 8233802 has not been substituted.
IPP_SOK [SYS]: ASYN_READ received, socketid=331
IPP_SOK [SYS]: Asyn Socket Read Event Received, socket_id=331, socket_type=1, ip_struct=0x03d76d54
IPP_SOK [SYS]: ASYN_READ received, socketid=331
IPP_SOK [SYS]: Asyn Socket Read Event Received, socket_id=331, socket_type=1, ip_struct=0x03d76d54
IPP_SOK [SYS]: ASYN_PEERCLOSE received, socketid=331
IPP_SOK [SYS]: ASYN_READ received, socketid=331
IPP_SOK [SYS]: Asyn Socket Read Event Received, socket_id=331, socket_type=1, ip_struct=0x03d76d54
IPP_225 [65535]: Receive ReleaseComplete Msg crv=33077 reason=159+255,FacilityLen=0
IPP_VCC [65535]: Send IPRelease Msg when receive ReleaseComplete Msg
IPP_RAS [65535]: Send DRQ Msg when receive ReleaseComplete Msg
IPP_C&C [65535]: IPCCB is released
IPP_SOK [SYS]: delete Asyn socket, socket_id = 331
IPP_SOK [SYS]: Close Asyn Socket, socket_id = 331 , socket_type = 1
IPP_SOK [SYS]: ASYN_READ received, socketid=325
IPP_SOK [SYS]: Asyn Socket Read Event Received, socket_id=325, socket_type=4, ip_struct=0x00000000
IPP: RAS: Can't find CCB in OnRcvDCFMsg
可以看到主叫3802呼叫被叫3801匹配到了VG80-20的10000实体,该实体的匹配规则是拨打PSTN的,为什么会这样呢,首先呼叫3801是匹配到了VG20-16上的实体,但是占线,此是XE会继续查找匹配的实体,此时由于VG80-20配置了prefix . ,即匹配任意的前缀,因此才会继续匹配到VG80-20的10000实体,而电信侧肯定是没有这个号码的,因此最终超时才听到忙音。
四 解决方法:
既然问题原因已经找到,那么就容易解决了。将prefix .改为prefix [0124-9],只要不匹配以3开头的前缀就可以了,可刚巧本地市话有以3开头的,但不同的是市话是7位的号码,因此只要再加一条prefix 3…… 就解决了,于是拨一个3开头的市话测试,当拨到第4位后即听到忙音,
这又是为什么呢?原来之前未考虑周到,以为内线号码都是以37、38、39开头的四位,因此在VG20-16上的VOIP实体配置为 3[7-9].. ,刚才拨打的市话号码刚好以38打头,
这又是一个冲突,于是只有将VG20-16上的VOIP实体3[7-9].. 改为 3.T ,不足的是内线也不能精确匹配位数,要等号码拨完后的超时,于是再将VG20-16的所有用户线下配置:
subscriber-line xx
timer dial-interval 3
附配置文件.
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作