All Classes and Interfaces
Class
Description
抽象客户端命令策略基类
提供通用的命令执行逻辑和工具方法
抽象服务端命令策略基类
提供通用的命令执行逻辑和工具方法
SIP监听器抽象基类
提供基础统一的SIP事件处理能力,支持自定义Processor的添加
SIP请求构建器抽象基类
提供通用的SIP请求构建逻辑和模板方法
抽象的基础SIP请求策略类
提供通用的请求发送逻辑,子类只需要实现具体的请求构建逻辑
ACK命令策略实现
处理ACK响应相关命令
ACK消息类型策略实现
处理ACK请求相关命令
ACK请求构建器
ACK请求业务处理器接口
负责处理ACK请求的业务逻辑
ACK请求策略实现
处理设备告警信息
GB28181协议 A.2.4 e)报警查询
设备告警查询消息处理器
负责处理设备告警查询请求
GB28181协议 A.2.6 b)报警通知应答
异步SIP监听器
继承AbstractSipListener,提供异步消息处理能力
使用本地创建的默认线程池实现高性能消息处理
自动化测试执行器
负责组织和执行各种测试套件
辅助开关控制指令枚举
根据 A.3.7 辅助开关控制指令 规范实现
辅助开关类型枚举
基础消息客户端处理器
提供基础的消息处理功能
复制类 无实际使用
广播通知消息处理器
负责处理广播通知请求
GB28181协议 A.2.6 1)语音广播应答
BYE命令策略实现
处理BYE请求相关命令
BYE消息类型策略实现
处理BYE请求相关命令
BYE请求业务处理器接口
负责处理BYE请求的业务逻辑
BYE请求构建器
客户端BYE请求处理器
负责处理客户端收到的BYE请求,专注于协议层面处理
Server模块BYE请求处理器
只负责SIP协议层面的处理,业务逻辑通过ServerByeProcessorHandler接口实现
BYE请求策略实现
BYE响应处理器
只负责SIP协议层面的处理,业务逻辑通过ByeProcessorHandler接口实现
缓存配置类 - 使用Caffeine替代ConcurrentHashMap提升性能
缓存服务类 - 统一管理Caffeine缓存操作
CANCEL响应处理器业务接口
客户端CANCEL请求处理器
负责处理客户端收到的CANCEL请求,专注于协议层面处理
CANCEL响应处理器
只负责SIP协议层面的处理,业务逻辑通过CancelProcessorHandler接口实现
GB28181协议 A.2.4 b)设备目录信息查询请求
设备目录查询消息处理器
负责处理设备目录查询请求
GB28181协议 A.2.6 d/e)目录信息查询收到应答
ACK响应处理器业务接口
客户端ACK请求处理器
负责处理客户端收到的ACK请求,专注于协议层面处理
ACK响应处理器
只负责SIP协议层面的处理,业务逻辑通过AckProcessorHandler接口实现
BYE响应处理器业务接口
GB28181客户端命令发送器
使用策略模式和建造者模式,提供更灵活和可扩展的命令发送接口
命令发送建造者
提供流式API,支持链式调用
客户端命令策略接口
定义统一的命令执行策略,支持不同类型的GB28181命令
客户端SIP消息类型策略工厂
管理和获取不同类型的SIP消息处理策略
符合SIP协议架构要求,处理MESSAGE、SUBSCRIBE、NOTIFY、INVITE、BYE、ACK等SIP消息类型
客户端设备提供器接口
扩展DeviceSupplier接口,提供客户端特定的设备获取能力
客户端MESSAGE请求处理器
负责处理客户端收到的MESSAGE请求,专注于协议层面处理
Register响应处理器
只负责SIP协议层面的处理,业务逻辑通过RegisterProcessorHandler接口实现
这个是客户端发起的REGISTER后,服务端回复的REGISTER响应处理器
Deprecated.
设备配置下载消息处理器
负责处理设备配置下载请求
GB28181协议 A.2.4 f)设备配置查询
设备配置查询消息处理器
负责处理设备配置查询请求
GB28181协议 A.2.6 j)设备配置查询应答
消息体类型
巡航指令枚举
根据 A.3.5 巡航指令 规范实现
SIP信令处理类观察者
继承AbstractSipListener,提供默认的SIP事件处理实现
MESSAGE请求业务处理器默认实现
提供默认的业务逻辑处理实现
默认CANCEL处理器实现
默认ACK处理器实现
默认BYE处理器实现
客户端设备提供器默认实现
基于SipClientProperties配置的客户端设备管理
INFO请求业务处理器默认实现
负责处理INFO请求的具体业务逻辑
业务接入方可以通过实现InfoRequestHandler接口来自定义业务逻辑
按照项目规范,使用Handler命名
默认INVITE响应处理器业务实现
负责具体的业务逻辑处理
获取sip默认配置
完整配置参考 gov.nist.javax.sip.SipStackImpl,需要下载源码
gov/nist/javax/sip/SipStackImpl.class
sip消息的解析在 gov.nist.javax.sip.stack.UDPMessageChannel的processIncomingDataPacket 方法
自定义Register处理器实现
默认ACK处理器实现
Server模块BYE请求处理器业务接口默认实现
服务端设备提供器默认实现
基于Gb28181ServerProperties配置的服务端设备管理
Server模块INFO请求处理器业务接口默认实现
服务端INVITE请求业务处理器默认实现
提供默认的业务逻辑处理实现
Server模块MESSAGE请求处理器业务接口默认实现
Server模块NOTIFY请求处理器业务接口默认实现
Server模块REGISTER请求处理器业务接口默认实现
默认SIP监听器
继承AsyncSipListener,使用Spring传入的线程池
作为Spring管理的Bean,支持依赖注入和配置管理
自定义SUBSCRIBE响应处理器实现
"报警信息"
<?xml version="1.0" encoding="UTF-8"?>
Alarm
744523
2133
AlarmPriority
deviceAlarm.getAlarmMethod()
DateUtil.yyyy_MM_dd_HH_mm_ssToISO8601(deviceAlarm.getAlarmTime())
deviceAlarm.getAlarmDescription()
deviceAlarm.getLongitude()
deviceAlarm.getLatitude()
deviceAlarm.getAlarmType()
<?xml version="1.0" encoding="UTF-8"?>
Alarm
217408
123
12312
123
alarmMethod
alarmType
startTime
endTime
GB28181协议 A.2.5 d)语音广播通知
<?xml version="1.0" encoding="UTF-8"?>
DeviceConfig
150959
channelId
name
30
300
300
<?xml version="1.0" encoding="UTF-8"?>
DeviceConfig
150959
channelId
name
30
300
300
复制类 无实际使用
GB28181协议 A.2.6 i)设备配置应答
/**
<?xml version="1.0" encoding="UTF-8"?>
DeviceControl
179173
213
ResetAlarm
123
alarmType
<?xml version="1.0" encoding="UTF-8"?>
DeviceControl
331004
1231
dragZoom.getLength()
dragZoom.getWidth()
ragZoom.getMidPointX()
dragZoom.getMidPointY()
ragZoom.getLengthX()
dragZoom.getLengthY()
<?xml version="1.0" encoding="UTF-8"?>
DeviceControl
331004
1231
dragZoom.getLength()
dragZoom.getWidth()
ragZoom.getMidPointX()
dragZoom.getMidPointY()
ragZoom.getLengthX()
dragZoom.getLengthY()
设备控制消息处理器
负责处理设备控制请求
<?xml version="1.0" encoding="UTF-8"?>
DeviceControl
840481
channelId
1
resetTime
presetIndex
DeviceControl控制命令业务处理器接口
负责处理所有DeviceControl相关的控制命令
GB28181协议 A.2.6 a)设备控制应答
设备信息消息处理器
GB28181协议 A.2.4 c)设备信息查询请求
设备信息查询消息处理器
负责处理设备信息查询请求
GB28181协议 A.2.6 f)设备信息查询应答
toString 使用父类方法
<?xml version="1.0" encoding="UTF-8"?>
Keepalive
340917
parentPlatform.getDeviceGBId()
OK
设备移动位置查询
设备移动位置查询消息处理器
<?xml version="1.0" encoding="UTF-8"?>
Catalog
422214
device_001
1
-
33010602011187000001
Event
<?xml version="1.0" encoding="UTF-8"?>
DeviceStatus
sn
channelId
OK
statusStr
OK
<?xml version="1.0" encoding="UTF-8"?>
Catalog
123
123
<?xml version="1.0" encoding="UTF-8"?>
RecordInfo
740143
33010602010002719420
130
-
null
null
2023-10-16T00:05:00
2023-10-16T00:10:03
0
null
6245911
/home/www/ZLMediaKit/release/linux/Debug/www/record/onvif/037a00020053fafd470f__D01_CH01_Main/2023-10-16/000500-001003.mp4
<?xml version="1.0" encoding="UTF-8"?>
RecordInfo
sn
channelId
DateUtil.yyyy_MM_dd_HH_mm_ssToISO8601(startTime)
DateUtil.yyyy_MM_dd_HH_mm_ssToISO8601(endTime)
secrecy
type
<?xml version="1.0"?>
Catalog
${SN}
${DEVICE_ID}
1
-
33010602011187000002
Camera
海康
Model
Owner
CivilCode
Block
上海市五角场合生汇
0
${DEVICE_ID}
0
1
CertNum1
0
400
2010-11-11T19:46:17
0
172.19.128.50
5060
Password1
1
Status1
171.4
34.2
<?xml version="1.0" encoding="UTF-8"?>
DeviceStatus
sn
channelId
OK
ONLINE
OK
设备状态消息处理器
GB28181协议 A.2.4 a)设备状态查询请求
设备状态查询消息处理器
负责处理设备状态查询请求
GB28181协议 A.2.6 g)设备状态信息查询应答
<?xml version="1.0" encoding="UTF-8"?>
Catalog
sn
channelId
OK
设备提供器接口
用于动态获取设备列表的hook机制,支持外部实现自定义的设备获取逻辑
<?xml version="1.0" encoding="UTF-8"?>
Catalog
422214
device_001
1
-
33010602011187000001
Channel 1
0
ABC Inc.
1
ON
Model 123
John Doe
123456
123 Main St.
Event
Implements the HTTP digest authentication method server side functionality.
动态定时任务
事件结果
事件类型
FI(聚焦Focus/光圈Iris)控制指令枚举
根据 A.3.3 FI指令 规范实现
聚焦方向枚举
光圈方向枚举
继承这个类,自定义参数
GB28181测试应用主类
用于单元测试和集成测试
GB28181测试应用主程序
可独立运行的完整测试套件
28181 的SDP解析器
重写jain sip的SIPDate解决与国标时间格式不一致的问题
INFO消息类型策略实现
处理INFO请求相关命令
INFO消息类型策略实现
处理INFO请求相关命令
INFO请求构建器
INFO请求业务处理器接口
负责处理INFO请求的业务逻辑
按照项目规范,使用Handler命名
客户端INFO请求处理器
负责处理客户端收到的INFO请求,专注于协议层面处理
按照SIP处理器业务逻辑分离规范,只负责SIP协议层面的处理,不包含业务逻辑
INFO请求策略实现
INVITE消息类型策略实现
处理INVITE请求相关命令
INVITE消息类型策略实现
处理INVITE请求相关命令
INVITE请求构建器
INVITE请求业务处理器接口
负责处理INVITE请求的业务逻辑
SIP命令类型: 收到Invite请求
客户端发起Invite请求, Invite Request消息实现,请求视频指令
INVITE请求策略实现
INVITE响应处理器
只负责SIP协议层面的处理,业务逻辑通过InviteResponseProcessorHandler接口实现
INVITE响应处理器业务接口
负责具体的业务逻辑处理
GB28181协议 Control类型的Keepalive命令
Keepalive消息客户端处理器
负责处理Control类型的Keepalive命令
GB28181协议 A.2.5 a)状态信息报送
<?xml version="1.0" encoding="UTF-8"?>
MediaStatus
226063
12312
121
客户端消息处理器抽象基类
提供客户端消息处理的通用功能
MESSAGE消息类型策略实现
处理MESSAGE请求相关命令
MESSAGE消息类型策略实现
处理MESSAGE请求相关命令
对message类型的请求单独抽象,根据cmdType进行处理
MESSAGE请求构建器
MESSAGE请求业务处理器接口
负责处理MESSAGE请求的业务逻辑,包括查询、控制、通知等
MESSAGE请求策略实现
监控指标配置类
当Spring容器中没有MeterRegistry Bean时,自动提供一个SimpleMeterRegistry
<?xml version="1.0" encoding="UTF-8"?>
MobilePosition
383451
123
gpsMsgInfo.getLng()
gpsMsgInfo.getLat()
gpsMsgInfo.getSpeed()
gpsMsgInfo.getDirection()
gpsMsgInfo.getAltitude()
GB28181协议 A.2.4 h)移动设备位置数据查询
NOTIFY消息类型策略实现
处理NOTIFY请求相关命令
NOTIFY请求构建器
NOTIFY请求策略实现
NTP定时校时任务
根据配置定期执行NTP时间同步
国标点播操作类型
预置位指令枚举
根据 A.3.4 预置位指令 规范实现
GB28181协议 A.2.4 g)设备预置位查询
设备预置位查询消息处理器
负责处理设备预置位查询请求
GB28181协议 A.2.6 k)设备预置位查询应答
枚举类,表示不同的云台控制命令
PTZ控制指令枚举
根据 A.3.2 PTZ指令 规范实现
水平方向枚举
垂直方向枚举
变倍方向枚举
PTZ指令构建器 - Builder设计模式实现
提供流式API构建各种PTZ控制指令
PTZ指令系统完整验证程序
手动验证所有指令的生成和解析是否正确
PTZ指令系统核心验证程序(无外部依赖版本)
验证所有核心指令生成和解析功能
PTZ指令加密解密器
提供多种加密算法支持
带认证的加密结果
加密算法枚举
PTZ指令系统演示
PTZ指令系统使用示例
展示如何使用所有组件构建、序列化、加密和管理PTZ指令
PTZ指令格式基础类
根据 A.3.1 指令格式 规范实现
PTZ指令映射管理器
统一管理所有PTZ控制指令的映射关系和静态枚举
指令统计信息类
指令类型枚举
PTZ指令序列化器
提供多种序列化/反序列化方式
序列化格式枚举
序列化函数接口
GB28181协议 A.2.4 d)文件目录检索请求
设备录像信息查询消息处理器
负责处理设备录像信息查询请求
GB28181协议 A.2.6 h)文件目录检索应答
REGISTER消息类型策略实现
处理REGISTER注册请求相关命令
REGISTER消息类型策略实现
处理REGISTER请求相关命令
Register响应处理器业务接口
REGISTER请求构建器
REGISTER请求策略实现
SIP响应命令构建器(重构版)
使用建造者模式提供流式API,支持事务和非事务响应
SIP响应构建器
提供流式API来构建和发送SIP响应
扫描指令枚举
根据 A.3.6 扫描指令 规范实现
扫描操作类型枚举
SDP解析器
Server模块SIP请求处理器抽象基类
为server模块提供统一的请求处理器基类,便于模块隔离和功能扩展
ACK响应处理器业务接口
ACK响应处理器
只负责SIP协议层面的处理,业务逻辑通过AckProcessorHandler接口实现
Server模块BYE请求处理器业务接口
负责具体的BYE请求业务逻辑实现
GB28181服务端命令发送器
使用策略模式和建造者模式,提供更灵活和可扩展的命令发送接口
命令发送建造者
提供流式API,支持链式调用
服务端命令策略接口
定义统一的命令执行策略,支持不同类型的GB28181命令
服务端SIP消息类型策略工厂
管理和获取不同类型的SIP消息处理策略
符合SIP协议架构要求,处理MESSAGE、SUBSCRIBE、INVITE、BYE、ACK、INFO、REGISTER等SIP消息类型
服务端命令策略请求参数封装类
服务端设备提供器接口
扩展DeviceSupplier接口,提供服务端特定的设备获取能力
Server模块INFO请求处理器业务接口
负责具体的INFO请求业务逻辑实现
Server模块INFO请求处理器
只负责SIP协议层面的处理,业务逻辑通过ServerInfoProcessorHandler接口实现
服务端INVITE请求业务处理器接口
负责处理服务端收到的INVITE请求的业务逻辑
服务端INVITE请求处理器
处理服务端收到的INVITE请求,专注于协议层面处理
Server模块MESSAGE请求处理器业务接口
负责具体的MESSAGE请求业务逻辑实现
Server模块MESSAGE请求处理器
只负责SIP协议层面的处理,业务逻辑通过ServerMessageProcessorHandler接口实现
Server模块NOTIFY请求处理器业务接口
负责具体的NOTIFY请求业务逻辑实现
Server模块NOTIFY请求处理器
只负责SIP协议层面的处理,业务逻辑通过ServerNotifyProcessorHandler接口实现
Server模块REGISTER请求处理器业务接口
负责具体的注册业务逻辑实现
Server模块REGISTER请求处理器
只负责SIP协议层面的处理,业务逻辑通过ServerRegisterProcessorHandler接口实现
Deprecated.
简化的测试应用启动类
用于验证测试模块可以独立运行
简单测试验证器
用于验证测试模块的核心功能,不依赖外部组件
Voglander SIP客户端配置属性
GB28181通用配置属性类 - 支持外部化配置
包含通用的性能配置和缓存配置,client和server特定配置已拆分到各自模块
时间同步配置
时间同步方式枚举
SIP配置异常
用于SIP配置相关的异常处理
SIP连接池
管理SIP连接的创建、复用和释放,提升资源利用效率
SIP错误类型枚举
定义SIP协议处理过程中可能出现的各种错误类型
SIP异常基类
提供统一的SIP协议相关异常处理
SIP异常处理器
提供统一的异常处理和错误响应生成
SIP协议层封装
提供SIP协议栈的初始化和监听点管理
SIP消息传输器
负责SIP消息的传输和事件订阅管理
SIP方法注解,用于标记处理器支持的SIP方法类型
替代反射获取method字段的方式,提升性能和安全性
SIP性能监控指标 - 使用Micrometer收集性能数据
SIP连接池配置
定义连接池的各种参数和行为
SIP连接池管理器
负责连接池的定期维护、监控和清理工作
SIP连接池状态信息
用于监控和诊断连接池的运行状态
连接池条目信息
SIP处理器异常
用于SIP消息处理器执行过程中的异常处理
SIP代理自动配置类
使用新的注册表机制管理响应处理器,实现框架和业务分离
SIP请求构建器工厂类
提供统一的构建器获取接口和便捷的构建方法
对SIP事件进行处理,包括request, response, timeout, ioException, transactionTerminated,dialogTerminated
Deprecated.
SIP请求发送策略接口
定义通用的请求发送模式,支持不同的请求类型
SIP请求策略工厂
管理和获取不同的请求策略
处理接收IPCamera发来的SIP协议响应消息
SIP消息发送器(重构版)
使用策略模式和建造者模式,提供简洁的API接口
SIP请求建造者
提供流式API来构建和发送SIP请求
Voglander SIP服务端配置属性
sip事物交换信息
SIP事务管理器
负责SIP事务的创建和管理
处理设备通道订阅消息 回复OK
SUBSCRIBE消息类型策略实现
处理SUBSCRIBE请求相关命令
SUBSCRIBE消息类型策略实现
处理SUBSCRIBE请求相关命令
SUBSCRIBE请求构建器
SUBSCRIBE请求业务处理器接口
负责处理SUBSCRIBE请求的业务逻辑
客户端SUBSCRIBE请求处理器
负责处理客户端收到的SUBSCRIBE请求,专注于协议层面处理
SUBSCRIBE请求策略实现
SUBSCRIBE响应处理器
只负责SIP协议层面的处理,业务逻辑通过SubscribeResponseProcessorHandler接口实现
SUBSCRIBE响应处理器业务接口
GB28181协议 语音对讲查询
GB28181协议 语音对讲应答
自定义测试断言工具类
提供GB28181测试特有的断言方法
测试专用的Client消息处理器Handler
用于验证客户端MESSAGE请求的处理流程
测试专用配置类
用于简化测试环境,禁用复杂的组件
测试数据生成器
负责生成各种测试场景所需的模拟数据
用于端到端测试DeviceControl命令的测试Handler,支持各类命令的回调、同步和断言
测试设备提供器实现
专门用于测试环境,提供预配置的设备
设计原则:
1.
GB28181测试模块验证应用
验证测试框架和工具类是否可以正常工作
测试指标收集器
负责收集测试过程中的各种性能指标
测试报告生成器
负责生成详细的测试执行报告
测试结果数据类
测试专用的InviteRequestHandler实现
用于验证INVITE请求的处理流程和测试钩子
测试专用的ServerMessageProcessorHandler实现
用于验证MESSAGE请求的处理流程
测试专用的ServerRegisterProcessorHandler实现
用于验证REGISTER请求的处理流程
测试专用的SIP请求工具类
提供不依赖SipLayer的工具方法
测试套件配置类
管理测试执行的各种参数和选项
ThreadPoolTask 配置类 - 优化版本
时间同步服务接口
支持SIP和NTP两种校时方式
时间同步服务实现类
支持SIP和NTP两种校时方式
Trace跟踪工具类
提供traceId的ThreadLocal管理和MDC集成功能
SipRequestBuilderFactory
替代此类 此类保留是为了向后兼容,新代码建议使用新的构建器模式