本节引用“天好蓝”的博文《SIP之GB28181注册详解》,部分截图如下:
百度云盘: https://pan.baidu.com/s/1ALKBJ7xkPjdH8Ya3SqYlbA 提取码: 6qf1 ,内容截图
下面是上面抓包中的内容:
REGISTER sip:[email protected]:7100 SIP/2.0
Via: SIP/2.0/UDP 10.64.49.218:7100;rport;branch=z9hG4bK4162288924
From: ;tag=382068091
To:
Call-ID: 143225205
CSeq: 1 REGISTER
Contact:
Max-Forwards: 70
User-Agent: Hikvision
Expires: 7200
Content-Length: 0
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 10.64.49.218:7100;rport=7100;branch=z9hG4bK4162288924
From: ;tag=382068091
To: ;tag=916944766
Call-ID: 143225205
CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="hik", nonce="a8afe6fcbee6331d89d3eb0d3d19ce39", opaque="a853e4f25298413f9bf3a9aa6767857d", algorithm=MD5
User-Agent: Hikvision
Expires: 7200
Content-Length: 0
REGISTER sip:[email protected]:7100 SIP/2.0
Via: SIP/2.0/UDP 10.64.49.218:7100;rport;branch=z9hG4bK3997518011
From: ;tag=382068091
To:
Call-ID: 143225205
CSeq: 2 REGISTER
Contact:
Authorization: Digest username="admin", realm="hik", nonce="a8afe6fcbee6331d89d3eb0d3d19ce39", uri="sip:[email protected]:7100", response="907ddb1bcc25174d7de4a96c947fb066", algorithm=MD5, opaque="a853e4f25298413f9bf3a9aa6767857d"
Max-Forwards: 70
User-Agent: Hikvision
Expires: 7200
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.64.49.218:7100;rport=7100;branch=z9hG4bK3997518011
From: ;tag=382068091
To: ;tag=705514612
Call-ID: 143225205
CSeq: 2 REGISTER
Contact:
User-Agent: Hikvision
Date: 2013-09-10T16:01:51
Content-Length: 0
会发现,From和To怎么一样的呢?与常规的理解不一样,详见下面。
CSDN博文《SIP注册信令消息示范及解释》,部分截图如下:
“一步一光年”的博文《sip注册流程》,部分截图如下:
SIP(SessionInitiationProtocol,会话发起协议)是由IETF提出的IP电话信令协议.它的主要目的是为了解决IP网中的信令控制,以及同软交换的通信,从而构成下一代的增值业务平台,对电信、银行、金融等行业提供更好的增值业务。SIP协议是一种基于文本的类似于HTTP的协议,报文结构与HTTP也一样,即包括请求行,头域字段,body。报文结构如下:
start-line
message-header
CRLF
[ message-body ]
分请求行和状态行。
请求行: 由请求类型
、请求目的地址
和协议版本号
构成。请求类型有:INVITE,ACK,OPTIONS,BYE,CANCEL和REGISTER。
状态行: 是被叫方向主叫方返回的状态信息,如1xx,2xx,3xx,4xx,5xx,6xx。
请求类型:
状态类型:
常见消息头:
TO: 显示名<接收者URI>;tag=n
,显示名和tag可选。接收者URI是SIP网络种唯一标识接收终端的标识符。例:TO: Name;TAG=11111
或 TO: sip:[email protected]
FROM: sip:[email protected];tag=hyh8
,tag是必需的。注:以上内容参考:https://cloud.tencent.com/developer/article/1183318
博客园,王纲的《GB28181对接视频流》,部分截图如下:
下面介绍下各配置项基本意义:
本地端口:默认为5060,SIP服务发送命令给摄像机时需要知道摄像机GB28181端口号。
SIP服务器ID:说简单就是服务器的标识,只不过这个标识有一定的要求,具体请参见《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求.pdf》,文档百度云盘链接: https://pan.baidu.com/s/1y-ppGH-F9OokjqUcdnLjzg 提取码: mir6
SIP服务域:实际就是SIP服务器ID前10位。
SIP服务器地址:SIP服务所在机器的IP地址(如果存在多网卡建议将不用的网卡禁用掉)。
博文《视频监控安防平台-GB28181_2016版-注册、心跳、注销》,部分截图,如下:
文档《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求(扫描带目录版).pdf》, 提取码: k5ma,相关部分的截图如下:
CSDN博文【GBT28181开发:SIP协议实践】之设备目录查询,部分截图如下:
GB28181-2016 IPC模拟设备 + 自动化测试工具 ,提取码: 3d3v ,截图
检测工具,运行的界面,如下:
模拟被测设备的程序,如果不想改配置件里的IP,将电脑IP改来和配置文件的一样, 如下:
测试时,wireshark抓包,界面如下:
直接在检测工具上,也能看到报文内容,如图:
百度文库,SIP资料,截图如下:
GBT28181网络摄像机模拟器源码.zip 提取码: mehg ,截图如下:
http://www.gnu.org/software/osip/
http://savannah.nongnu.org/projects/exosip/
eXosip2的使用文档,下图红框处:
https://www.cnblogs.com/xiaOt119/archive/2012/06/11/2545136.html ,截图如下:
PJSIP是一个开放源代码的SIP协议栈。它支持多种SIP的扩展功能,目前可说算是最流行的sip协议栈之一了。
下面列出其重要的几种优点: