国网B接口注册(REGISTER)接口描述和消息示例

本文涉及的产品
.cn 域名,1个 12个月
简介: 电网视频监控系统是智能电网的一个重要组成部分,广泛应用于电网的建设、生产、运行、经营等方面。由于视频监控系统在不同的建设时期选用了不同的技术和不同厂家的产品,导致了标准不统一、技术路线不一致。目前国家电网公司智能电网建设,对视频监控系统提出了新的要求,因此实现统一监控、统一存储、分级控制、分域管理,使不同的视频监视系统能够互联互通,满足视频监控系统全局化、整体化的发展需求,已成为亟待解决的问题。

技术背景

电网视频监控系统是智能电网的一个重要组成部分,广泛应用于电网的建设、生产、运行、经营等方面。由于视频监控系统在不同的建设时期选用了不同的技术和不同厂家的产品,导致了标准不统一、技术路线不一致。目前国家电网公司智能电网建设,对视频监控系统提出了新的要求,因此实现统一监控、统一存储、分级控制、分域管理,使不同的视频监视系统能够互联互通,满足视频监控系统全局化、整体化的发展需求,已成为亟待解决的问题。


大家有没有注意到一个细节,但凡做GB28181平台的公司,基本上都会支持国网B接口,究其原因,二者在信令交互等方面,有着非常多的相似之处,我们也是在实现了GB28181设备接入模块后,开始关注35114,本文以注册接口为例,讲述下国网B接口注册注销流程,相关规范设计如下:

注册接口描述

注册属于数据接口,采用SIP标准协议,消息中URI的用户名应为下级平台的地址编码。


注册过程应进行鉴权,以防止非法行为,鉴权采用 SIP 标准所定义的 Http Digest 鉴权方式,数字摘要算法统一采用 MD5。


前端系统上线后,应即向其已配置的隶属平台发起注册过程,告知自己的设备编号和信令地址。


如注册失败,须周期性(30 s)地重新尝试注册,直至注册成功。在向平台注册过程中不应影响前端系统对内提供监控业务的能力。


向平台注册成功后,前端系统应根据平台返回的 200 OK 中注册逾时间隔(expires)超时前,周期性地刷新注册


前端系统如因某原因暂时不能对外(其他区域)提供互联服务,应向平台发送注销请求,并建议携带注销原因描述。


平台应对注册到本平台的前端系统进行注册状态的维护,如在注册逾时间隔内未收到刷新注册,可视为该前端系统出现异常,暂时不能提供服务。


不允许注册账号的重复登录行为。

注册接口流程

90b6e5d1a3cb4cba9eefb077d6610253.jpg

主要功能流程如下:


a) F1:前端系统向平台发送注册请求。


b) F2:平台发送 401 响应,提示注册需鉴权。


c) F3:前端系统携带鉴权信息,重新发送注册请求。


d) F4:平台认证通过,发送 200 OK 响应。


e) F5:注册成功后,在注册逾时间隔之前的任意时刻,前端系统可以发送刷新注册来更新注册超时定时器;该消息具有和 F3 消息相同的 Call-ID、From、To、Authorization 等头部取值;


f) F6:平台确认刷新注册成功,发送 200 OK 响应。


g) F7:当前端系统需暂停对外服务时,需发送注销消息;该消息具有和F3消息相同的Call-ID、From、To、Authorization 等头部取值;消息中建议携带 Logout-Reason 头字段,用于描述下线原因(可为中文)。


h) F8:平台确认注销,发送 200 OK 响应。

接口参数

重要的SIP头字段

c3516fc6ceaf4156b1b8c7a03a90916e.png

SIP响应码

bf5fa7cf4e484d6a917714405b287bec.png

消息示例

注册:

REGISTER sip:平台域名或IP地址 SIP/2.0
From: <sip: 前端系统地址编码@平台域名或IP地址>;tag=f2161243
To: <sip: 前端系统地址编码@平台域名或IP地址>
Contact: <sip: 前端系统地址编码@前端系统IP地址>
Call-ID: c47ecb12
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
CSeq: 1 REGISTER
Expires: 3600
Content-Length: 0

鉴权响应:

SIP/2.0 401 Unauthorized
From: <sip: 前端系统地址编码@平台域名或IP地址>;tag=f2161243
To: <sip: 前端系统地址编码@平台域名或IP地址>;tag=2c101e0
Call-ID: c47ecb12
CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="主机名或域名",nnotallow="9bd055",algorithm=MD5
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
Content-Length: 0

鉴权注册:

REGISTER sip:平台域名或IP地址 SIP/2.0
From: <sip: 前端系统地址编码@平台域名或IP地址>;tag=f2161243
To: <sip: 前端系统地址编码@平台域名或IP地址>
Contact: <sip: 前端系统地址编码@前端系统IP地址>
Call-ID: c47ecb12
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
CSeq: 2 REGISTER
Expires: 3600
Authorization: Digest username="前端系统地址编码",realm="主机名或域名",nnotallow="9bd055",uri="sip:平台
IP地址",respnotallow="5924f86c43",algorithm=MD5
Content-Length: 0

响应:

SIP/2.0 200 OK
From: <sip: 前端系统地址编码@平台域名或IP地址>;tag=f2161243
To: <sip: 前端系统地址编码@平台域名或IP地址>;tag=2c10390
Call-ID: c47ecb12
CSeq: 2 REGISTER
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
Contact: <sip: 前端系统地址编码@前端系统IP地址>;expires=80
Content-Length: 0


刷新注册:

REGISTER sip:平台域名或IP地址 SIP/2.0
From: <sip: 前端系统地址编码@平台域名或IP地址>;tag=f2161243
To: <sip: 前端系统地址编码@平台域名或IP地址>
Contact: <sip: 前端系统地址编码@前端系统IP地址>
Call-ID: c47ecb12
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
CSeq: 8 REGISTER
Expires: 3600
Authorization: Digest username="前端系统地址编码",realm="主机名或域名",nnotallow="9bd055",uri="sip:平台
域名或IP地址",respnotallow="5924f86c43",algorithm=MD5
Content-Length: 0


注销:

REGISTER sip:平台域名或IP地址 SIP/2.0
From: <sip: 前端系统地址编码@平台域名或IP地址>;tag=f2161243
To: <sip: 前端系统地址编码@平台域名或IP地址>
Contact: <sip: 前端系统地址编码@前端系统IP地址>;expires=0
Call-ID: c47ecb12
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
CSeq: 20 REGISTER
Authorization: Digest username="前端系统地址编码",realm="主机名或域名 ",nnotallow="9bd055",uri="sip:平
台域名或IP地址",respnotallow="5924f86c43",algorithm=MD5
Logout-Reason: "maintenance"
Content-Length: 0


以上是国网B接口相关技术背景和注册接口描述、流程和相关消息示例参考,感兴趣的开发者,可以好好吃透相关知识点,理想的完成35114设备侧接入。

相关文章
uniapp 如何封装uni.request请求(登录接口、业务接口)
uniapp 如何封装uni.request请求(登录接口、业务接口)
uniapp 如何封装uni.request请求(登录接口、业务接口)
|
2月前
|
API
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
登录接口梳理(如何看接口发出那些请求)
登录接口梳理(如何看接口发出那些请求)
|
5月前
|
消息中间件 设计模式 监控
如何优雅地实现接口统一调用?
【2月更文挑战第6天】
326 3
|
5月前
调用阿里云接口实现短信消息的发送源码——CSDN博客
调用阿里云接口实现短信消息的发送源码——CSDN博客
|
XML 前端开发 数据格式
国网B接口资源上报(Push_Resourse)接口描述和消息示例
上篇blog,梳理了国网B接口的REGISTER接口描述和消息示例,前端系统加电启动并初次注册成功后,向平台上报前端系统的设备资源信息(包括:视频服务器、DVR/DVS、摄像机、告警设备、环境量采集设备等模拟或数字信号采集设备信息)。
162 0
国网B接口资源上报(Push_Resourse)接口描述和消息示例
GB28181控制、传输流程和协议接口之注册|注销和技术实现
注册和注销基本要求 SIP客户端、网关、SIP设备、联网系统等 SIP代理(SIP UA)使用IETFRFC3261中定义的方法 15 GB/T28181—2016Register进行注册和注销。
|
JSON 前端开发 API
统一处理controller层接口返回的数据
要对controller层的内容进行统一返回,需要用到 @ControllerAdvice ResponseBodyAdvice
413 0
|
XML 前端开发 开发工具
国网B接口资源信息获取(Request_Resource)接口描述和消息示例
前两篇blog介绍了国网B接口注册和资源上报相关,今天继续整理国网B接口资源信息获取相关的接口描述和消息示例。
180 0
|
编解码 前端开发 开发工具
国网B接口调阅实时视频(INVITE)接口描述和消息示例
前面三篇blog分别介绍国网B接口注册、资源上报和资源信息获取,今天过一下国网B接口调阅实时视频相关的接口描述和消息示例,做过GB28181设备接入的都知道,国网B接口调阅实时视频流程和GB28181的基本一致的,区别在于SDP的一些参数描述,有些差别,举个例子,调阅实时视频,GB28181的SDP里面“s=Play”,国网B接口SDP取值定义“s=-”,如果严格按照规范来,估计好多系统都没法正常接入。
262 0