国标设备注册

10 阅读1分钟
sequenceDiagram
    autonumber
    participant 设备 as 📹 设备(GB28181)
    participant GBS as 🎯 GBS(国标信令服务)
    participant DB as 💾 数据库
%% 设备端配置
    rect rgb(255, 255, 230)
        Note over 设备: 配置SIP服务器信息<br/>- SIP服务器ID<br/>- SIP服务器IP/端口<br/>- 设备ID/密码
    end

%% 注册请求与认证
    rect rgb(230, 240, 255)
        设备 ->> GBS: 注册请求(SIP Register)
        GBS ->> DB: 查询设备认证信息
        DB -->> GBS: 返回设备密码等认证信息

        alt 认证失败
            GBS -->> 设备: 401 Unauthorized
        else 认证成功
            Note over GBS, DB: 如果设备不存在则创建记录
            GBS ->> DB: 更新设备在线状态
            GBS -->> 设备: 200 OK(携带过期时间)

            alt 过期时间 < 0
                Note over GBS, DB: 设备标记为离线
                GBS ->> DB: 更新设备离线状态
                Note over GBS: ❗❗❗<br/>移除当前设备心跳,以及其余定时任务<br/>如果不主动移除需要设置检测超时机制,超时后需要自动移除
            else 正常注册
                Note over GBS: 设备在线,记录注册信息
            end
        end
    end

%% 目录查询流程
    rect rgb(230, 255, 230)
        Note over GBS, 设备: 异步处理流程(注册完成后)

        par 目录查询
            GBS ->> 设备: Catalog查询(获取通道列表)
            设备 ->> GBS: Catalog响应(通道信息)
            GBS ->> DB: 同步/更新通道数据
            DB -->> GBS: 存储结果确认
        and 心跳保活
            loop 心跳周期
                设备 ->> GBS: Keepalive心跳
                GBS ->> DB: 刷新设备在线时间
                GBS -->> 设备: 200 OK
            end
        end
    end

video_record_2.jpeg