HIK录像机GB28181对接相机不在线问题随笔

一、问题现象

【设备信息】 型号:DS-8664N-I16-V3 V4.63.000 build 230412

**【问题现象】**HIK录像机使用GB28181对接异常相机无法正常上线,对接HIK相机可以正常上线。

**【现场拓扑】**现场拓扑如下

  1. NVR侧使用固定公网IP地址。
  2. IPC侧使用家用宽带的方式,通过国标跨公网接入NVR。

图1.1:网络拓扑

上述拓扑与NVR使用GB接入三方平台的拓扑类似,只不过NVR此时充当了平台的角色。

二、问题排查过程

1、异常相机接入过程抓包及收集打印

现场反馈HIK相机接入正常,但是三方相机接入异常,所以我们先抓包查看异常的三方相机完整的注册过程

图2.1:三方相机异常抓包1

图2.2:三方相机异常抓包2

从上图可发现,三方相机抓包分析结果如下

  1. 录像机发起Invite请求
  2. 三方相机回复200 OK
  3. 录像机回复ACK并发起三次握手请求
  4. 未收到回复设备一直在重传三次握手(详见图2.2)

由上图分析,设备侧发起主动请求,但是未收到回复,目前看起来应该是异常相机的问题?因为相机并未正常回复相关三次握手,导致设备一直在重传,无法获取相关参数。但结果真的如此吗?

因为HIK相机是正常的,我们先抓取HIK相机的包,对比分析下是否有区别。

2、HIK相机正常抓包过程

因上述分析,我们决定抓取HIK相机的报文,对比分析下两个抓包有何区别。

图2.3:HIK相机正常抓包1

图2.4:HIK相机正常抓包2

图2.5:HIK相机正常抓包3

由上述现象可以判断出:

  1. HIK的相机正常接入是存在一个切换被动的机制在的。
  2. 先主动取流,取不到之后,会切换被动取流。

那么问题来了,为什么第一次主动取流总会失败呢?

3.为什么主动取流会失败呢?

要确定这个问题,我们时候首先得对Invite报文中的报文进一步分析

图2.6 异常相机Invite回复分析

图2.7 HIK相机第一次Invite回复分析

图2.8 HIK相机第二次Invite回复分析

由上图分析可知,相机200OK的C字段,IP一直是相机的内网IP,所以,在主动取流是取不到的,所以录像机必须得被动取流,即让相机主动和录像机建立连接。

根据上述分析录像机肯定是存在一个主动切换被动的逻辑在里面的,但是为什么三方相机无法正常上线,HIK相机可以正常上线呢?

4.进一步确认问题并检查相关逻辑。

根据上述分析,我们在确定下正常HIK相机抓包和异常相机抓包有何不同。

图2.9:相机异常抓包1

图2.10:三方相机异常抓包2

图2.11:HIK相机正常抓包1

图2.12:HIK相机正常抓包2

由上述抓包信息可以看出:

  1. 相机C字段回复的内网地址,录像机主动取流是取不到的(公网IP无法主动访问私网IP),所以问题点目前在于,录像机是否可以正常切换被动取流(invite中a字段setup:passive)。
  2. 异常的相机三次握手一直没有回应,导致设备侧一直在重传三次握手报文,取不到流。
  3. 正常的HIK相机在未收到录像机的三次握手后,会主动BYE掉连接,回收资源。

如上述分析,目前仅存在此一个疑点。是否此怀疑疑点便为三方相机无法接入的原因呢?

三、问题解决

【问题原因】将收集到的抓包提供给HIK同事分析,目前定位出原因为:

  1. HIK的NVR会先active去取流,海康的IPC 有超时机制,tcp建立连接超时,海康的IPC 会发bye 。NVR这个时候会发passive的invite.
  2. 现场的异常ipc超时没有发BYE造成HIK的NVR的主动的取流session一直没有释放,所以就不发invite了。导致问题出现

定位到问题原因与我们之前分析到的一致

四、问题遗留

此问题中抓包发现,存在以下遗留问题

  1. 目前HIK的录像机使用国标协议添加通道,协议类型自适应模式下虽然下发的是TCP取流但是仍无法切换passive取流
  2. 需要手动将通道管理界面,更改为TCP,才会切换被动取流。所以在国标跨公网接入IPC时候,仍需如下配置通道才可正常在线,配置如下图。
相关推荐
南宫乘风31 分钟前
深入浅出 WebSocket:构建实时数据大屏的高级实践
网络·websocket·网络协议
sky_feiyu5 小时前
HTTP超文本协议
网络·网络协议·web安全·http
C++忠实粉丝6 小时前
计算机网络socket编程(6)_TCP实网络编程现 Command_server
网络·c++·网络协议·tcp/ip·计算机网络·算法
hgdlip7 小时前
重装系统后ip地址错误,网络无法接通怎么办
服务器·网络协议·tcp/ip·重装系统
放逐者-保持本心,方可放逐7 小时前
一文详细了解websocket应用以及连接断开的解决方案
网络·websocket·网络协议
Hello_wshuo9 小时前
/proc/sys/net/ipv4/ip_forward 被关闭问题排查
网络·网络协议·tcp/ip
小奏技术10 小时前
聊聊HTTP2中的GOAWAY帧以及RocketMQ对GOAWAY的实现
后端·网络协议
Code_Artist10 小时前
细说Linux操作系统的网络I/O模型
linux·后端·网络协议
EasyNVR11 小时前
NVR管理平台EasyNVR多品牌NVR管理工具的流媒体视频融合与汇聚管理方案
大数据·网络·安全·音视频·监控·视频监控
入门到跑路14 小时前
【君正T31开发记录】8.了解rtsp协议及设计模式
网络协议·设计模式