根据gbt28181协议,注册到SPVMN平台的方法

2023-11-11 12:48

本文主要是介绍根据gbt28181协议,注册到SPVMN平台的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


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

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

REGISTER sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK1839159132
From: <sip:34020000001320000001@3402000000>;tag=1168363890
To: <sip:34020000001320000001@3402000000>
Call-ID: 434018964
CSeq: 1 REGISTER
Contact: <sip:34020000001320000001@192.168.8.184:5060>
Max-Forwards: 70
User-Agent: IP Camera
Expires: 3600
Content-Length: 0

2、平台回复包

SIP/2.0 401 Unauthorized
CSeq: 1 REGISTER
Call-ID: 434018964
From: <sip:34020000001320000001@3402000000>;tag=1168363890
To: <sip:34020000001320000001@3402000000>;tag=90691234_53173353_a67d0e0e-e55c-4ac7-9d5a-f78e149aaf81
Via: SIP/2.0/UDP 192.168.8.184:5060;rport=5060;branch=z9hG4bK1839159132;received=192.168.8.184
WWW-Authenticate: Digest realm="3402000000",nonce="b1f444e6805f2768"
Content-Length: 0

3、验证注册

REGISTER sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK119722870
From: <sip:34020000001320000001@3402000000>;tag=1168363890
To: <sip:34020000001320000001@3402000000>
Call-ID: 434018964
CSeq: 2 REGISTER
Contact: <sip:34020000001320000001@192.168.8.184:5060>
Authorization: Digest username="34020000001320000001", realm="3402000000", nonce="b1f444e6805f2768", uri="sip:34020000002000000001@3402000000", response="97cae60143bf336443d0bc5e669571a9", algorithm=MD5
Max-Forwards: 70
User-Agent: IP Camera
Expires: 3600
Content-Length: 0

4、平台回复

SIP/2.0 200 OK
CSeq: 2 REGISTER
Call-ID: 434018964
From: <sip:34020000001320000001@3402000000>;tag=1168363890
To: <sip:34020000001320000001@3402000000>;tag=02949493_53173353_db24af08-e421-4de3-85e7-b3f3f5284b02
Via: SIP/2.0/UDP 192.168.8.184:5060;rport=5060;branch=z9hG4bK119722870;received=192.168.8.184
Contact: <sip:34020000001320000001@192.168.8.184:5060>
Expires: 3600
Date: 2015-11-05T10:55:56.012
Content-Length: 0

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

MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK10460200
From: <sip:34020000001320000001@3402000000>;tag=1056449357
To: <sip:34020000002000000001@3402000000>
Call-ID: 897764098
CSeq: 20 MESSAGE
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
User-Agent: IP Camera
Content-Length:   162<?xml version="1.0" encoding="UTF-8"?>
<Notify>
<CmdType>Keepalive</CmdType>
<SN>105</SN>
<DeviceID>34020000001320000001</DeviceID>
<Status>OK</Status>
</Notify>

6、平台回复

D?IWEge<@SSIP/2.0 200 OK
CSeq: 20 MESSAGE
Call-ID: 897764098
From: <sip:34020000001320000001@3402000000>;tag=1056449357
To: <sip:34020000002000000001@3402000000>;tag=32617088_53173353_9281af7a-b890-44e0-8033-2f61d4af7c64
Via: SIP/2.0/UDP 192.168.8.184:5060;rport=5060;branch=z9hG4bK10460200;received=192.168.8.184
Content-Length: 0

到此,注册成功。


二、视频播放协议

2.1 平台向设备请求数据

INVITE sip:34020000001320000001@3402000000 SIP/2.0
Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0
CSeq: 1 INVITE
From: <sip:34020000002000000001@3402000000>;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307
To: <sip:34020000001320000001@3402000000>
Max-Forwards: 70
Contact: "34020000002000000001" <sip:<span style="font-family: Arial, Helvetica, sans-serif;">192.168.8.180</span><span style="font-family: Arial, Helvetica, sans-serif;">:5060></span>
Content-Type: application/sdp
Route: <sip:34020000001320000001@192.168.8.184:5060;lr>
Via: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921343723068
Content-Length: 225v=0
o=34020000002020000001 0 0 IN IP4 192.168.8.180
s=Play
c=IN IP4 192.168.8.180
t=0 0
m=video 6000 RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
y=0100000001
f=

2.2 设备回复平台的包

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921343723068;received=192.168.8.180
From: <sip:34020000002000000001@3402000000>;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307
To: <sip:34020000001320000001@3402000000>
Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0
CSeq: 1 INVITE
User-Agent: IP Camera
Content-Length: 0

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921343723068;received=192.168.8.180
From: <sip:34020000002000000001@3402000000>;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307
To: <sip:34020000001320000001@3402000000>;tag=833711816
Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0
CSeq: 1 INVITE
Contact: <sip:34020000001320000001@192.168.8.184:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   227v=0
o=34020000001320000001 3238 3238 IN IP4 192.168.8.184
s=play
c=IN IP4 192.168.8.184
t=0 0
m=video 15060 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
a=username:34020000001320000001
a=password:12345678
y=0100000001

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

ACK sip:34020000001320000001@192.168.8.184:5060 SIP/2.0
Call-ID: 8da28ff25846846583477063d4008180@0.0.0.0
CSeq: 1 ACK
From: <sip:34020000002000000001@3402000000>;tag=41363971_53173353_e9868597-2a56-4171-911d-d527eb58c307
To: <sip:34020000001320000001@3402000000>;tag=833711816
Max-Forwards: 70
Via: SIP/2.0/UDP 192.168.8.180:5060;branch=z9hG4bKe9868597-2a56-4171-911d-d527eb58c307_53173353_50921370541873
Content-Length: 0




这篇关于根据gbt28181协议,注册到SPVMN平台的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390157

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A