
sip故障分析处理.docx
64页目录1 Sip故障常见分析方法: 11.1 Wireshark显示环境的配置: 21.1.1 设置显示列的源和目的端口增加包显示的可读性 21.1.2 调整包的显示 51.1.3 设置时间显示格式 51.1.4 设置显示的过滤表达式标签 51.1.5 添加协议的解析端口 71.1.6 强制解析包为某种协议 101.1.7 用ctrl+f进行查找需要的字段 131.1.8 用packet detail里的字段进行查找 151.1.9 抓包文件的保存 16l 抓包整个保存 16l 有选择的保存 172 SIP回复消息解析 213 工作中Sip故障类问题 233.1 SIP信令触发类问题 233.2 SIP终端注册类问题 253.3 SIP基本呼叫类问题 333.4 SIP呼叫语音视频单通或双不通类问题 403.5 SIP二次拨号类问题 463.6 SIP消息跟踪丢失类问题 493.7 SIP呼叫周期性失败类问题 503.8 SIP匿名呼叫类问题 503.9 SIP呼叫主叫用户无法听回铃音类问题 513.10 SIP和中继网关对接类问题 533.11 SIP补充业务类问题 543.12 SIP一号通,彩铃,UC呼叫类问题 553.13 SIP呼叫号码显示类问题 603.14 SIP类问题 603.15 SIP长时间通话断话类问题 633.16 SIP大面积呼损类问题 631 Sip故障常见分析方法: Sip协议是基于udp的协议,常见分析问题方法可分位抓包协议分析和日志分析,协议分析通过抓取的终端或者注册,代理服务器的流程,分析那个流程出错,进而找到原因。
日志分析通过设备内部的spms,as,cscf,mrf之间的流程关系,来确定程序内部处理的故障通过sip协议分析,我们先确定外部信令流程的故障,日志来确定程序的问题 现在我们来着重介绍一下,wireshark抓包分析sip信令流程的故障的处理过程Wireshark信令分析前,需要配置一下wireshark的环境,便于我们快速找出故障1.1 Wireshark显示环境的配置:1.1.1 设置显示列的源和目的端口增加包显示的可读性我们可以设置wireshark的显示的列字段,增加包的可读性如我们增加数据包源端口和目的端口,这样可以一目了然,知道是从哪里发的包方法菜单edit→preferences→user interface→columns→add对具体的字段field type进行选择,显示名称标题title进行修改点应用apply后,显示的内容增加,然后在显示界面调整显示的次序这样就添加了数据包显示时的源和目的端口,便于我们定位问题1.1.2 调整包的显示调整各个列字段的显示方式,显示的靠边,居中,靠右,列的宽度等内容1.1.3 设置时间显示格式这样就添加了数据包显示时间和源和目的端口,便于我们定位问题1.1.4 设置显示的过滤表达式标签可以在过滤器旁边添加过滤表达式的快捷标签,便于操作这样可以方便我们过滤出自己想要的内容。
1.1.5 添加协议的解析端口增加协议使用的非标准端口,这样可以使使用非标准端口的包解析为标准的协议如http使用默认是80端口,但用户有时定义的端口为8080,这样就可以直接解析出8080的内容为http协议如图:我们自己的编写的tomcat的应用程序使用的是8080端口作为http服务器监听端口,但抓包中显示的协议确实tcp我们可以在edit→preferences→protocal里找到对应的http协议添加对应解析端口,实现对8080端口的解析1.1.6 强制解析包为某种协议也可以把使用非标准端口的包解析为某协议如我们的网管程序使用了2121端口作为ftp服务器的监听端口,但ftp默认的端口是21,这样就无法解析成ftp协议,不便于分析信令我们可以使用收到解析的方法,把某个包解析为某种协议选中对应端口的行,右键一点,菜单中选择decode as解析后的包协议转换为ftp1.1.7 用ctrl+f进行查找需要的字段我们使用CTRL+F,查找18.250.0.31这个字符串或者十六进制12FA001F这个值同样我们可以按16进制查找同样有arp的回复和ping的回复,证明设备ip层是通的。
1.1.8 用packet detail里的字段进行查找我们也可以用detail里的字段显示作为过滤项,然后修改他的值来查找,具体:由此,判断基站的应用程序没有打开,如果打开的话,基站首先会查找网管的arp,得到响应后,基站会发起对网关url地址的tcp三步握手,然后激活相关的消息1.1.9 抓包文件的保存l 抓包整个保存 点击停止抓包,file菜单里点击save或save as菜单,选择保存目录和文件名后,点击保存l 有选择的保存 需要有选择的保存我们可以使用FILE→expor specified packets当要导出显示过滤项的包时,选上displayed,这样可以保留所需要的包要导出标记的包,要先标记包,然后选selected packe→选择marked packets或者first to last marked同样range可以输入报的number的范围2 SIP回复消息解析1XX=通知性应答 ·100 正在尝试 ·180 正在拨打 ·181 正被转接 ·182 正在排队 ·183 通话进展2XX=成功应答 ·200 OK ·202 被接受:用于转介3XX=转接应答 ·300 多项选择 ·301 被永久迁移 ·302 被暂时迁移 ·305 使用代理服务器 ·380 替代服务4XX=呼叫失败 ·400 呼叫不当 ·401 未经授权:只供注册机构使用,代理服务器应使用代理服务器授权407 ·402 要求付费(预计为将来使用) ·403 被禁止的 ·404 未发现:未发现用户 ·405 不允许的方法 ·406 不可接受 ·407 需要代理服务器授权 ·408 呼叫超时:在预定时间内无法找到用户 ·410 已消失:用户曾经存在,但已从此处消失 ·413 呼叫实体过大 ·414 呼叫URI过长 ·415 不支持的媒体类型 ·416 不支持的URI方案 ·420 不当扩展:使用了不当SIP协议扩展,服务器无法理解该扩展 ·421 需要扩展 ·423 时间间隔过短 ·480 暂时不可使用 ·481 通话/事务不存在 ·482 检测到循环 ·483 跳数过多 ·484 地址不全 ·485 模糊不清 ·486 此处太忙 ·487 呼叫被终止 ·488 此处不可接受 ·491 呼叫待批 ·493 无法解读:无法解读S/MIME文体部分5XX=服务器失败 ·500 服务器内部错误 ·501 无法实施:SIP呼叫方法在此处无法实施 ·502 不当网关 ·503 服务不可使用 ·504 服务器超时 ·505 不支持该版本:服务器不支持SIP协议的这个版本 ·513 消息过长6XX=全局失败 ·600 各处均忙 ·603 拒绝 ·604 无处存在 ·606 不可使用3 工作中Sip故障类问题3.1 SIP信令触发类问题【问题现象】1)SIP平台无法处理任何SIP相关业务2)打开SIP信令跟踪,无法看到任何消息3)请详细描述其他现象【处理思路】该类问题主要是SIP平台缺少处理SIP协议的能力,需要检查配置。
可能是没有或是没有配置SIP基本数据【配置检查】1)检查是否有加载sip协议相关主程序2)检查是否配置SIP协议基本数据: 3)检查是否配置SIP本地端口:4)检查是否配置SIP分发能力:LST DPA【反馈信息】1) 上面的检查结果范例:确定程序运行后查看主程序打开的udp端口3.2 SIP终端注册类问题【问题现象】1) SIP平台上SIP信令跟踪看不到终端注册请求,SIP终端注册不停的重发见下图范例:同网段的sip注册消息发向了网关的mac地址2) SIP平台对终端注册请求回复401/403消息3) SIP平台对终端注册请求回复404消息4) SIP平台对终端注册请求回复423消息5)注册失败,ims回500错误处理思路】该类问题一般与配置有关:1) 路由:SIP终端与SIP平台之间的网络不通,或SIP终端上注册服务器的IP地址或者端口配置出错,导致注册信息无法到达SIP平台,注册超时,若回端口不可达destination unreachable就要检查对应注册端口是否携带正确l 范例:终端到注册服务器路由不通导致注册消息发到错误的地方查看sip软终端对应的路由表发现没有直达路由,消息走了缺省路由Pc增加一个172.31.11.145的ip后,路由表显示为l 范例2:sip的注册端口填错,导致sip的udp消息发送到错误端口,注册服务器回端口不可达注册消息发到5050端口,对端5050端口没有打开,没有处于listen态,所以会回端口不可达icmp响应。
检查配置错误,改正成5060后正常2) 鉴权:SIP终端不支持鉴权,但添加SIP设备的时候,选择需要终端鉴权,导致SIP平台发送401,没有再次发送注册信息而失败或者鉴权密码不正确或者鉴权用户名错误,SIP平台发送403拒绝注册;3)SIP设备数据:没有配置该终端的数据,SIP平台发送404拒绝注册;号码未分配,导致回404消息4) 注册时长:终端期望的注册时长小于SIP平台上配置的最小注册时长,SIP平台发送423拒绝请求l 向ims注册,expires太短造成ims回423 interval too brief间隔太短消息5) 故障现象范例:l Nouce参数没有携带导致注册失败UCS通过Wan口向IMS发起注册后,IMS回复401要求进行鉴权,并下发鉴权参数,终端携带鉴权参数再次向上发注册,IMS回复500错误,注册失败处理过程: 确认运营商给分配的用户认证名、密码是否正确;这些基本信息错误会导致注册失败;如果确认无误,进入第2步;Wan口向上发起注册后,核心网回复401要求进行鉴权,并下发鉴权参数,再次发起注册的时候,本地通过MD5算法将计算结果response返回,服务器回复500错误,注册失败。
通过消息发现,服务器回复的参数中有qop(指客户端对该消息应用的保护等级(quality of protection))这个参数,则要求客户端注册必须有cnonce和nonce-count两个参数,手动通过shell命令添加cnonce这个参数之后(imp_spms_ auth_ cn。
