20250808:EasyGBS 对接大华 ICC 平台问题处理

最近有个现场在对接大华 ICC 平台时,客户反馈:EasyGBS 级联成功,但 ICC 显示下级离线。EasyGBS 成功对接过很多家国标平台,但这种情况确实少见。

我们远程过去确认配置无误后,就进行了抓包,拿到包我就纳闷了,怎么第一次 Register 直接就返回200OK了呢?

因为 GB28181 基本注册流程是,如果带了鉴权,应有两次 Register (如下图),但实际上,EasyGBS 第一次注册时,上级就响应成功了。

碰巧当时大华的工程师在现场升级软件,我就让他帮忙看看报文。他说 ICC 平台是不校验用户名和密码的。于是客户用大华 NVR 接入大华 ICC 测试,发现以下参数并不会影响设备在线。

大华工程师对比了报文,说是 EasyGBS 注册时填的 Domain 域是 10 位数字,但大华的 Domain 要求必须是 "IP: 端口" 格式。

国标在这块规定的是:

  1. 宜采用 ID 统一编码的前十位编码;

  2. 扩展支持十位编码加 ".spvmn.cn" 后缀格式;

  3. 或采用IP:port格式,port宜采用5060。

诚实说,我是不太接受这个说法的,不过有思路总要试试,于是就改成了"IP:Port" 的格式,结果照样不行。

后面我又尝试了海康 NVR、大华 NVR,还有我们 EasyGBD 设备,都能正常上线。所以问题不在设备本身,因为这些设备注册时,上级平台返回 200OK 后,还会继续发一系列请求。于是我就参考这些能上线的设备的报文,把 REGISTER、Keepalive、DeviceInfo、Catalog、DeviceStatus、SUBSCRIBE 等交互报文逐行进行对比,反复修改尝试,折腾了一礼拜,愣是没找出哪儿有问题。

在我黔驴技穷的时候,转折来了!

旁边同事提议,要不用已发布的稳定版试试?结果居然轻轻松松注册上线了!这事儿就离谱。我又换了不同操作系统和架构的设备测试,排除了代码层面的问题。

但就在调试过程中,我无意加了个 ONVIF 设备,级联之后发现大华 ICC 平台显示在线了?!经过再一次反复注册、仔细核对报文,发现只有共享的通道 ID 不一样。

我就琢磨:难道上级平台会校验通道 ID?这让我想起年初一个客户现场,当时华为的 IVS3800 也会校验下级平台的通道 ID,并要求第 11 到 13 位必须是 132,不然就会设备显示在线,通道却是离线的。所以当时我们修改了非国标设备转国标的通道 ID,默认让第 11 到 13 位是 132------ 说不定这就是添加 ONVIF 设备后能在线的原因。

再一次选择控制变量法,我参考了海康 NVR 和大华 NVR 的注册报文,结果还真跟通道 ID 有关!目前测试的结果是:通道 ID 的第 11 到 13 位必须是 132 或者 188 才行。

总结一下:

大华 ICC 平台会校验下级共享通道的 ID,而且对 11~13 位有特殊要求,否则上来的设备会显示离线,目前已知 132 和 118 都可以上线。

相关推荐
王江奎39 分钟前
FFmpeg 视频旋转信息处理:3.4 vs 7.0.2
ffmpeg·音视频
跟我聊天我会闯红灯2 小时前
如何开发一个运行在windows系统服务器上的服务
运维·服务器·windows
ZPC82102 小时前
参数服务器 server and client
服务器·qt
搬码临时工2 小时前
自己本地搭建的服务器怎么接公网?公网IP直连服务器方法,和只有内网IP直接映射到互联网
服务器·网络·tcp/ip
AI云原生3 小时前
2025最新国内服务器可用docker源仓库地址大全(2025年8月更新)
运维·服务器·docker·云原生·容器·kubernetes·serverless
楠目7 小时前
Shell脚本实现自动封禁恶意扫描IP
服务器·网络·tcp/ip
阿 柒10 小时前
网络基础——网络层级
运维·服务器·网络
Fireworkitte12 小时前
接口为什么要设计出v1和v2
java·服务器
音视频牛哥12 小时前
音视频直播全链路技术手册:核心术语与实战应用解析
音视频·大牛直播sdk·音视频直播全链路技术手册·音视频术语·音视频专业术语·音视频名词解释·音视频直播术语