首页| 论坛| 消息
主题:Qt/C++开发监控GB28181系统/注册重定向/负载均衡/区域化部署/高并发sip服务器/gb28181-2022新标准
liudianwu发表于 2025-08-27 08:02
## 一、前言说明
在GB/T 28181-2016及更早的版本中,SIP客户端(如IPC、NVR等,称为SIP客户端或用户代理UA)通过向固定的SIP服务器(SIP Server)发送REGISTER请求进行注册。这种模式简单,但缺乏灵活性。GB/T 28181-2022引入了注册重定向机制,其主要目的是:
负载均衡:当主SIP服务器(注册服务器)负载过高时,可以将新的注册请求重定向到其他负载较轻的服务器。
容灾备份:当主服务器出现故障时,可以将注册请求重定向到备份服务器,提高系统的可靠性。
区域化部署:可以根据客户端的来源(如IP地域)或设备类型,将其重定向到不同的、更合适的服务器进行处理,优化网络路径和服务质量。
#### 2. 工作流程分析
注册重定向遵循RFC 3261中定义的SIP重定向机制(3xx响应)。其典型交互流程如下:
1.**初始注册请求 (Initial REGISTER):**
* SIP客户端(UA)按照配置,向**初始注册服务器**(A服务器)发送`REGISTER`请求。
* `Contact`头域包含客户端自身的SIP地址和希望注册的过期时间。
2.**重定向响应 (Redirection Response - 3xx):**
* 初始注册服务器(A)出于某种策略(如负载高),决定不处理该注册。
* 它向客户端回送一个`3xx`响应(通常是**302 Moved Temporarily**)。
* 该响应的`Contact`头域中包含一个或多个**重定向目标服务器**(B服务器、C服务器等)的SIP地址。这些地址是客户端接下来应该尝试注册的地址。
3.**后续注册请求 (Subsequent REGISTER):**
* 客户端收到`302`响应后,**不应**自动重发请求。根据RFC 3261,UA需要等待用户的确认,但在物联网设备中,通常是程序自动处理。
* 客户端解析`302`响应中的`Contact`头,获取一个或多个重定向目标地址。
* 客户端**选择其中一个目标地址**(例如B服务器),构造一个新的`REGISTER`请求。
* 这个新请求的`Request-URI`和`To`头域**不再是初始服务器A的地址,而是重定向目标服务器B的地址**。
* 新请求的其他部分(如`From`, `Call-ID`, `CSeq`(序列号需递增)等)遵循正常的注册流程。
4.**成功注册 (Successful Registration):**
* 重定向目标服务器(B)收到新的`REGISTER`请求,验证其合法性(身份认证等)。
* 验证通过后,服务器B回送`200 OK`响应,表示注册成功。
* 此后,客户端与服务器B保持心跳(定期重注册),所有后续业务(如`INVITE`, `MESSAGE`)都应与服务器B进行通信。
**关键点总结:**
* **触发条件:** 由服务器端的策略决定,客户端无法预知。
* **响应码:** `302 Moved Temporarily`是标准做法。理论上`301 Moved Permanently`也可用,但设备通常不会因此永久修改配置。
* **请求目标变更:** 重试的请求是发往一个**全新地址**(B服务器),而不是原地址(A服务器)。
* **认证:** 重定向后的服务器(B)必须能够对客户端进行认证。这通常要求所有服务器(A, B, C...)共享同一套认证密钥/数据库。

## 二、效果图

## 三、相关地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 文件地址:[https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g](https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g) 提取码:01jf 文件名:bin_video_gb28181。
## 四、功能特点
1. 支持设备注册、注销、心跳、校时、注册认证、注销认证等。
2. 设备上线后可以手动获取设备状态、设备信息、配置信息、预置位信息等。
3. 设备上线后自动获取设备通道信息,包括中文通道名称。识别到通道上线离线变化,会重新获取该设备的所有通道信息。
4. 支持视频点播,可以分别点播主码流和子码流,内置rtp解包线程,解包后发给视频播放组件解码播放。
5. 每个设备每个通道支持点播多个视频,通过ssrc区分,支持共用端口和不同端口收流。
6. 支持对某个设备下面所有通道、某个通道、某个通道对应的某个流分别关闭。
7. 支持录像文件查询和回放,回放控制支持暂停播放、继续播放、倍速播放、切换播放进度。
8. 支持录像文件下载,支持倍速比如8倍速下载,可同时多线程批量下载。
9. 回放和下载同时支持IPC和NVR,比如摄像头自带的SD存储卡录像文件回放,NVR上的硬盘录像文件回放。
10. 支持云台控制,向上、向下、向左、向右、左上、右上、左下、右下方位移动,镜头放大缩小,光圈放大缩小,镜头聚焦放焦。
11. 支持预置位信息的查询、调用、添加、修改、删除等操作。
12. 自动目录订阅功能,通道上线下线都有对应的信号通知。
13. 内置

浏览大图
下一页 (1/3)
回帖(0):

全部回帖(0)»
最新回帖
收藏本帖
发新帖