国网B接口是用于国家电网视频监控系统内部的接入协议,主要用于视频监控系统与前端系统之间的交互。我们最近一直在研究该接口的接入开发,现在分享一些技术干货。
1、接口描述
① 注册属于数据接口,采用SIP标准协议,URI中的用户名应为下级平台的地址编码。
② 注册过程需要进行鉴权,使用SIP标准定义的HTTP Digest鉴权方式,摘要算法统一采用MD5。
③ 前端系统上线后,应向配置的隶属平台发起注册,提供设备编号和信令地址。若注册失败,需定期(30秒)重新尝试注册,直至成功。在注册过程中,不影响前端系统对内提供监控业务。
④ 注册成功后,前端系统应根据平台返回的200 OK中的注册逾期时间(expires)前周期性刷新注册。
⑤ 若前端系统暂时无法提供互联网服务(其他区域),应发送注销请求给平台,并建议注销原因。
⑥ 平台应维护已注册前端系统的注册状态,若未收到刷新注册,视为前端系统出现异常暂停服务。
⑦ 禁止重复登录同一注册账号。
2、接口流程
主要功能流程如下:
F1:前端系统向平台发送注册请求。
F2:平台返回401响应,提示需要进行鉴权。
F3:前端系统携带鉴权信息重新发送注册请求。
F4:平台认证通过,发送200 OK响应。
F5:注册成功后,在注册逾期时间之前的任意时刻,前端系统可以发送刷新注册请求来更新注册超时定时器;该请求与F3请求具有相同的Call-ID、From、To、Authorization等头部信息。
F6:平台确认刷新注册成功,发送200 OK响应。
F7:当前端系统需要暂停对外服务时,需发送注销请求;该请求与F3请求具有相同的Call-ID、From、To、Authorization等头部信息;请求中建议携带Logout-Reason头字段,用于描述下线原因(可为中文)。
F8:平台确认注销,发送200 OK响应。
3、消息示例
1)注册:
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
2)鉴权响应:
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="主机名或域名",nonce="9bd055",algorithm=MD5
Via: SIP/2.0/UDP 前端系统IP地址;branch=z9hG4bK
Content-Length: 0
3)鉴权注册:
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="主机名或域名",nonce="9bd055",uri="sip:平台IP地址",response="5924f86c43",algorithm=MD5
Content-Length: 0
作为一个开源视频监控平台,EasyCVR在复杂的网络环境中表现出色。它能够将分散的各类视频资源进行统一汇聚、整合和集中管理,使得用户可以更加便捷地使用和管理视频资源。
如果您对EasyCVR感兴趣,可以前往我们的演示平台进行体验,或者进行部署测试,以便更好地了解和利用这个功能强大的视频平台。
标签:SIP,国网,前端,平台,系统,EsayNVR,注册,鉴权 From: https://blog.51cto.com/u_16247540/7411219