GB28181 - 注册与注销

注册要求

在《GB/T28181—2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》中对注册行为有以下要求:

应支持设备或系统进入联网系统时向 SIP 服务器进行注册登记的工作模式。 如果设备或系统注册不成功, 宜延迟一定的随机时间后重新注册。

注册过程

基本要求

在《GB/T28181—2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》中对注册过程有以下要求:

SIP 客户端、网关、SIP 设备、联网系统等 SIP 代理 (SIPUA) 使用 IETF RFC 3261 中定义的方法 Register 进行注册和注销。注册和注销时应进行认证, 认证方式应支持数字摘要认证方式, 高安全级别的宜支持数字证书的认证方式。

从上文中可看出,GB28181 规定了两种注册流程:

  1. 基于数字摘要的注册流程
  2. 基于数字证书的注册流程

本文中主要讨论基于数字摘要的注册流程。

基于数字证书的注册流程涉及到公安部发布的另一个标准:《GB 35114-2017 公共安全视频监控联网信息安全技术要求》

GB28181 中规定了注册相关的一些数字和状态:

  1. 注册过期时间:可配置,默认值 86400s,不应短于 3600s,在注册过期之前,SIP 代理应向 SIP 服务器发起刷新注册。
  2. 注册失败后,SIP 代理应在重新发起注册,与上一次注册时间间隔可调,但不应短于 60s
  3. 对于 SIP 代理:
    • 注册成功则认为 SIP 服务器在线,注册失败则认为 SIP 服务器离线
  4. 对于 SIP 服务器:
    • 注册成功则认为 SIP 代理在线,注册失败则认为 SIP 代理离线

信令流程

GB28181 注册流程

注册流程描述如下:

  1. SIP 代理向 SIP 服务器发送 Register 请求

     REGISTER sip:130909115229300920@10.64.49.44:7100 SIP/2.0
     Via: SIP/2.0/UDP 10.64.49.218:7100;rport;branch=z9hG4bK4162288924
     From: <sip:130909113319427420@10.64.49.218:7100>;tag=382068091
     To: <sip:130909113319427420@10.64.49.218:7100>
     Call-ID: 143225205
     CSeq: 1 REGISTER
     Contact: <sip:130909113319427420@10.64.49.218:7100>
     Max-Forwards: 70
     User-Agent: Hikvision
     Expires: 7200
     Content-Length: 0
  2. SIP 服务器向 SIP 代理发送响应 401,并在响应的消息头 WWW_Authenticate 字段中给出适合 SIP 代理的认证体制和参数

     SIP/2.0 401 Unauthorized
     Via: SIP/2.0/UDP 10.64.49.218:7100;rport=7100;branch=z9hG4bK4162288924
     From: <sip:130909113319427420@10.64.49.218:7100>;tag=382068091
     To: <sip:130909113319427420@10.64.49.218:7100>;tag=916944766
     Call-ID: 143225205
     CSeq: 1 REGISTER
     WWW-Authenticate: Digest realm="hik", nonce="a8afe6fcbee6331d89d3eb0d3d19ce39", opaque="a853e4f25298413f9bf3a9aa6767857d", algorithm=MD5
     User-Agent: Hikvision
     Expires: 7200
     Content-Length: 0
  3. SIP 代理重新向 SIP 服务器发送 Register 请求, 在请求的 Authorization 字段给出信任书, 包含认证信息

     REGISTER sip:130909115229300920@10.64.49.44:7100 SIP/2.0
     Via: SIP/2.0/UDP 10.64.49.218:7100;rport;branch=z9hG4bK3997518011
     From: <sip:130909113319427420@10.64.49.218:7100>;tag=382068091
     To: <sip:130909113319427420@10.64.49.218:7100>
     Call-ID: 143225205
     CSeq: 2 REGISTER
     Contact: <sip:130909113319427420@10.64.49.218:7100>
     Authorization: Digest username="admin", realm="hik", nonce="a8afe6fcbee6331d89d3eb0d3d19ce39", uri="sip:130909115229300920@10.64.49.44:7100", response="907ddb1bcc25174d7de4a96c947fb066", algorithm=MD5, opaque="a853e4f25298413f9bf3a9aa6767857d"
     Max-Forwards: 70
     User-Agent: Hikvision
     Expires: 7200
     Content-Length: 0
  4. SIP 服务器对请求进行验证, 如果检查出 SIP 代理身份合法, 向 SIP 代理发送成功响应 200OK,如果身份不合法则发送拒绝服务应答

     SIP/2.0 200 OK
     Via: SIP/2.0/UDP 10.64.49.218:7100;rport=7100;branch=z9hG4bK3997518011
     From: <sip:130909113319427420@10.64.49.218:7100>;tag=382068091
     To: <sip:130909113319427420@10.64.49.218:7100>;tag=705514612
     Call-ID: 143225205
     CSeq: 2 REGISTER
     Contact: <sip:130909113319427420@10.64.49.218:7100>
     User-Agent: Hikvision
     Date: 2013-09-10T16:01:51
     Content-Length: 0

需要注意的是,SIP 服务器在返回 200OK 时,携带了 Date 字段,这个字段是用来给 SIP 代理校时使用,SIP 代理应根据收到的 Date 字段对自身进行校时。

注销过程

注销过程的信令流程与注册过程基本一致,只存在一处不同点:

  • 注销过程的注册过期时间字段值为 0,即 Expires: 0

参考资料

  • [1] 《GB/T28181—2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》