中国购物网站排行榜,住房和城乡建设部网站准考证,网络公司业务,室内设计公司创业计划书概念
使用REGISTER方法进行注册和注销#xff1b;注册和注销应进行认证#xff0c;认证方式应支持数字摘要认证方式#xff0c;高安全级别的宜支持数字证书认证#xff1b;注册成后#xff0c;SIP代理在注册过期时间到来之前#xff0c;应向注册服务器进行刷新注册…概念
使用REGISTER方法进行注册和注销注册和注销应进行认证认证方式应支持数字摘要认证方式高安全级别的宜支持数字证书认证注册成后SIP代理在注册过期时间到来之前应向注册服务器进行刷新注册若注册失败应在不短于60s的时间间隔内重新发起注册系统、设备注册过期时间可配置SIP代理是否注册成功决定SIP服务器在离线状态对于处于开启网络地址转换(NAT)功能的路由器内侧的SIP代理应该支持使用TCP发起SIP注册并在注册成功后保持TCP连接不关闭SIP代理及服务器在该TCP通道里发送所有请求及响应SIP消息。若TCP通道断开则认为SIP代理异常掉线SIP代理应在一定时间间隔内重新发起注册
流程
注册 注册流程
SIP代理向SIP服务器发送REGISTER请求SIP服务器向SIP代理响应401(未认证)返回的消息头里给出适合SIP代理的认证体制和参数SIP代理重新向SIP服务器发送REGISTER请求在请求的Authorization中给出信任书包括认证信息SIP服务对请求进行认证如检测SIP代理身份合法向SIP代理响应200 OK如检测不合法发送拒绝服务应答
注销 注销流程
SIP代理向SIP服务器发送REGISTER请求Expires字段的值为0表示SIP代理要注销SIP服务器向SIP代理响应401(未认证)返回的消息头里给出适合SIP代理的认证体制和参数SIP代理重新向SIP服务器发送REGISTER请求在请求的Authorization中给出信任书包括认证信息Expires字段的值为0SIP服务对请求进行认证如检测SIP代理身份合法向SIP代理响应200 OK如检测不合法发送拒绝服务应答
注册重定向2022新增 重定向流程
设备或系统段的SIP代理向SIP重定向服务器发送REGISTER请求SIP重定向服务器向SIP代理响应401(未认证)返回的消息头里给出适合SIP代理的认证体制和参数SIP代理重新向SIP重定向服务器发送REGISTER请求在请求的Authorization中给出信任书包括认证信息SIP重定向服务器验证请求如检测SIP代理身份合法SIP重定向服务器根据内部策略选择设备需注册的SIP服务器A并回复注册请求响应302响应消息携带Contact头域和ExpiresContact格式为sip:SIP服务器A编码目的IP地址端口在此头域中携带SIP服务A的地址SIP代理收到302重定向请求后向SIP服务器A发起注册6~8完成注册重定向流程后后续所有请求和响应动作由SIP服务器A和设备直接完成重定向后如果SIP代理检测SIP服务器A离线或注册被SIP服务器拒绝SIP代理应重新执行注册重定向流程向SIP重定向服务器发起注册请求
状态信息报送包括心跳检测
要求
当原设备发现工作异常时应立即向本SIP监控域的SIP服务器发送状态信息无异常时定时向本SIP监控域的SIP服务器发送状态信息状态信息报送采用MESSGAE方法SIP设备宜在状态信息中携带故障子设备描述信息通过周期性的状态信息报送实现注册服务器与原设备之间的状态检测即心跳机制心跳发送发、接收方需统一配置心跳间隔参数安装心跳间隔定时发送心跳消息默认心跳间隔为60s心跳发送方、接收方需统一配置心跳超时次数参数心跳消息连续超时达到心跳超时次数则认为对方下线默认心跳超时次数为3次心跳接收方在心跳发送方上线状态下检测到心跳消息连续超时达到配置次数则心跳发送方离线心跳发送方在心跳接收方上线状态下检测不到心跳响应消息连续超时达到配置次数则认为心跳接收方离线
流程 心跳流程
源设备向SIP服务器发送设备状态信息报送命令采用MESSAGE方法携带SIP服务器收到命令后返回200 OK
测试
准备
1一台支持国标的海康设备
2自研的客户端界面程序SIP服务端程序
设备配置 如图为海康设备网页端配置主要关注以下几个配置项
本地SIP端口默认5060相机针对GB28181协议开放的通信端口传输协议支持UDP和TCP协议勾选“启动”按钮启用GB28181-2016协议SIP服务器ID服务器标识详见GB28181协议定义SIP服务域SIP服务器ID的前10位SIP服务器地址SIP服务所在机器的IP地址SIP服务端口SIP服务端口
启用GB28181后设备定期对外发送REGISTER命令如无服务端连接由ICMP协议返回464目标不可达抓包如下所示REGISTER命令分析
部分命令分析
传输协议为UDP注册命令基于**SIP协议Session Initiation Protocol**传输注册命令的method为REGISTERExpires注册有效期默认3600秒
代码架构 工程目前主要分为3部分
1tinyXml编译为静态库用于xml解析。TinyXml是一个c的xml解析库是一个基于DOM模型、非验证的轻量级解释器
2mysipsdk编译为动态库基于开源库pjsip做二次封装供客户端使用
3GB28181Client基于qt开发的界面客户端依赖于mysipsdk.dll
界面展示 抓包分析
程序启动后输入端口、域名等信息点击连接抓包可查看注册成功。