GB/T 28181-2016多响应消息传输探究
我们在实现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协议格式定义。
感兴趣的开发者可以参考相关协议规范深究。
相关文章
- OpenCV-Python学习(7)—— OpenCV 轨迹栏操作和键盘响应操作
- 任意用户登录漏洞(响应内容绕过)
- vue实战-深入响应式数据原理_2023-03-01
- 低代码如何构建响应式布局前端页面
- Pylirt:一款功能强大的Linux事件响应工具套件
- (四)定义响应式数据的第二种方法
- ResponsiveAeon:响应式 CSS3 网格系统框架
- python通过get方式,post方式发送http请求和接收http响应-urllib urllib2详解编程语言
- 响应解决Oracle监听服务无响应问题(oracle监听没有)
- Linux如何禁止ICMP响应:25字实用技巧(linux禁止icmp)
- 器 SQL Server表触发器:实现自动响应的利器(sqlserver表触发)
- 「Linux 如何应对响应慢的问题?」(linux响应慢)
- MySQL版本无法响应问题解决方案(mysql不响应版本)
- 使用Redis预加载实现快速响应(redis预加载数据)
- Redis 阻塞订阅让程序更快实时响应(redis 阻塞订阅)
- C#winform编程中响应回车键的实现代码