说明:
1、 需要对前端摄像机和后端NVR、解码器、平台进行GB28181测试和开发的人员。本文档提供的一些测试细节,比如测试环境,SIP消息格式说明,SDP文本信息字段说明,GB28181测试注意项,将很可能会帮到这些测试和开发人员。
2、 单纯想了解SIP消息格式和SDP文本信息字段的人员。
3、 阅读此文档,最好结合以下文档一起阅读:
a) GB28181标准文档《安全防范视频监控联网系统信息传输、交换、控制技术要求》
b) 《公安机关视频监控系统联网标准符合性自测工具(SPVMN)说明书》,来自公安部安全与警用电子产品质量检测中心
c) 《视频监控联网系统标准符合性检测方法》,来自公安部安全与警用电子产品质量检测中心
4、 此文档相对简略,如果读者遇到问题,可以在文章下方留言,我将尽可能回复。
1. 测试环境
1.1. SIP设备接入到平台
1.2. 平台注册到SPVMN
1.3. SPVMN注册到平台
1.4. SPVMN配置
SPVMN Web应用程序访问地址:
http://192.168.0.152:8080/SIPStandardDebug/#
http://192.168.0.152:8080/SIPStandardDebug/sip/play_video.html
udp://@192.168.0.152:6000 (SPVMN Web客户端视频播放或回放时指定窗口)
SSDConfig.properties文件配置如下:
#############SIP服务器配置#############
#SIP服务器域名
sipserver_domainname=3401000000
#SIP服务器ID
sipserver_id=34010000002000000001
#SIP服务器本地IP地址
sipserver_ip=192.168.0.152
#SIP服务器本地SIP端口
sipserver_port=5060
#SIP服务器对外注册密码
sipserver_password=12345678
#############DVR/NVR设备配置#############
#DVR/NVR设备ID
sipdevice_DVR_id=34010000001180000001
#DVR/NVR设备注册密码
sipdevice_DVR_password=12345678
#DVR/NVR所带通道ID
sipdevice_DVR_camera_id=34010000001320000001
#DVR/NVR所带报警输入ID
sipdevice_DVR_alarm_id=34010000001340000001
#############IPC设备配置#############
#IPC设备ID
sipdevice_IPC_id=34010000001320000002
#IPC设备注册密码
sipdevice_IPC_password=12345678
#IPC所带报警输入ID
sipdevice_IPC_alarm_id=34010000001340000002
sipdevice_IPC_camera_id=34010000001320000002
#############解码器设备配置#############
#解码器设备ID
sipdevice_decoder_id=34010000001140000001
#解码器设备注册密码
sipdevice_decoder_password=12345678
#解码器所带监视器ID
sipdevice_decoder_monitor_id=34010000001330000001
#############外部系统配置#############
#外部系统ID
sipdevice_othersystem_id=34020000002000000001
#外部系统密码
sipdevice_othersystem_password=12345678
#外部系统IP地址
sipdevice_othersystem_ip=192.168.0.197
#外部系统SIP端口
sipdevice_othersystem_port=5060
#############视频参数配置#############
#媒体接收端ID
media_dest_id=34010000002020000001
#媒体接收端IP
media_dest_ip=192.168.0.152
#媒体接收端Port
media_dest_port=6000
#历史回放开始时间,格式为yyyyMMddhhmmss
history_starttime=20110827010456
#历史回放结束时间,格式为yyyyMMddhhmmss
history_endtime=20110827011456
1.5. 平台配置
平台IP:192.168.0.197
平台SIP Server ID : 34020000002000000001 Port: 5060
Media server ID: 34020000002020000001 Port:5080
Client ID : 34020000003000000001 Port :5070
IPC IP:192.168.0.223
IPC ID : 34020000001320000002
Port: 5060
IPC alarm ID: 34020000001340000002
NVR IP:192.168.0.158
IPC ID : 34020000001180000001
Port: 5060
NVR alarm ID: 34020000001340000001
NVR IPC ID: 34020000001320000001
解码器IP: 192.168.0.224
port:5060
解码器ID: 34020000001140000001
监视器ID: 34020000001330000001
SPVMN IP: 192.168.0.152
SPVMN SIP Server ID : 34010000002000000001
Port: 5060
1.6. 解码器配置
解码器型号:DS-6401HD-T
1.7. NVR配置
NVR型号:DS-9608N-ST
NVR平台接入配置如下:
1.8. IPC配置
IPC型号:DS-2DF5276-A
1.9. SIP消息格式说明
SIP消息用于建立或终结会话,采用纯文本形式,用于Internet多媒体会议,Internet电话呼叫或多媒体信息流分配。
MESSAGE sip:34020000001140000001@3402000000 SIP/2.0
//SIP消息起始行。方法,请求URI,SIP-版本
Call-ID: f9d35df0ce0d5ab858acf0f0879bcadd@0.0.0.0
//Call-ID:标识一个特定的邀请,和与这个邀请相关的所有后续事务
CSeq: 1 MESSAGE
//CSeq:在同一对话中标识不同事务的顺序,保证了同一用户发送的不同请求消息间的顺序,包括一个十进制的序列号和一个请求方法名
From: <sip:34010000002000000001@3401000000>;tag=37326304_53173353_a2395f45-b151-4973-854f-dff77790eeb9
//From:标识请求的发送方
To: <sip:34020000001140000001@3402000000>
//To:指示请求的逻辑接收者,在整个对话的建立及持续过程中不变,也不能被代理改变
Max-Forwards: 70
//请求可被代理转发的最大跳数(0-255)
Content-Type: Application/MANSCDP+xml
//指示消息体的媒体类型
Route: <sip:34020000001140000001@192.168.0.197:5050;lr>
//Route:表示需要按照头域中列出的Proxy对请求进行路由 Route
Via: SIP/2.0/UDP 192.168.0.152:5060;branch=z9hG4bKa2395f45-b151-4973-854f-dff77790eeb9_53173353_31398037442080
//存储所有处理请求的代理的地址,表示到目前为止经过的路径,可以使响应消息沿请求消息的原路径返回,还可用于检测环路,由传输层协议、客户名和地址,及接收//响应的端口号组成
Content-Length: 130
//给出消息体的字节数
<?xml version="1.0"?>
<Query>
<CmdType>DeviceInfo</CmdType>
<SN>17430</SN>
<DeviceID>34020000001140000001</DeviceID>
1.10. SDP文本信息字段
SDP文本信息字段描述:
v=0 //版本
o=34010000002020000001 0 0 IN IP4 192.168.0.152 //会发发起者的会话标志。
//<username> <session id> <version> <network type>internet <address type> IP4 IP6 <address>
s=Playback //会话名称
u=null:3 //URI
c=IN IP4 192.168.0.152 //连接信息
//<network type> <address type> <connection address>
t=1314378296 1314378896
//会话激活的时间区段 <start time> <stop time> ntp值,单位是秒。
m=video 6000 RTP/AVP 96 98 97
//<media>媒体类型 <port>端口 <transport>传输层协议 <fmt list>媒体格式列表
a=recvonly //特性属性
a=rtpmap:96 PS/90000 //规定实验性编码格式
//<payload type>负载类型 <encoding name>编码名称/<clock rate>时钟速率
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
1.11. 测试工具
Wireshark 64 bit/32bit,用于信令分析,可以寻找问题的原因,检测时,也会用到。
VLC media player,用于播放视频,检测视频是否符合H.264标准。
SDAP,海康设备搜索工具,方便检测到局域网内的海康设备。
时间换算器。能将北京时间换算成UNIX时间戳。
http://tool.chinaz.com/Tools/unixtime.aspx
2. 测试注意项
2.1. 信令流程
各个检测项的信令流程是测试的重点,必须完全符合GB28181的信令流程。比如,对于一次报警通知,只能有一次响应。下载和回放信令流程,不能少一个Bye信息。
2.2. 平台注册到SPVMN
2.2.1. 校时
注册信令的最后一条消息含校时信息。校时后,平台的时间会调整为和SPVMN所在主机的时间一致。检测的过程中,检测方会查看平台的时间是否校正过来。SPVMN注册到平台,SIP设备注册到平台,与之类似。
2.2.2. 目录查询
SPVMN查看平台的设备目录,能显示设备目录。设备目录查询,也要求能查询到所有设备(包括子设备)的设备编号、设备厂商、设备型号、父设备等信息。
2.2.3. 实时点播
先打开SPVMN实时播放页面,通过udp://@192.168.0.152:6000指定播放窗口。192.168.0.152是SPVMN所在服务器的IP,6000是左上方的视频窗口。
2.2.4. 录像文件检索
SPVMN对平台录像文件进行检索。
需要修改发送消息面板的开始时间和结束时间,保证待检索的录像在该时间范围内。
<?xml version="1.0"?>
<Query>
<CmdType>RecordInfo</CmdType>
<SN>17430</SN>
<DeviceID>34020000001320000002</DeviceID>
<StartTime>2014-10-31T00:00:00</StartTime>
<EndTime>2014-10-31T23:59:59</EndTime>
<Type>all</Type>
</Query>
2.2.5. 视音频文件回放及回放控制
SPVMN对平台NVR的视音频文件进行回放和回放控制。回放时,要求声音也能正常播放。
检索一段录像,通过 http://tool.chinaz.com/Tools/unixtime.aspx 网页工具换算录像的时间。
2014-10-31T14:10:19 1414735819
2014-10-31T14:12:56 1414735976
修改SPVMN消息面板t字段
2.2.6. 视音频文件下载
下载和回放类似。打开SPVMN回放浏览窗口,在下载时,可进行视频播放,点击右键,也能对下载的视频进行本地存储。
2.2.7. 布防和撤防
布防是对某一台具体的设备进行布防,布防后,该设备发出的报警通知,平台就能接收到。撤防后,不应再收到报警。
2.3. SIP设备接入到平台
2.3.1. 报警
对于每一次的控制操作,平台界面上需要有提示。尤其是“报警通知”这样的信息。
2.3.2. 录像文件检索
设备接入平台,进行录像检索时,要求也能按时间之外的方式进行检索,要求能显示多页的录像检索结果,要求检索的录像清单包含录像生成类型列,如“alarm”,“manual”,“time”。
2.4. SPVMN注册到平台
2.4.1. 系统遥控和遥控取消
SPVMN模拟摄像机的视频播放不会有实际的变化,测试时,查看Wireshark中是否有相应的消息即可。