找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3647|回复: 0

ippbx出现单通故障解决过程总结

[复制链接]
发表于 2022-3-10 19:14:05 | 显示全部楼层 |阅读模式
公司售出的一套ippbx,下联iad,通过sip协议对接e1板卡,e1板通过dss1协议对接公网联通的程控交换机,反馈呼出电话接通后有一段时间被叫听不到声音,但过一段时间能恢复。还有问题是拨号后听到“您说拨打的用户现在不方便接听,请稍后再拨”。
3 P6 f8 p) I+ m& S; |) H' g
1 y! u5 `) {2 f# q- m0 P  远程登录上去抓包,没有抓到现象,用户反馈是偶发现象,为此登录ippbx启动远程抓包服务器,用wireshark对远程设备进行抓包,启动多文件抓包方法。如下图:
4 p' w+ \0 k; [1 j1 {
# ~: D9 @- D' u- n$ n- v+ F' {. W6 u8 l  r
1 u/ b. X4 I9 r! V
多文件抓包,每个包50M,进行预过滤,过滤udp port  5060  or  udp  portrange  10000-65500的sip消息和rtp流消息。
% s0 P/ w3 S" {! a4 r) [4 Z+ F# ~- Q/ I/ y. B
用户反馈发生故障后,记录了用户的号码和主被叫号码和发生大概时间。找到对应时间的抓包,对抓包进行分析发现,
7 x! c; T3 a7 z- Y5 m+ z" r  X0 N. k8 h1 N" b
+ T2 L* B; c8 _. |7 V

% L/ F" V; \9 Q1 S' ?+ _6 i是固定电话拨打手机,听一下是那方通话掉了?
. U, ^9 ~3 N7 p+ v) z0 h8 P1 Z* c- m6 ?. N1 ]; [6 z4 N* J8 u
" u! V1 w5 L/ X( @4 R6 n+ \, M. e0 W

9 n. ?5 v; C2 S6 Y听到反馈的这次呼叫被叫说一段时间他听不到主机的声音,被叫的声音主叫听听着正常。被叫侧一段时间出现单通。
" p1 b. {+ u! D- P4 F3 x9 O' e+ H: q2 B. E7 |" I1 }+ l
但单独听主叫发给被叫的声音,是连续的,没有中断,是e1板没有发出还是对方手机网络或者传输中间环节造成了单通?
7 L' A: I( O0 k+ s$ }
9 e% k  g$ w6 F/ w! C7 A* i! P据此无法判断哪里故障,因为可能e1版有问题,或者手机网络有问题,或者中间经过节点出现了问题?3 B+ W) @! n8 ^5 d- _- R( ]3 J
) m7 j% h$ |* @, ^( N2 M

1 W; Z7 V: Z! _" J7 V2 @  @! y9 O  F" C+ x+ T
因为用户仅反馈都是拨打手机出现的问题,无法确定是否是e1板发出的包有丢的还是对方手机网络的问题。+ \  H, P' y7 [7 a5 V
9 ^, \3 r: m+ b9 a
觉得e1板硬件出问题,应该出去的所以呼叫都会有问题,现在反馈的仅仅是拨打手机出问题。# h. Z1 w! \: ]( u" O! J. y4 e
+ Z5 P: K' t( w6 ?
没有头绪,不知道怎么查找,因为e1发出的码流无法抓取监听,不能确定e1发出的有没问题?7 a8 G) E7 r  c$ G

) I, d. u* Y# o0 z0 V再去查看拨出“听到无法接通“”提示音的问题,发现下面现象:
/ ~; N! P$ h0 \/ ^5 E' M2 S6 g1 k( C4 N
1 L( g0 |) y' Q5 u/ T% c

- i2 e, e* i4 h
7 y; I3 h) y& t3 N: \8 l
: k3 `" C2 D/ S# {9 ~: P5 f2 H发现是转给e1板的呼叫没有收到后向消息,等超时后,ippbx给iad放音,释放了呼叫。2 D6 R( U% ?: {; }3 J

/ {0 B! r7 ~' v+ h3 M0 e5 P: W转给e1板的消息没有应答,100trying没有收到,5秒超时,ippbx直接给下面的iad放音了,暂时无法接通。( }5 F/ w- V8 P2 E" K" q; e: \  ^* y
6 U: a2 ?# e/ G+ c7 Y( O+ M
奇怪为什么e1板回invite的响应呢?要么没收到,要么收到了没回?这两种情况。: M: ]( i6 y8 z7 q  F
. V4 l3 B5 a$ R
看这几个invite有啥特殊的地方?( ?6 M% Y. z2 `) W
, {9 c+ @& I5 H" c$ W1 \
$ C  {  J' C& w* `

% L" Q: J: m7 \, e6 K! I显然不是我司的产品00-0e-5e打头的mac地址。
  \6 M1 y2 D5 F0 ?! A. b0 \  x. q( d" a$ y
对比正常呼叫的mac地址
' K& w6 W& f# K6 V, o6 n0 f" Q; k& h, m
7 o! l! a- ]/ S2 ?
( R  I% G& W% u( h2 s* }2 i, b
据此,判断环境中存在两个172.31.234.108的ip地址,造成ippbx把invite消息发给了错误的mac地址,导致e1板没有收到这个invite消息,所以没有响应。当时没有抓arp包,应该是这个设备发出的查询172.31.234.220的mac地址,或者ippbx发出查询172.31.234.108的mac地址,这个冲突的设备回了,导致ippbx的mac地址被更新,导致的故障。
. S" J7 ?+ [" Z  q" w$ H% ?& Z6 e4 }2 W8 _& q7 p+ L# ?
检查下面的iad有一个172.31.234.108的设备:" E# ?! D. t  M+ [& G
  F: ^/ j5 z0 C

% ?4 A3 K% S1 j. R* @5 T
6 \2 v; z; V" U- u( d让现场更改这个ip地址,防止和e1板冲突,后故障消除。
4 P3 j$ o" h9 Y
7 }4 o( F/ |! Y5 w1 M1 U改天抓的包里:" e; }1 ?! Z: b* K0 x9 T% D

2 u' H% D; ]  q, A+ f/ v. ~9 g' X, Z# ?) j2 ]) Y+ z; j( e( \
6 o9 }- s' c" o. z+ S7 a
改成了这个ip地址。
2 _. ?+ Z" X; t9 ^
& [' D# B& k8 f% b  k回头再去看单通的问题,发现单通的时间段里,消息发给了错误的mac地址。
* c0 q( S" X* w, n% n' e. Z' F" d; M& p. j6 V: N4 L, T( D( ^8 |' k

0 Y8 R+ h6 @) n  c4 d  j( V' g  Z, V, @5 u9 ?3 J  v
6 Q5 |, F# L, I
' L7 K" ?) A3 U3 h8 I4 \

8 u  q) a# y' F( i
0 t( e1 b* n8 V" O# B6 C4 [, @( M9 [: E7 @+ }. z7 \: G6 S3 e; V% U  O
  G& J+ u8 i' ~7 S+ z* w
2 @! Y2 K" i# p0 _% L" ]- K3 f- l" J

2 K. c$ y4 |8 @* Z7 D0 K# y1 }/ ^8 u# M% P
* U/ X0 F4 y0 W  p8 c& K
结论:ip冲突导致单通和呼叫不通,arp单播消息导致mac地址被更改为错误的,导致ip层消息发给错误的地方,导致奇怪现象的发生。改天抓的包如下:
7 ^9 @/ I# q) D% ~" d/ U; _4 h* q% J0 E- [

! A0 O, g' a' R( Q2 B; t: T
9 @6 {4 ]. m% F- ^0 \经验:不是下面那个拨叫不通听提示音的问题,还发现不了是ip冲突,以后遇到此类文件,还真得注意了,抓包要抓arp和sip协议和rtp协议和icmp协议(rtp发错地方会有icmp的提示),这样好排查故障。
6 `- R# F7 J# w+ F8 ^3 I) ]- |) x+ n; q7 z" `' [% k
wireshark里的ctrl+f可以快速找到字符串和16进制串,查找rtp的ssrc可以确定一个方向的语音流。sip contains 号码可以快速找到对应的通话流程包。
2 @! k. r  r& _. H! [% o6 I————————————————1 j7 B! F  C7 S# N
版权声明:本文为CSDN博主「wj31932」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。" |$ g9 h2 }) `9 k# S# A1 X( Z
原文链接:https://blog.csdn.net/wj31932/article/details/1000573189 E! N( i8 x" q1 V/ `4 w1 ?

- D& u# d5 T4 g& C' P. `4 `
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|赛格电脑 华强北 电脑城 南山赛格 龙岗电子世界 龙华电脑城 沙井电脑城 松岗电脑城 pc4g.com ( 粤ICP备16039863号 )

GMT+8, 2025-8-14 01:57 , Processed in 0.038117 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表