国网B接口资源信息获取(Request_Resource)接口描述和消息示例

简介: 前两篇blog介绍了国网B接口注册和资源上报相关,今天继续整理国网B接口资源信息获取相关的接口描述和消息示例。

前两篇blog介绍了国网B接口注册和资源上报相关,今天继续整理国网B接口资源信息获取相关的接口描述和消息示例。


国网B接口设备接入端注册成功后的上报系统资源(Push_Resourse)和GB28181的Catalog相比,还有些差别,Push_Resourse是接入端主动上报,Request_Resource则是国网B接口平台端向前端系统发起请求资源信息。前端系统返回200 OK,并携带前端系统的资源信息。


由于大牛直播SDK老早就实现了GB28181 Android端设备接入,再对接国网B接口,基本就是轻车熟路了。

接口描述

相关协议规范原文如下:资源信息获取属于数据接口,采用 SIP 的会话外MESSAGE方法,消息体应采用 XML 进行封装。


获取前端设备的资源信息时应采用逐级获取的方式。


前端设备资源较多时,可由平台用户控制发起多次查询,每一次查询均有一次 MESSAGE 请求和对应的一次响应,建议每次回应的数据包组合成小于 MTU 尺寸。


资源信息获取接口流程


c2979caa8b344a305a4a03d45fd65ff9.png

主要功能流程如下:


a) F1:用户向前端系统首次请求资源信息。


b) F2:前端系统返回 200 OK,携带前端系统的资源信息。


c) F3:用户向前端系统第二次请求资源信息。


d) F4:前端系统返回 200 OK,携带前端系统的资源信息。


重要的SIP头字段如下:

72885b25c746b94d95cc8f940497ec0b.png

SIP响应返回码如下:

78988114584800c4956374ab81fbf8d8.pngXML Schema 参数定义如下:

fdfebace9bf4a61117d6341ad4759f34.png响应的 XML Schema 参数定义如下:

a0c9c380dd83500dab11a538a40b5c71.png

消息示例

请求获取资源:

MESSAGE sip:前端系统地址编码@前端系统所属平台域名或IP地址 SIP/2.0
From: <sip: 用户地址编码@用户所属平台域名或IP地址>;tag=f2161243
To: <sip:前端系统址编码@前端系统所属平台域名或IP地址>
Contact: <sip: 用户地址编码@用户所属平台域名或IP地址>
Call-ID: c47a42
Via: SIP/2.0/UDP 用户所属平台IP地址;branch=z9hG4bK
CSeq: 1 MESSAGE
Content-type: application/xml
Content-Length: 消息体的长度
<?xml versinotallow="1.0" encoding=”UTF-8”?>
<SIP_XML EventType=Request_Resource>
<!--前端系统、场地、前端设备的地址编码-->
<Item Code=”地址编码” FromIndex=”期望返回的起始记录数” ToIndex=”期望返回的结束记录数”/>
</SIP_XML>

响应消息:

SIP/2.0 200 OK
From: <sip:用户地址编码@用户所属平台域名或IP地址>;tag=f2161243
To: <sip:前端系统地址编码@前端系统所属平台域名或IP地址>
Contact: <sip:用户地址编码@用户所属平台域名或IP地址>
Call-ID: c47a42
Via: SIP/2.0/UDP 用户所属平台的IP地址;branch=z9hG4bK
CSeq: 1 MESSAGE
Content-type: application/xml
Content-Length: 消息体的长度
<?xml versinotallow="1.0" encoding="UTF-8"?>
<SIP_XML EventType=Response_Resource>
<SubList Code=”父节点地址编码” RealNum=”实际包含节点数” SubNum=”实际返回节点数” FromIndex=”起始节点数” ToIndex=”结束节点数”>
<!-- 场地、前端设备、摄像机的地址编码 -->
<Item Code=”地址编码” Name=”名称” Status=”节点状态值” DecoderTag=”解码插件标签” Longitude=”经度值” Latitude=”纬度值” SubNum=”包含的字节点数目”/>
<Item Code=”地址编码” Name=”名称” Status=”节点状态值” DecoderTag=”解码插件标签” Longitude=”经度值” Latitude=”纬度值” SubNum=”包含的字节点数目”/>
</SubList>
</SIP_XML>

以上是国网B接口资源信息获取(Request_Resource)接口描述和消息示例,感兴趣的开发者,可以查看相关规范,如果有条件的话,wireshark抓包看看,流程一目了然。

相关文章
|
存储 网络协议 安全
部署打印服务(一)
部署打印服务(一)
743 0
|
网络协议
移远EC600N 4G模块连接步骤
移远EC600N 4G模块连接步骤
833 0
|
数据采集 存储 传感器
IoT物联网设备端硬件上云技术方案详解
IoT物联网设备端硬件上云技术方案详解
9061 15
|
7月前
|
存储 算法 Java
【JAVA】生成accessToken原理
在Java中,生成accessToken用于身份验证和授权,确保合法用户访问受保护资源。流程包括:1. 身份验证(如用户名密码、OAuth 2.0);2. 生成唯一且安全的令牌;3. 设置令牌有效期并存储;4. 客户端传递令牌,服务器验证其有效性。常见场景为OAuth 2.0协议,涉及客户端注册、用户授权、获取授权码和换取accessToken。示例代码展示了使用Apache HttpClient库模拟OAuth 2.0获取accessToken的过程。
|
边缘计算 持续交付 数据中心
Docker在边缘计算中的崭露头角:探索容器技术如何驱动边缘计算的新浪潮
边缘计算是一项快速发展的技术,它旨在将计算能力更接近数据源和终端用户,以提供低延迟、高性能的计算体验。在这个充满活力的领域,Docker容器技术崭露头角,成为推动边缘计算革新的一股新力量。本文将深入探讨Docker在边缘计算中的应用,介绍其优势和挑战,并穿插一些示例代码,以帮助读者更好地理解这一新兴趋势。 第一部分:边缘计算和Docker容器 边缘计算的定义 边缘计算是一种计算范式,它将计算资源和数据处理能力推向网络边缘,靠近数据源和终端用户。这与传统的集中式云计算模型形成鲜明对比,后者将大部分计算任务集中在中央数据中心。边缘计算的关键目标是减少数据传输的延迟,提高响应速度,以满足对实时性要
682 0
|
编解码 前端开发 开发工具
国网B接口调阅实时视频(INVITE)接口描述和消息示例
前面三篇blog分别介绍国网B接口注册、资源上报和资源信息获取,今天过一下国网B接口调阅实时视频相关的接口描述和消息示例,做过GB28181设备接入的都知道,国网B接口调阅实时视频流程和GB28181的基本一致的,区别在于SDP的一些参数描述,有些差别,举个例子,调阅实时视频,GB28181的SDP里面“s=Play”,国网B接口SDP取值定义“s=-”,如果严格按照规范来,估计好多系统都没法正常接入。
572 0
|
Kubernetes Cloud Native Java
探索Quarkus:Java的新一代高性能轻量级框架
探索Quarkus:Java的新一代高性能轻量级框架
4853 3
通过Golang获取公网IP地址
在Go语言中,获取当前的外网(公网)IP地址可以通过多种方法实现。其中一种常见的方法是通过访问外部服务来获取。这些服务可以返回访问者的公网IP地址,例如 httpbin.org/ip 或 ipify.org。下面是一个简单的例子,展示了如何使用Go标准库中的net/http包和io/ioutil包来实现这一功能。
通过Golang获取公网IP地址
|
API 开发工具 Android开发
简述大疆无人机对接
【2月更文挑战第7天】本文介绍了对接大疆无人机的主要目的,包括实时画面获取、飞行数据监测、操控飞行、媒体管理和业务功能开发等,并列举了多种开发接口如MobileSDK、UXSDK、云开发API等。重点讨论了MobileSDK在Android平台的应用,包括SDK集成步骤、直播推流和获取飞机实时数据的细节。另外,UXSDK用于加速应用开发,提供预设UI组件。上云API则简化了无人机与第三方云平台的集成,支持MQTT、HTTPS和WebSocket协议,适用于行业级无人机。对接流程涉及Pilot2和Dock的配置,以及数据传输和业务功能处理。文章还提及了如何对接多个飞机的方法。
9229 0
简述大疆无人机对接