技术背景
电网视频监控系统是智能电网的一个重要组成部分,广泛应用于电网的建设、生产、运行、经营等方面。由于视频监控系统在不同的建设时期选用了不同的技术和不同厂家的产品,导致了标准不统一、技术路线不一致。目前国家电网公司智能电网建设,对视频监控系统提出了新的要求,因此实现统一监控、统一存储、分级控制、分域管理,使不同的视频监视系统能够互联互通,满足视频监控系统全局化、整体化的发展需求,已成为亟待解决的问题。
大家有没有注意到一个细节,但凡做GB28181平台的公司,基本上都会支持国网B接口,究其原因,二者在信令交互等方面,有着非常多的相似之处,我们也是在实现了GB28181设备接入模块后,开始关注35114,本文以注册接口为例,讲述下国网B接口注册注销流程,相关规范设计如下:
注册接口描述
注册属于数据接口,采用SIP标准协议,消息中URI的用户名应为下级平台的地址编码。
注册过程应进行鉴权,以防止非法行为,鉴权采用 SIP 标准所定义的 Http Digest 鉴权方式,数字摘要算法统一采用 MD5。
前端系统上线后,应即向其已配置的隶属平台发起注册过程,告知自己的设备编号和信令地址。
如注册失败,须周期性(30 s)地重新尝试注册,直至注册成功。在向平台注册过程中不应影响前端系统对内提供监控业务的能力。
向平台注册成功后,前端系统应根据平台返回的 200 OK 中注册逾时间隔(expires)超时前,周期性地刷新注册。
前端系统如因某原因暂时不能对外(其他区域)提供互联服务,应向平台发送注销请求,并建议携带注销原因描述。
平台应对注册到本平台的前端系统进行注册状态的维护,如在注册逾时间隔内未收到刷新注册,可视为该前端系统出现异常,暂时不能提供服务。
不允许注册账号的重复登录行为。
注册接口流程
主要功能流程如下:
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头字段
SIP响应码
消息示例
注册:
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设备侧接入。