• 结合实战,浅析GB/T 28181(二)——设备目录同步


    目录

    1 国标定义

    1.1 目录查询

    1.2 目录类型

    1.3 目录订阅和通知

    2 信令抓包

    2.1 目录查询

             2.2 目录订阅和通知

    3 实战对接常见问题

    3.1 目录查询请求,收不到应答消息

    3.2 目录查询请求,收到404

             3.3 目录查询请求应答XML无法解析

    4 参考


    根据GB/T 28181-2016规定, 上级域与下级域设备目录同步的方式有两种:

    目录查询:上级SIP域向下级SIP域主动发送目录查询请求,下级域收到请求后,先发送请求应答确认消息,然后将目录信息再发送给上级域;

    目录订阅和通知:上级SIP域先向下级SIP域发送目录订阅请求,下级域可以接受订阅请求,或者不接受订阅,都应向上级域返回应答确认消息。

    如果下级域接受了订阅请求,那么当其目录发生变化时,应立即向上级域主动发送目录变更通知,上级域收到请求后,同步处理,然后向下级域发送应答确认消息。

    1 国标定义

    1.1 目录查询

    实际应用中,以上流程图可简化为

    说明:

    设备目录通常包括系统、行政区域、设备、业务分组、虚拟组织、摄像机这些目录节点。查询响应消息一般通过多条响应消息,分批传回各种目录和摄像机节点信息。

    1.2 目录类型

    序号

    类型

    含义

    1

    系统编码

    按照系统编码进行查询时,被查询系统返回本级和下级系统的系统编码、行政区划、业务分组、虚拟组织、设备目录项

    2

    行政区域编码

    按照行政区域编码进行查询时,返回该行政区域目录项及属于此行政区域下的行政区域、设备目录项

    3

    设备编码

    按照设备编码进行查询时,返回该设备目录项及设备下属的设备目录项

    4

    业务分组

    按照业务分组进行查询时,返回该业务分组目录项及属于此业务分组下的虚拟组织目录项

    5

    虚拟组织

    按照虚拟组织进行查询时,返回该虚拟组织目录项及属于此虚拟组织下的虚拟组织、设备目录项

    6

    摄像机

    说明:

    业务分组、虚拟组织代表了摄像机的特定业务分组下的组织结构, 用于特定业务的设备树组织展示。

    业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织,虚拟组织下可划分子虚拟组织并可挂接设备,业务分组、虚拟组织、设备间为以业务分组为根节点,虚拟组织为分支节点,设备为叶节点的树状层次关系。

    1.3 目录订阅和通知

    订阅通知机制主要是实现状态变化的设备信息的传送,用于提供上级SIP域和下级SIP域设备状态一致性的维护机制。上级域可通过订阅方式订阅下级域的全部或部分目录的离线、上线、增加、删除、更新等变更信息;被订阅域在目录变更后,应将变更事件通知订阅域。

    某一SIP域可对其他多个SIP域目录信息发起订阅,也可接受其他多个SIP域的订阅。本域保存订阅目录、被订阅目录列表,在本域被订阅目录变更后向订阅域发送通知消息,订阅域接收到通知消息后进行相应更新处理。

    2 信令抓包

    2.1 目录查询

    向海康硬盘录像机查询目录抓包示意图:

    2.2 目录订阅和通知

    向下级SIP域订阅目录,并收到下级域目录变更通知消息:

     

    3 实战对接常见问题

    3.1 目录查询请求,收不到应答消息

    排查思路:

    1,首先确保自己发送的目录查询请求消息格式及字符编码没问题,符合28181要求;

    2,协调设备厂商技术支持,排查NVR端国标模块目录查询请求接收及处理过程。

    3,请求包没问题的话, 一般就是设备端接收、解析或处理过程存在异常。

    3.2 目录查询请求,收到404

    这个没啥说的,下级域的问题。

    3.3 目录查询请求应答XML无法解析

    向下级域发送目录查询请求消息后,收到了对方请求应答确认(200 OK)消息,之后也收到下级域的目录回传请求消息包,但无法解析包负载数据的XML,见抓包截图

    通过分析抓包数据,得知“Name”字段中文名字编码格式有问题,不是GB2312格式的,而是utf-8(国标规定:SIP消息体中的XML编码格式,必须是GB2312)。

    知道原因后,省得扯皮了,下级域整改XML编码格式为GB2312即可。

    4 参考

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

  • 相关阅读:
    LinuxFinal
    车联网技术解决方案与应用案例--智能TBOX车载终端
    sql 8
    kafka-python中消费参数auto.offset.reset详解
    知识点8--SSM项目整合redis、kafka、es以及整合es高亮
    Socket
    GDB常用指令与调试汇总
    windows域控上批量修改域账号密码
    二叉树的后续遍历(迭代法)
    IO学习系列之使用fgetc函数实现Linux命令“wc -l”和“wc -c”的功能
  • 原文地址:https://blog.csdn.net/chexlong/article/details/125910417