SIP抓包调试、故障排查与项目上线实战手册

一、Wireshark SIP专属抓包过滤指令(运维高频必备)

所有指令可直接复制使用,精准过滤信令、媒体、故障报文,快速定位问题,规避无效抓包。

1. 基础全局过滤

  • 抓取所有SIP信令:sip

  • 抓取默认端口SIP:udp.port == 5060 || tcp.port == 5060

  • 抓取加密SIPS:tcp.port == 5061

  • 同时抓取信令+媒体:udp.port == 5060 || rtp

2. 按请求方法精准过滤

  • 呼叫报文:sip.Method == "INVITE"

  • 注册报文:sip.Method == "REGISTER"

  • 挂断报文:sip.Method == "BYE"

  • 取消呼叫:sip.Method == "CANCEL"

  • 能力探测:sip.Method == "OPTIONS"

3. 按状态码故障过滤

  • 所有错误报文:sip.Status-Code >= 400

  • 鉴权失败:sip.Status-Code == 401

  • 号码不存在:sip.Status-Code == 404

  • 对方占线:sip.Status-Code == 486

  • 编码不兼容:sip.Status-Code == 488

  • 服务器异常:sip.Status-Code == 500

4. 精准定位终端与会话

  • 过滤指定主叫:sip.From contains "分机号"

  • 过滤指定被叫:sip.To contains "分机号"

  • 过滤带鉴权报文:sip.Authorization

  • 过滤媒体协商报文:sip.Content-Type contains "sdp"

5. RTP媒体流过滤(无声/单通排查核心)

  • 所有媒体流:rtp

  • G.711a编码:rtp.payload_type == 8

  • G.711u编码:rtp.payload_type == 0

  • G.729编码:rtp.payload_type == 18

6. 抓包调试高阶技巧

右键报文选择「Follow SIP Stream」,一键还原完整呼叫时序;选中RTP流可直接播放语音,快速判断杂音、无声、单通问题;过滤后导出指定报文,用于故障复盘与厂商对接。

二、三大核心故障标准化排查方案

1. 终端注册失败(401/403/404/超时掉线)

前置基础检查:ping服务器IP验证连通性,放行5060端口,核对终端账号、密码、服务器地址、realm域,确认账号未被禁用、无IP黑名单。

故障细分定位

  • 401鉴权失败:密码错误、realm不匹配、未携带鉴权头

  • 404号码不存在:服务器未创建对应分机账号

  • 403禁止访问:账号禁用、IP黑名单、无注册权限

  • 无响应超时:防火墙拦截UDP报文、SIP服务宕机、公网NAT丢包

  • 频繁掉线:NAT会话超时、重注册间隔过长、expires参数不合理(推荐1800-3600s)

2. 呼叫建立失败(振铃失败、接通报错)

  • 404:路由规则错误、被叫离线、前缀匹配异常

  • 486:被叫占线、终端勿扰、最大并发打满

  • 488:两端编码无交集,无通用兜底编码

  • 487:呼叫中途取消、服务器路由超时

  • 503:中继离线、服务器过载、网关故障

3. 接通无声/单通/杂音(最高频工程问题)

核心根因:信令正常、媒体异常,90%问题源于NAT穿透异常、端口拦截、编码不兼容、网络丢包。

  • 双向无声:两端RTP端口拦截、SDP内网IP无法路由、编码不匹配

  • 单向通话:内网终端SDP携带内网IP,外网无法回包,NAT无地址替换

  • 杂音/断续:网络丢包、抖动过高、UDP报文分片被拦截、WiFi信号不稳定

根治方案:公网部署SBC/STUN,关闭路由器SIP ALG,放行10000-20000 UDP端口,统一终端编码优先级,优化网络QoS。

三、分层标准化排查流程(万能排障逻辑)

1. 网络层(第一层排查)

验证IP连通性、端口放行、VLAN隔离、NAT规则、UDP会话超时时间,公网环境关闭SIP ALG,规避报文篡改。

2. 信令层(第二层排查)

抓包核对注册、呼叫完整时序,通过状态码定位客户端/服务端故障,确认鉴权、路由、会话流程无异常。

3. 媒体层(第三层排查)

校验SDP的IP、端口、编码合法性,抓取RTP流验证双向数据传输,排查丢包、延迟、抖动问题。

四、SIP项目上线全量检查清单(内网+公网双版本)

1. 内网IPPBX上线清单

  • 服务器:固定静态IP、SIP服务正常运行、NTP时间同步、防火墙放行5060端口

  • 账号配置:开启MD5鉴权、配置合理注册有效期、分配对应呼出/呼入权限

  • 终端配置:匹配服务器参数、统一编码优先级、固定终端IP、关闭冗余功能

  • 业务测试:注册稳定、互呼正常、语音清晰、转接/保持/录音功能正常、无僵死会话

2. 公网SIP中继/外网终端上线清单

  • 边界设备:固定公网IP、放行信令与媒体端口、调整UDP超时≥360s、部署SBC/STUN

  • 安全配置:关闭匿名注册、开启TLS/SRTP加密、限制单账号并发、开启呼叫日志审计

  • 终端适配:开启STUN穿透、缩短重注册间隔、优先低带宽编码、适配4G/WiFi切换场景

  • 全场景测试:外网注册稳定、内外网互通正常、无单通掉线、中继呼叫无异常

五、日常运维巡检规范与故障速记口诀

1. 日常巡检核心项

每日统计4xx/5xx错误量、核查终端在线状态、监控服务器CPU/内存/磁盘负载、检测中继线路状态、定期清理僵死会话与过期注册信息。

2. 故障速记口诀

注册失败查鉴权、网络、黑名单;呼叫不通看状态码,404路由、486占线、488编码;无声单通查RTP、NAT、端口;杂音断续查网络、QoS、固件。

相关推荐
EterNity_TiMe_3 分钟前
一个网页管理多种远程连接:Docker 部署 Next Terminal 与资产审计
运维·人工智能·docker·ai·容器
梦诺16 分钟前
LINUX定时执行脚本
linux·运维·服务器
Dovis(誓平步青云)22 分钟前
心情日记的安全编辑流程:输入校验、删除确认与状态回收
android·运维·服务器·开发语言·windows·安全
wazmlp00188736926 分钟前
控制器管理
linux·运维·服务器
薛定猫AI29 分钟前
【深度解析】DeepSeek Harness:可插拔智能体运行时如何连接大模型与真实计算机
java·运维·网络
学linux的QQ蛋30 分钟前
Linux 文件 IO:系统调用 open/read/write 完整总结
linux·运维·算法
Rei224843 分钟前
使用llama.cpp的Qwen3.6-27B-Q8本地部署详解【Linux GPU】
linux·运维·llama
裕晟资质规划1 小时前
首次办理军工保密资质:咨询服务选择要点与全流程交付清单(评估框架)
大数据·运维·服务器·网络·数据库·经验分享
超龄超能程序猿1 小时前
实战优化:.NET 8 容器 Debian 源+时间同步企业级 Dockerfile
运维·debian·.net
运维全栈笔记4 小时前
Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
运维·服务器·vue.js·spring boot·笔记·开源·开源软件