GB28181 进阶玩法 点播抓包

  1. 1、向下级域发送invite请求
  2. 2、下级域回复100
  3. 3、下级域回复200
  4. 4、上级域回复ACK
  5. 5、点播流程图
  6. 6、点播总结

本文主要展示 上级域对国标平台进行预览/回看等流程的信令交互

来抓点播的包看看,它是怎么个结构。在服务器上开启 tcpdump 抓包:

tcpdump port 5060 -w dianbo.pcap

在网页上点击点播按钮。等待几秒后,关闭抓包程序,用 wireshark 打开 dianbo.pcap

我们可以看到有如下几步

  • 向下级域发送 invite 请求
  • 下级域回复 100
  • 下级域回复 200
  • 上级域回复 ack

1、向下级域发送invite请求

INVITE sip:下级域被点播的通道id@下级域ip:38819 SIP/2.0
Call-ID: 3ee32c868d2adb1fafa1c10cc150d684@上级域ip
CSeq: 1 INVITE
From: <sip:上级域id@上级域>;tag=live
To: <sip:下级域被点播的通道id@上级域>
Via: SIP/2.0/UDP 上级域ip:上级域port;rport;branch=z9hG4bK-353932-a45ead9a54434facabb03e2b939117b8
Max-Forwards: 70
Contact: <sip:上级域id@上级域ip:上级域port>
Subject: 下级域被点播的通道id:上级域为本次点播生成的ssrc,上级域id:0
Content-Type: APPLICATION/SDP
Content-Length: 213

v=0
o=下级域被点播的通道id 0 0 IN IP4 上级域流媒体服务器ip
s=行为代号,直播为:Play;回放为:Playback
c=IN IP4 上级域流媒体服务器ip
t=0 0
m=video 10000 RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
y=上级域为本次点播生成的ssrc


注意:APPLICATION/SDP 是大写,有些国标平台,若是收到非大写的,不会回复 100 Trying

2、下级域回复100

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.30.173:5060;rport;branch=SrsGbB87213477
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF30139209
To: <sip:34020000001320000003@3402000000>
Call-ID: 202096464045
CSeq: 101 INVITE
User-Agent: IP Camera
Content-Length: 0

3、下级域回复200

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.30.173:5060;rport=5060;branch=SrsGbB87213477
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF30139209
To: <sip:34020000001320000003@3402000000>;tag=1263794727
Call-ID: 202096464045
CSeq: 101 INVITE
Contact: <sip:34020000001320000003@192.168.30.228:5060>
Content-Type: application/SDP
User-Agent: Embedded Net DVR/NVR/DVS
Content-Length: 264

v=0
o=34020000001110000001 0 0 IN IP4 192.168.30.228
s=EZVIZ X5S
c=IN IP4 192.168.30.228
t=1591259324 1591269113
m=video 62172 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
a=username:34020000001110000001
a=password:12345678
a=filesize:1
y=0009880078
f=

4、上级域回复ACK

ACK sip:34020000001320000003@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.30.173:5060;rport;branch=SrsGbB87213477
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF30139209
To: <sip:34020000001320000003@3402000000>;tag=1263794727
Call-ID: 202096464045
CSeq: 101 ACK
Max-Forwards: 70
User-Agent: SRS/4.0.26(Leo)
Content-Length: 0

5、点播流程图

6、点播总结

在排查实时视频点播失败的问题时,可通过抓包来分析定位出哪个信令步骤出错。如果以上 4 步信令回复都正常,则需要在流媒体之间抓码流包分析码流包是否正常。例如在实际环境中就遇到信令回复正常但是视频点播无图像的情况,通过抓码流包发现:下级平台实际发送视频流的流媒体服务器IP与网关信令中回复的流媒体服务器IP不一致,导致视频点播无图像


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:GB28181 进阶玩法 点播抓包

字数:731

本文作者:夏来风

发布时间:2020-11-27, 22:56:56

原始链接:http://www.demo1024.com/blog/gb28181-zhuabao-play/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。