国标GB/T 28181详解:国标GBT28181-2022的目录订阅流程

目录

一、定义

二、作用

1、实时同步设备目录状态

2、优化资源管理和调度

3、增强系统的可扩展性和灵活性

4、提高系统的可靠性和稳定性

5、支持多级级联和分布式部署

6、便于用户管理和监控

三、基本要求

1、目录订阅满足以下基本要求

2、关键要素

(1)目录订阅者(Subscriber)

(2)目录拥有者(Owner)

(3)目录接收者(Receiver)

四、命令流程

五、协议接口

六、实际应用效果

1、目录同步

2、设备状态维护

七、参考


一、定义

        在GB/T 28181标准中,目录订阅是指系统之间进行信息交换和资源共享的一种机制。具体来说,目录订阅机制允许一个系统(订阅者)获取另一个系统(发布者)中视频监控资源的变化信息,比如监控摄像头的在线状态、位置信息、视频流地址等。通过这种方式,各个监控系统可以保持信息的实时更新,当某个监控资源的状态发生变化时,发布者可以及时通知到订阅者,从而实现资源的动态管理和高效利用。

二、作用

        目录订阅是GB28181协议中的一个重要部分,通过SIP协议中的SUBSCRIBE方法实现。在视频监控系统中起着重要的作用,其主要包括以下几个方面:

1、实时同步设备目录状态

        当下级SIP域中的设备状态发生变化(如设备上线、离线、增加、删除等)时,通过目录订阅,上级SIP域能够实时获取这些变化信息。这有助于上级域保持对下级域设备目录状态的最新了解。

2、优化资源管理和调度

        实时同步的设备目录状态信息可以帮助上级域进行更高效的资源管理和调度。例如,当某个区域的设备出现故障或离线时,上级域可以迅速调配其他区域的资源来弥补这一不足。

3、增强系统的可扩展性和灵活性

        通过目录订阅,上级域可以动态地监控下级域的设备目录变化,并根据需要添加或删除设备。这使得整个视频监控联网系统具有更强的可扩展性和灵活性,能够适应不同规模和需求的应用场景。

4、提高系统的可靠性和稳定性

        实时同步的设备目录状态信息有助于上级域及时发现并解决潜在的问题。例如,当某个设备长时间离线或无法连接时,上级域可以迅速采取措施进行故障排查和修复,从而提高整个系统的可靠性和稳定性。

5、支持多级级联和分布式部署

        在多级级联和分布式部署的视频监控联网系统中,目录订阅可以实现不同层级之间的设备目录状态同步。这有助于确保整个系统中各级域之间的设备目录状态保持一致,提高系统的整体性能和效率。

6、便于用户管理和监控

        实时同步的设备目录状态信息可以帮助用户更方便地管理和监控整个系统中的设备。用户可以通过上级域的监控界面实时查看下级域的设备状态、位置等信息,并进行相应的操作和管理。

三、基本要求

1、目录订阅满足以下基本要求

        目录订阅满足以下基本要求:

        (1)目录订阅应使用IETFRFC6665中定义的SUBSCRIBE方法;

        (2)目录拥有者接受目录订阅后,应向目录订阅者发送请求确认消息;

        (3)目录拥有者可以是联网系统、有子设备的设备以及代理设备网关等;

        (4)目录接收者可以是联网系统、有子设备的设备以及代理设备网关等。

2、关键要素

(1)目录订阅者(Subscriber)

目录订阅者是希望获取其他系统视频监控资源信息的一方。它可以是另一个视频监控系统,也可以是其他需要监控信息的安全管理部门。订阅者通过向目录拥有者发送订阅请求,来获取特定监控资源的变化信息。

(2)目录拥有者(Owner)

目录拥有者是负责管理和维护视频监控资源信息的一方。它可以是某个视频监控系统的管理员,也可以是负责监控资源信息共享的安全管理部门。拥有者负责维护监控资源的目录信息,并在监控资源状态发生变化时,向目录订阅者发送更新通知。

(3)目录接收者(Receiver)

目录接收者是接收目录拥有者发送的监控资源信息的一方。在目录订阅流程中,目录接收者通常与目录订阅者相同,即需要接收监控资源变化信息的一方。

四、命令流程

        目录订阅流程应与下图相符合:

目标订阅流程示意描述如下:

        a) 1:目录接收者向目录拥有者发送 SUBSCRIBE 请求,SUBSCRIBE 请求的消息体应包括订阅 的目录类型、添加设备起始时间等,详细描述见 A.2.4.3的设备目录查询或订阅;

        b) 2: 目录拥有者应将订阅成功与否的200OK或4XX等响应消息返回给目录接收者。

五、协议接口

        目录订阅协议接口应满足以下基本要求:

        a) 目录拥有者接受目录订阅后,当目录发生变化时应立即通知目录接收者,目录接收者应向目录拥有者发送目录收到的确认消息,目录通知异常处理应符合IETFRFC6665的规定;

        b) 目录通知应使用IETFRFC6665中定义的NOTIFY方法;

        c) 目录拥有者可以是联网系统、有子设备的设备以及代理设备网关等;

        d) 目录接收者可以是联网系统、有子设备的设备以及代理设备网关等;

        e) 域间目录订阅通知要求应符合附录N的要求。

六、实际应用效果

1、目录同步

        在视频监控平台级联的时候,上级国标平台往往会订阅下级国标平台的资源变化,这样,刚下级平台资源增加和减少的时候,会同步到上级国标平台,实现目录资源的同步。

        上级获取到下级平台的消息后,会在自己的资源树中增加下级平台的目录结构,如下图为AS-V1000视频监控平台获取到的下级的部分目录结构,同步到本地后,挂载在根目录中的效果。

2、设备状态维护

        当某一级的设备状态发生变化(如设备上线、离线、增加、删除等)时,通过事件订阅,上级平台系统能够实时接收到这些变化通知,从而保持整个系统的状态同步。

        如下图所示,为视频监控国标平台的web客户端显示的各个设备的在线状态。

       在目录树中,图标为绿色的为在线,图标为灰色的为离线。

七、参考

        《GB/T 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》

        《GB/T 28181-2022 公共安全视频监控联网系统信息传输、交换、控制技术要求》

        《AS-V1000视频监控平台产品概要说明》

        《基于国标GB/T28181的视频平台级联

        《国标28181平台 管理下级推送来的目录资源

        《视频监控平台-国标28181目录资源树显示不全问题的解决


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在基于GBT28181的SIP协议组件开发中,SIP服务端流程是非常关键的一部分。本文将介绍如何使用eXosip2实现SIP服务端流程。 一、eXosip2简介 eXosip2是一个基于SIP标准的开源协议栈,它提供了一组API,可以用来实现SIP客户端和服务端。eXosip2具有高度的可移植性和灵活性,可以在不同平台上运行。eXosip2的主要特点包括: 1. 遵循SIP标准,功能齐全。 2. 支持IPv4和IPv6协议栈。 3. 支持TLS和SRTP协议。 4. 提供了一组易于使用的API,方便开发人员进行二次开发。 5. 可以在不同的平台上运行,包括Linux、Windows、Android等。 二、eXosip2的使用 1. 安装eXosip2库 首先需要安装eXosip2库,可以通过以下命令在Ubuntu下安装: sudo apt-get install libexosip2-dev 2. 初始化eXosip2 在使用eXosip2之前,需要初始化eXosip2库,这可以通过调用eXosip_init函数来实现。例如: eXosip_t *g_eXosipContext=NULL; g_eXosipContext = eXosip_malloc(); if (g_eXosipContext!=NULL) { iRet = eXosip_init(g_eXosipContext); } 3. 注册SIP服务器 使用eXosip2可以实现SIP服务器的注册,这可以通过调用eXosip_register_build函数构造注册消息,然后通过调用eXosip_register_send发送注册消息。例如: eXosip_event_t *pEvent = NULL; osip_message_t *pMsg = NULL; int iRet = 0; iRet = eXosip_register_build_initial_register(g_eXosipContext, "sip:192.168.1.100", "sip:192.168.1.100", "sip:192.168.1.100", 3600, &pMsg); if (iRet == 0) { iRet = eXosip_register_send_register(g_eXosipContext, pMsg); osip_message_free(pMsg); } 4. 接收SIP消息 使用eXosip2可以接收SIP消息,这可以通过调用eXosip_listen函数实现。例如: while (1) { iRet = eXosip_listen(g_eXosipContext, 0, &pEvent); if (iRet >= 0) { switch (pEvent->type) { case EXOSIP_REGISTRATION_SUCCESS: // 注册成功 break; case EXOSIP_REGISTRATION_FAILURE: // 注册失败 break; case EXOSIP_MESSAGE_NEW: // 收到新的SIP消息 break; } eXosip_event_free(pEvent); } } 5. 回复SIP消息 使用eXosip2可以回复SIP消息,这可以通过调用eXosip_message_build_response函数构造回复消息,然后通过调用eXosip_message_send_response发送回复消息。例如: osip_message_t *pMsg = NULL; int iRet = 0; iRet = eXosip_message_build_response(pEvent->tid, 200, &pMsg); if (iRet == 0) { iRet = eXosip_message_send_response(g_eXosipContext, pEvent->tid, 200, pMsg); osip_message_free(pMsg); } 三、总结 本文介绍了如何使用eXosip2实现SIP服务端流程。eXosip2是一个功能齐全、易于使用的SIP协议栈,可以方便地实现SIP客户端和服务端。在GBT28181的SIP协议组件开发中,eXosip2是一个非常好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值