FAQ 点播INVITE与ACK流异常

2 阅读2分钟

Skeyevss FAQ:点播 INVITE 与 ACK 流程异常

试用安装包下载 | SMS | 在线演示

项目地址github.com/openskeye/g…


1. 问题现象

点击通道预览后长时间加载、黑屏,或偶发能连上但很快断开;SIP 日志中可见 INVITE 但缺少 200 OK/ACK,或 ACK 后无媒体。


2. 国标点播典型信令顺序(概念)

  1. 平台向设备发 INVITE(携带 SDP,描述收流地址与媒体能力);
  2. 设备返回 100 Trying(可选)、200 OK(携带设备侧 SDP);
  3. 平台发 ACK 确认;
  4. 媒体通道按 SDP 约定建立(RTP/PS 等)。

任一环节超时或 SDP 地址不可达,都会导致「信令看似成功但无画面」。


3. SDP 与媒体地址

重点核对 SDP 中的 c=(连接地址)与 m=(端口)

  • 平台告知设备的收流地址必须是设备能路由到的 IP(常与服务 INTERNAL_IP/EXTERNAL_IP 及 WAN 开关有关);
  • 若设备在内网而 SDP 填了错误的公网或未做端口映射,设备会把码流发到黑洞;
  • 对称 NAT 场景下,需保证媒体端口范围在防火墙中放行。

4. 常见 SIP 层错误

  • 486 Busy Here / 603 Decline:设备端通道占用或拒绝预览;
  • 481 Call/Transaction Does Not Exist:事务不匹配,可能重复 CSeq 或会话已结束仍发 BYE
  • 408:对端未及时响应,检查设备负载与网络时延。

Call-ID 固定到单次点播会话,避免把多次点击混在一起分析。


5. 与流媒体服务的关系

信令成功仅代表「会话建立」,实际画面依赖 媒体服务(如 SkeyesMS) 是否收到码流、是否完成转发。若 SIP 侧 200 OK/ACK 完整仍无画面,应并行检查:

  • 媒体进程是否运行、端口是否与配置一致;
  • 设备编码格式是否在协商范围内;
  • 是否存在仅 TCP 收流而设备只发 UDP 等协议不匹配。

6. 建议排障顺序

  1. SIP 实时日志:确认 INVITE200ACK 闭环;
  2. 导出对应 SDP,人工读 c=/m= 与网络拓扑是否一致;
  3. 抓包或媒体服务日志,确认 RTP 是否有包、SSRC 是否变化异常;
  4. 对照《服务正常运行但没有画面》文档核对环境变量中的 IP 策略。

INVITE/ACK 问题本质是「信令 + 媒体路径」联合问题,只盯一端容易误判。