博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据gbt28181协议,注册到SPVMN平台的方法
阅读量:4041 次
发布时间:2019-05-24

本文共 4368 字,大约阅读时间需要 14 分钟。

说明:SPVMN平台IP为192.168.8.180,设备IP为192.168.8.184

一、向平台注册的交互协议

1、客户机向SPVMN平台注册协议

REGISTER sip:34020000002000000001@3402000000 SIP/2.0Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK1839159132From: 
;tag=1168363890To:
Call-ID: 434018964CSeq: 1 REGISTERContact:
Max-Forwards: 70User-Agent: IP CameraExpires: 3600Content-Length: 0
2、平台回复包

SIP/2.0 401 UnauthorizedCSeq: 1 REGISTERCall-ID: 434018964From: 
;tag=1168363890To:
;tag=90691234_53173353_a67d0e0e-e55c-4ac7-9d5a-f78e149aaf81Via: SIP/2.0/UDP 192.168.8.184:5060;rport=5060;branch=z9hG4bK1839159132;received=192.168.8.184WWW-Authenticate: Digest realm="3402000000",nonce="b1f444e6805f2768"Content-Length: 0
3、验证注册

REGISTER sip:34020000002000000001@3402000000 SIP/2.0Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK119722870From: 
;tag=1168363890To:
Call-ID: 434018964CSeq: 2 REGISTERContact:
Authorization: Digest username="34020000001320000001", realm="3402000000", nonce="b1f444e6805f2768", uri="sip:34020000002000000001@3402000000", response="97cae60143bf336443d0bc5e669571a9", algorithm=MD5Max-Forwards: 70User-Agent: IP CameraExpires: 3600Content-Length: 0
4、平台回复

SIP/2.0 200 OKCSeq: 2 REGISTERCall-ID: 434018964From: 
;tag=1168363890To:
;tag=02949493_53173353_db24af08-e421-4de3-85e7-b3f3f5284b02Via: SIP/2.0/UDP 192.168.8.184:5060;rport=5060;branch=z9hG4bK119722870;received=192.168.8.184Contact:
Expires: 3600Date: 2015-11-05T10:55:56.012Content-Length: 0

5、客户端向平台的消息请求包

MESSAGE sip:34020000002000000001@3402000000 SIP/2.0Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK10460200From: 
;tag=1056449357To:
Call-ID: 897764098CSeq: 20 MESSAGEContent-Type: Application/MANSCDP+xmlMax-Forwards: 70User-Agent: IP CameraContent-Length: 162
Keepalive
105
34020000001320000001
OK
6、平台回复

D?IWEge<@SSIP/2.0 200 OKCSeq: 20 MESSAGECall-ID: 897764098From: 
;tag=1056449357To:
;tag=32617088_53173353_9281af7a-b890-44e0-8033-2f61d4af7c64Via: SIP/2.0/UDP 192.168.8.184:5060;rport=5060;branch=z9hG4bK10460200;received=192.168.8.184Content-Length: 0
到此,注册成功。

二、视频播放协议

2.1 平台向设备请求数据

INVITE sip:34020000001320000001@3402000000 SIP/2.0Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0CSeq: 1 INVITEFrom: 
;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307To:
Max-Forwards: 70Contact: "34020000002000000001"
192.168.8.180
:5060>Content-Type: application/sdpRoute:
Via: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921343723068Content-Length: 225v=0o=34020000002020000001 0 0 IN IP4 192.168.8.180s=Playc=IN IP4 192.168.8.180t=0 0m=video 6000 RTP/AVP 96 98 97a=recvonlya=rtpmap:96 PS/90000a=rtpmap:98 H264/90000a=rtpmap:97 MPEG4/90000y=0100000001f=
2.2 设备回复平台的包

SIP/2.0 100 TryingVia: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921343723068;received=192.168.8.180From: 
;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307To:
Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0CSeq: 1 INVITEUser-Agent: IP CameraContent-Length: 0
SIP/2.0 200 OKVia: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921343723068;received=192.168.8.180From: 
;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307To:
;tag=833711816Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0CSeq: 1 INVITEContact:
Content-Type: application/sdpUser-Agent: IP CameraContent-Length: 227v=0o=34020000001320000001 3238 3238 IN IP4 192.168.8.184s=playc=IN IP4 192.168.8.184t=0 0m=video 15060 RTP/AVP 96a=sendonlya=rtpmap:96 PS/90000a=username:34020000001320000001a=password:12345678y=0100000001

2.3 平台发给设备的ACK,设备收到这个包后,就可以向平台发送RTP数据了

ACK sip:34020000001320000001@192.168.8.184:5060 SIP/2.0Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0CSeq: 1 ACKFrom: 
;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307To:
;tag=833711816Max-Forwards: 70Via: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921370541873Content-Length: 0

转载地址:http://mvldi.baihongyu.com/

你可能感兴趣的文章
C++构造与析构(2) - 拷贝构造函数
查看>>
C++构造与析构(3) - 析构函数
查看>>
C++构造与析构(4) - 默认构造函数
查看>>
C++构造与析构(5) - 何时必须自定义拷贝构造函数
查看>>
C++构造与析构(7) - 数据成员的初始化
查看>>
C++构造与析构(8) - 什么时候必须使用初始化列表
查看>>
C++构造与析构(9) - 默认构造函数
查看>>
C++构造与析构(10) - private析构函数
查看>>
C++构造与析构(11) - 析构函数的行为
查看>>
C++构造与析构(12) - copy elision编译器优化
查看>>
C++构造与析构(13) - 内建类型的默认构造函数
查看>>
C++构造与析构(14) - 编译器何时创建默认构造函数和拷贝构造函数
查看>>
C++构造与析构(15) - 为何拷贝构造函数必须为const
查看>>
C++构造与析构(16) - virtual构造函数
查看>>
C++构造与析构(17) - virtual拷贝构造函数
查看>>
C++构造与析构(18) - 静态对象(static object)何时销毁
查看>>
C++构造与析构(19) - 显式地调用构造函数和析构函数
查看>>
C++继承(1) - 基类哪些数据会被子类继承下来?
查看>>
C++继承(2) - 虚函数与运行时多态
查看>>
C++继承(3) - 多重继承
查看>>