GB/T 28181-2016多响应消息传输探究

简介: 我们在实现Android平台GB28181设备接入模块的时候,有遇到发送多条记录的情况,本文主要探讨下GB28181多响应传输。

我们在实现Android平台GB28181设备接入模块的时候,有遇到发送多条记录的情况,本文主要探讨下GB28181多响应传输。

规范解读

如GB/T28181-2016规范所说:目录查询响应、文件查询响应、订阅后的通知消息会出现响应、通知消息需发送多条记录的情况,此时可通过多条响应、通知消息对记录进行分批传送,各响应消息的SN 值需与请求消息相同。


为了保证多条响应、通知消息传输的稳定可靠,多条响应、通知消息发送时宜采用串行发送方式,记录发送方需收到上一条SIP Message消息的SIP响应后再进行后续发送处理。


待发送记录条数达到百条级别时,为缩短传输时间宜在每条响应消息中携带多条记录,每条响应消息携带记录上限为10000条。


SIP协议栈应支持 TCP方式的SIP消息收发处理,处理机制应符合IETFRFC3261—2002中第18章“Transport”的规定。


目录查询、文件查询未查询出结果情况下返回响应中 SumNum 应取值为0,且不携带记录列表。

以文件查询响应作为示例如下:

<? xmlversion="1.0"?>
<Response>
    <CmdType>RecordInfo</CmdType>
    <SN>17430</SN>
    <DeviceID>64010000001310000001</DeviceID>
    <Name>Camera1</Name>
    <SumNum>0</SumNum>
</Response>

用于范围举例

网络设备信息查询


源设备向目标设备发送信息查询命令,目标设备应将结果通过查询应答命令返回给源设备。网络

设备信息查询命令包括设备目录查询命令、前端设备信息查询命令、前端设备状态信息查询命令、设备配置查询命令、预置位查询命令等,信息查询的范围包括本地SIP监控域或者跨SIP监控域。网络设备信息查询命令和响应均采用IETF RFC3428中定义的方法 Message实现。目录查询应答命令应支持多响应消息传输的要求

源设备包括SIP客户端、网关或联网系统,目标设备包括SIP设备、网关或联网系统。


设备视音频文件检索


文件检索主要用区域、设备、录像时间段、录像地点、录像内容为条件进行查询,用 Message消息发送检索请求和返回查询结果,传送结果的 Message消息可以发送多条,应支持多响应消息传输的要求。文件检索请求和应答命令采用 MANSCDP协议格式定义。


感兴趣的开发者可以参考相关协议规范深究。


相关文章
|
3月前
|
存储 XML JSON
【TCP】核心机制:延时应答、捎带应答和面向字节流
【TCP】核心机制:延时应答、捎带应答和面向字节流
81 2
|
5月前
|
Web App开发 监控 安全
[译] 用 sendBeacon 发送分析信息的优点
[译] 用 sendBeacon 发送分析信息的优点
|
8月前
|
Python
【需求响应】一种新的需求响应机制DR-VCG研究
【需求响应】一种新的需求响应机制DR-VCG研究
【需求响应】一种新的需求响应机制DR-VCG研究
|
前端开发 芯片
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
118 0
|
Android开发 开发者
​GB28181心跳机制探讨和技术实现
通过周期性的状态信息报送,实现注册服务器与源设备之间的状态检测即心跳机制。
214 0
​GB28181心跳机制探讨和技术实现
|
开发工具 Android开发 开发者
GB28181媒体保活机制探究与实现
GB28181-2016和GB28181-2022关于媒体保活机制这块,并无调整,平台、设备媒体流保活机制规定如下: a)链路建立后,码流经过的各级平台应具备媒体流丢失监测能力,若监测到媒体流丢失,应释放该条媒体链路,并通过会话内Bye消息通知上下级平台;
240 0
|
前端开发
浏览器接收Long型数据精度丢失问题的解决方案
浏览器接收Long型数据精度丢失问题的解决方案
|
存储 JSON 前端开发
前端接收后端数据时,遇到精度丢失的问题
前端接收后端数据时,遇到精度丢失的问题
1623 0
|
Linux
udp传输本地时间例子
udp传输本地时间例子
142 0
udp传输本地时间例子
|
网络协议
HTTP 请求和响应为什么会被分成多个数据包进行传输?底层原理是什么?
HTTP 请求和响应为什么会被分成多个数据包进行传输?底层原理是什么?
1376 0