解决ip冲突导致ippbx下挂电话业务不正常问题的过程.docx
《解决ip冲突导致ippbx下挂电话业务不正常问题的过程.docx》由会员分享,可在线阅读,更多相关《解决ip冲突导致ippbx下挂电话业务不正常问题的过程.docx(9页珍藏版)》请在冰豆网上搜索。
解决ip冲突导致ippbx下挂电话业务不正常问题的过程
IAD的ip配置冲突导致呼叫故障问题解决过程
用户反馈故障:
电话打入打出多次尝试才能成功,重启ippbx后能正常一段时间。
有时打出提示线路忙,再次尝试能成功。
现场组网结构:
ip配置:
共27个iad,ip从172.31.234.51到172.31.234.77
imp:
172.31.234.220,wan口10.8.64.252,网关:
10.8.64.1
主用ims:
221.13.5.226备用ims:
221.13.4.174
号码:
本地小号:
1,3,5,7,8,9打头四位号长
公网号码:
085891649百号段
处理过程:
执行ping10.8.64.1-c10-R,ping网关,显示经过发出10包,结果网关没有丢包。
ping向ims的ip221.13.5.226,发现也没有丢包
多次尝试,没有发现丢包。
证明网络没有问题,抓包看现象。
●抓包发现打出提示线路忙
Wireshark通过snmp口跟包发现用户打出后,系统没有转出,直接发183放音,听放音为一女声,非我们习惯的声音。
抓取rlog和runlog给公司研发分析,反馈是远端放的音。
检查没有发现远端的ip,想起wireshark没有抓取eth3的消息,所以没有看到wan口到ims的包。
再重新抓取eth2和eth3的消息再观察。
●抓eth2的包观察发现打ip最后一段为66的iad时,出600消息错误。
其他iad的拨打经wireshark听包的通话过程,正常。
想登录到172.31.234.66这个iad上去检查为什么回600,用另一台pc连接在在主控板的第四口,登录发现66iad上仅仅配置一个号码9005,那为什么imp会把1032,1028的呼叫指向iad66呢?
怀疑系统中存在两个172.31.234.66,让在另一台pc上cmd模式下ping172.31.234.66,然后arp–a显示mac缓存表。
Linux下ping172.31.234.66–c10,arp–a显示mac表。
而另一台pc上显示的mac地址为00:
0e:
5e:
58:
d2:
49。
telnet逐个检查每个iad的配置,登录172.31.234.66时发现它有这个mac地址。
检查配置文件表,发现有两个iad的ip为172.31.234.66(分别为备勤楼B,号码为1001到1034,计划岗楼4,号码仅一个9004)。
决定把备勤楼的ip进行修改为172.31.234.75后,观察再未出现此类故障。
第二天,再观察,也没有出现类似问题,由此判断问题问题有ip冲突引起。
●原因分析:
内部小号为1001到1032的iad备勤楼对应的mac00:
0e:
5e:
55:
4e:
86,计划岗楼iad的mac00:
0e:
5e:
58:
d2:
49,仅分配一个号码9004。
当呼叫1001到1032的呼叫时,linux里的mac表被更新为错误的mac,导致invite消息发向了错误iad,呼叫失败。
1001至1032用户发起呼叫时,imp板回的100trying发向了错误mac地址上,由于没有收到100trying,iad在0.5,1,2秒后重发invite,直到超时。
当正确mac的iad发出arp请求的imp板上时,imp会更新缓存中的mac值,imp发的183消息发到正确iad上,通话能正常。
见上图:
mac更新正常后,呼叫会成功,但当错误mac被更新到缓存中,呼叫会失败。
问题结论:
呼入呼出故障系两个iad的ip配置成了172.31.234.66,导致imp板的arp缓存有时被更新为错误的mac地址,当由ims呼入的电话到imp,imp板把invite消息转到错误的mac地址的iad上,iad没有配置相应的号码,回600全局忙,导致呼叫失败。
正常的iad呼出时,imp发的100try发到了错误的mac地址上,导致iad超时重发invite,最后呼叫失败。
拨打提示音问题,现场用iad电话拨测手机,发现手机空闲时,拨测10次,手机均正常振铃。
当手机处于通话态时,提示线路忙,观察信令系ims远端放音。
当手机登记有呼叫转移时,主叫听回铃音,观察信令发现ims发180消息,用户听本地放音。
结论,提示音正常。