GB28181协议--心跳
1、心跳介绍:
根据《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》9.6.1状态信息报送章节描述。
当源设备(包括网关、SIP 设备、SIP 客户端或联网系统) 发现工作异常时, 应立即向本 SIP 监控域的SIP服务器发送状态信息; 无异常时, 应定时向本SIP 监控域的SIP 服务器发送状态信息。 SIP 设备宜在状态信息中携带故障子设备描述信息。
通过周期性的状态信息报送, 实现注册服务器与源设备之间的状态检测即心跳机制。
心跳发送方、 接收方需统一配置“心跳间隔”参数, 按照“心跳间隔”定时发送心跳消息, 默认心跳间隔60 s。 心跳发送方、 接收方需统一配置“心跳超时次数”参数, 心跳消息连续超时达到“心跳超时次数”。则认为对方下线, 默认心跳超时次数3 次。
心跳接收方在心跳发送方上线状态下检测到心跳消息连续超时达到商定次数则认为心跳发送方离线; 心跳发送方在心跳接收方上线状态下检测到心跳消息响应消息连续超时达到商定次数则认为心跳接收方离线。
2、命令流程
状态信息报送流程见下图:
- 源设备向SIP 服务器发送设备状态信息报送命令。 设备状态信息报送命令采用 Message 方
法携带; - SIP 服务器收到命令后返回200 OK。
状态信息报送需要携带的信息如下:
传输信息示范:
3、软件代码:
GB28181保活可以开启一个定时器或者一个线程,按照指定的时间发送如下指令(GB28181Keeplive) ,如果超过最大的超时次数(心跳超时时间=超时次数*定时发送心跳间隔),设备需要重新注册。
GB28181Keeplive实现如下所示,GB28181Keeplive基于libosip和libeXsip开发:
int GB28181Keeplive(GB28181Param_t *pGB28181Param)
{char from[128] = {0,}; char proxy[128] = {0,}; char xml_body[1024] = {0,};osip_message_t *rqt_msg = NULL;// sip还未注册,那么不保活if (!g_SipState.sipRegStatus || !pGB28181Param){return -1;}snprintf(from, sizeof(from), "sip:%s@%s:%s", pGB28181Param->userParam.devSipID, pGB28181Param->userParam.devSipIP,pGB28181Param->userParam.devSipPort);snprintf(proxy, sizeof(proxy), "sip:%s@%s:%s", pGB28181Param->userParam.sipServerID, pGB28181Param->userParam.sipServerIP,pGB28181Param->userParam.sipServerPort);/* 构建"MESSAGE"请求 */if (eXosip_message_build_request(&rqt_msg, "MESSAGE", proxy, from, NULL)!=OSIP_SUCCESS){return -1;}snprintf(xml_body, sizeof(xml_body), "<?xml version=\"1.0\"?>\r\n""<Notify>\r\n""<CmdType>Keepalive</CmdType>\r\n"/*命令类型*/"<SN>%d</SN>\r\n"/*命令序列号*/"<DeviceID>%s</DeviceID>\r\n"/*设备编码*/"<Status>OK</Status>\r\n"/*是否正常工作*/"</Notify>\r\n",GetSipSN(), pGB28181Param->userParam.devSipID);if (osip_message_set_content_type(rqt_msg, "Application/MANSCDP+xml")!=OSIP_SUCCESS){osip_message_free(rqt_msg);return -1;}if (osip_message_set_body(rqt_msg, xml_body, strlen(xml_body))!=OSIP_SUCCESS){osip_message_free(rqt_msg);return -1;}/* 发送消息 */eXosip_lock();eXosip_message_send_request(rqt_msg);eXosip_unlock();return 0;
}
建议阅读:
GB28181协议–设备注册和注销
参考资料:
《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》
GB28181协议--心跳相关推荐
- 网络摄像头IPC国标GB28181协议国标安防视频流媒体平台EasyGBS视频流不上线排查步骤
近期使用国标GB28181协议平台的人越来越多,而我们的EasyGBS为了提升用户体验,近期做的升级也不少. 很多用户选择EasyGBS时,初期都由TSINGSEE青犀视频团队来进行产品的运维,日常运 ...
- GB28181协议简介以及学习GB28181协议所涉及的名词汇总(入门篇)
1.GB/T 28181 -2016协议简介: 近年来,国内视频监控应用发展迅猛,系统接入规模不断扩大,涌现了大量平台提供商,平台提供商的接入协议各不相同,终端制造商需要给每款终端维护提供各种不同平台 ...
- GB28181协议开发介绍
GB28181协议简介 GB/T28181-2011 <安全防范视频监控联网系统信息传输.交换.控制技术要求>是由公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/T ...
- ffmpeg编译gb28181_国标GB28181协议视频推流平台EasyGBD在Linux下编译报“UINT64_C在此作用领域中尚未声明”错误...
上一篇我们讲了国标GB28181协议视频推流平台EasyGBD正在重新编译,在编译中难免遇到不同的报错,比如"UINT64_C在此作用领域中尚未声明"错误就是其中一个. 出现该问题 ...
- 专业的户外直播视频传输系统是如何搭建起来的?通过GB28181协议建立的户外直播方案
前段时间嫦娥5号执行任务的画面在全国进行了全程直播,全世界都通过这场户外直播一睹中国登月的风采.作为近两年来一直被资本和媒体所关注的行业,"直播"两个字已经吸引了太多人投入其中,抖 ...
- 宇视摄像机/硬盘录像机等设备接入到国标GB28181协议视频平台EasyGBS的注意事项
经常有用户咨询宇视的现场对接TSINGSEE青犀视频云边端架构中,国标GB28181协议视频平台EasyGBS需要注意哪些事项,本文我们就在这里整理一下,给大家介绍一下宇视设备接入到国标平台的注意事项 ...
- 【解决方案】基于国标GB28181协议EasyGBS平台搭建的交警执法综合管理视频监控方案
行业背景 随着计算机技术和无线网络通信技术的快速发展,数字化技术在安防领域的应用越来越广泛,特别是在公安.交警等重要执法部门,网络化的联网监控需求越来越大. 如何在交警执法系统中做到将远程的监视.遥控 ...
- GB28181 协议实现H5无插件RTMP/HTTP-FLV/HLS直播监控方案 - sfxlab
SFX流媒体解决方案基于安防行业推出了以媒体汇聚平台(SfxMCP)为主,以媒体分发平台(SfxMDP)和媒体存储平台(SfxMSP)为辅,实现rtsp/onvif/gb28181相关设备或平台的汇聚 ...
- 操作教程:大华摄像头通过GB28181协议注册EasyCVR平台的详细配置
EasyCVR平台支持多类型设备.多协议方式接入,包括市场主流标准协议国标GB/T28181.RTMP.RTSP/Onvif协议等,以及厂家私有协议如海康SDK.大华SDK.海康Ehome等.其中,国 ...
- 【解决方案】如何通过国标GB28181协议视频平台EasyGBS搭建安监局危化品可视化监控平台?
"十二五"期间,在我国石化和化学工业继续维持较快增长态势的情况下,我国危险化学品安全生产工作取得了积极进展和明显成效.但目前我国危化品生产还存在着几个问题:一是较大及以上危险化学品 ...
最新文章
- Pro ASP.NET MVC –第五章 使用Razor
- Docker镜像常用命令(三)
- 2018为什么你一定要学Python
- java中的测试类_java中测试类的方法
- 常见的10种配置管理工具
- 【SpringCloud】-- SpringCloud简介
- 蓝桥杯等差素数列(暴力)
- 【python】py课上机作业3「谢尔宾斯基三角形」「递归输出列表」
- JSP文件过大 exceeding 65535 bytes limit
- 客户贷款逾期预测[5] - 特征工程
- android设置wifi蓝牙共享文件,无需互联网或蓝牙即可通过WiFi通过android共享文件...
- CVPR2020 Rotate-and-Render: Unsupervised Photorealistic Face Rotation from Single-View Images论文笔记
- 棋牌游戏开发的风险有哪些?
- 构造伽罗华域GF(2^m)的方法
- 关于如何在coursera.org上旁听好课
- apk对齐优化,作为移动开发程序员应该怎样去规划自己的学习路线?系列篇
- 通信协议——Uart、RS232、RS485、SPI
- java搭建直播商城VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城
- os-003-protected-mode
- ubuntu petalinux 2018 安装操作说明