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 都可以上線。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92858.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92858.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92858.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js使用webscoket時使用自定義二進制包協議時并發問題處理

this.server new WebSocket.Server({ port: this.port });this.server.on(connection, (ws, req) > {const uniqueId dataUtil.uuid();ws.id uniqueId;global.serverSession.set(uniqueId, ws);logger.debug({ message: 客戶端已連接, traceId: ws.id, address: req.sock…

元數據管理與數據治理平臺:Apache Atlas 分類傳播 Classification Propagation

文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。Apache Atlas 框架是一套可擴展的核心基礎治理服務,使企業能夠有效、高效地滿足 Hadoop 中的合規性要求,并支持與整個企…

TSF應用開發與運維部署

架構演進歷程:單體架構-->SOA架構-->微服務架構-->Service Mesh騰訊微服務平臺TSF (Tencent Service Framework) 是一個圍繞應用和微服務的 PaaS 平臺。提供服務全生命周期管理能力和數據化運營支持。提供多維度應用、服務、機器的監控數據,助力…

linux開發之mmap內存映射

mmap概念 mmp是 將文件或設備直接映射到進程的虛擬內存空間 的一種機制,可實現程序像訪問內存一樣訪問文件,而不需要傳統的 read()/write()系統調用 文件內容被映射到進程的地址空間,讀寫文件就像操作內存一樣,操作系統負責自動同…

CPP繼承

繼承 一、繼承概述 1、為什么需要繼承 如下示例,Person 類、Student 類、Teacher 類有大量重復的代碼,造成代碼冗余,降低開發效率。我們可以通過繼承來解決這一問題。在面向對象的編程語言中,繼承是一個核心概念。主要作用將重復的…

模塊 PCB 技術在未來通信領域的創新突破方向

未來通信領域對數據傳輸速率、信號穩定性及設備集成度的要求持續攀升,模塊 PCB 作為通信設備的關鍵組件,其技術創新成為推動行業發展的核心動力。獵板 PCB 憑借深厚的技術積累與持續的研發投入,在模塊 PCB 技術創新方面取得諸多突破&#xff…

mysql的InnoDB索引總結

MySQL InnoDB索引知識點總結 1. 索引類型 1.1 聚簇索引(Clustered Index) 定義與特性 定義:聚簇索引是InnoDB的默認存儲方式,數據行按照主鍵的順序物理存儲在磁盤上特性: 每個InnoDB表只能有一個聚簇索引數據頁中的記錄…

C++模板的補充

類模板(上一篇沒講到類模板C/C內存管理&函數模板-CSDN博客&#xff09; 類模板的定義&#xff1a; template<class T1, class T2, ..., class Tn> class 類模板名 {// 類內成員定義 }; 用一個簡單的棧例子講類模板 #define _CRT_SECURE_NO_WARNINGS #include &l…

用JOIN替代子查詢的查詢性能優化

一、子查詢的性能瓶頸分析?重復執行成本?關聯子查詢會導致外層每行數據觸發一次子查詢&#xff0c;時間復雜度為O(M*N)sql-- 典型低效案例 SELECT e.employee_id, (SELECT d.department_name FROM departments d WHERE d.department_id e.department_id) FROM employees e; …

【設計模式】訪問者模式模式

訪問者模式&#xff08;Visitor Pattern&#xff09;詳解一、訪問者模式簡介 訪問者模式&#xff08;Visitor Pattern&#xff09; 是一種 行為型設計模式&#xff08;對象行為型模式&#xff09;&#xff0c;它允許你在不修改對象結構的前提下&#xff0c;為對象結構中的元素添…

比特幣現貨和比特幣合約的區別與聯系

一、基本定義項目現貨&#xff08;Spot&#xff09;合約&#xff08;Futures / Perpetual&#xff09;本質直接買賣比特幣本身買賣比特幣價格的衍生品合約所得資產真實的 BTC合約頭寸&#xff08;沒有直接持有 BTC&#xff09;結算方式交割比特幣現金結算&#xff08;多數平臺&…

Qt/C++開發監控GB28181系統/實時監測設備在線離線/視頻預覽自動重連/重新點播取流/低延遲

一、前言說明 一個好的視頻監控系統&#xff0c;設備掉線后能夠自動重連&#xff0c;也是一個重要的功能指標&#xff0c;如果監控系統只是個rtsp流地址&#xff0c;那非常好辦&#xff0c;只需要重新打開流地址即可&#xff0c;而gb28181中就變得復雜了很多&#xff0c;需要多…

此芯p1開發板使用OpenHarmony時llama.cpp不同優化速度對比(GPU vs CPU)

硬件環境 Cix P1 SoC 瑞莎星睿 O6 開發板 rx580顯卡 產品介紹&#xff1a; https://docs.radxa.com/orion/o6/getting-started/introduction OpenHarmony 5.0.0 使用vulkan后端的llama.cpp &#xff08;GPU&#xff09; # ./llama-bench -m /data/qwen1_5-0_5b-chat-q2_k.…

Android 四大布局:使用方式與性能優化原理

一、四大布局基本用法與特點1. LinearLayout&#xff08;線性布局&#xff09;使用方式&#xff1a;<LinearLayoutandroid:orientation"vertical" <!-- 排列方向&#xff1a;vertical/horizontal -->android:layout_width"match_parent"android:…

Redis的BigKey問題

Redis的BigKey問題 什么是大Key問題&#xff1f; 大key問題其實可以說是大value問題&#xff0c;就是某個key對應的value所占據的存儲空間太大了&#xff0c;所以導致我們在操作這個key的時候花費的時間過長&#xff08;序列化\反序列化&#xff09;&#xff0c;從而降低了redi…

TDengine IDMP 產品基本概念

基本概念 元素 (Element) IDMP 通過樹狀層次結構來組織數據&#xff0c;樹狀結構里的每個節點被稱之為元素 (Element)。元素是一個物理的或邏輯的實體。它可以是具體的物理設備&#xff08;比如一臺汽車&#xff09;&#xff0c;物理設備的一個子系統&#xff08;比如一臺汽車的…

專題二_滑動窗口_將x減到0的最小操作數

一&#xff1a;題目解釋&#xff1a;每次只能移除數組的邊界&#xff0c;移除的邊界的總和為x&#xff0c;要求返回你移除邊界的最小操作數&#xff01;也就是說你最少花幾次移除邊界&#xff0c;就能夠讓這些移除的邊界的和為x&#xff0c;則返回這個次數&#xff01;所以這個…

CentOS 7 下通過 Anaconda3 運行llm大模型、deepseek大模型的完整指南

CentOS 7 下通過 Anaconda3 運行llm大模型、deepseek大模型的完整指南A1 CentOS 7 下通過 Anaconda3 運行大模型的完整指南一、環境準備二、創建專用環境三、模型部署與運行四、優化配置常見問題解決B1 CentOS 7 下通過 Anaconda3 使用 CPU 運行 DeepSeek 大模型的完整方案一、…

Flutter應用在Windows 8上正常運行

要讓Flutter應用在Windows 8上正常運行,需滿足以下前提條件,涵蓋系統環境、依賴配置、編譯設置等關鍵環節: 一、系統環境基礎要求 Windows 8版本 必須是 Windows 8.1(核心支持),不支持早期Windows 8(需升級到8.1,微軟已停止對原版Windows 8的支持)。 確認系統版本:右…

Redis實現消息隊列三種方式

參考 Redis隊列詳解&#xff08;springboot實戰&#xff09;_redis 隊列-CSDN博客 前言 MQ消息隊列有很多種&#xff0c;比如RabbitMQ,RocketMQ,Kafka等&#xff0c;但是也可以基于redis來實現&#xff0c;可以降低系統的維護成本和實現復雜度&#xff0c;本篇介紹redis中實現…