1.协议内容
报警事件通知和分发使用IETF RFC 3428中定义的方法Message传送报警信息。发生报警事件时,源设备应将报警信息发送给SIP服务器,SIP服务器接收到报警事件后,将报警信息分发给目标设备。其中,源设备包括SIP设备、网关、SIP客户端、联网系统或者综合接处警系统以及卡口系统等,目标设备包括具有接警功能的SIP客户端、联网系统或者综合接处警系统以及卡口系统等。
2.报警流程
报警事件通知和分发流程示意图
具体的命令流程描述如下:
(1)报警事件产生后,源设备向SIP服务器发送报警通知命令,报警通知命令采用Message方法携带;
(2)SIP服务器收到命令后返回200OK;
(3)SIP服务器接收到报警事件后,向源设备发送报警事件通知响应命令,报警通知响应命令采用Message方法携带;
(4)源设备收到命令后返回200OK;
(5)SIP服务器接收到报警事件后,确定需要转发的目标设备,SIP服务器向目标设备发送报警事件通知命令,报警通知命令采用Message方法携带;
(6)目标设备收到命令后返回200OK;
(7)目标设备接收到报警事件后,向SIP服务器发送报警事件通知响应命令,报警通知响应命令采用 Message方法携带;
(8)SIP服务器收到命令后返回200OK。
3.协议接口
3.1.请求命令消息体
消息头Content-type字段为Content-type:Application/MANSCDP+xml。报警事件通知和分发流程中的请求命令采用MANSCDP协议格式定义。
源设备向SIP服务器通知报警、SIP服务器向目标设备发送报警的通知命令均采用Message方法的消息体携带。报警事件通知命令应包括命令类型(CmdType)、命令序列号 (SN)、设备编码(DeviceID)、报警级别(AlarmPriority)等。可选项:报警时间(AlarmTime)、报警方式(AlarmMethod)、经度(Longitude)、纬度(Latitude)、扩展报警类型(AlarmType)、报警类型参数(AlarmTypeParam)。
相关设备在收到Message消息后,应立即返回200OK应答,200OK应答均无消息体。
3.2.应答命令消息体
消息头Content-type字段为Content-type:Application/MANSCDP+xml。报警事件通知和分发流程中的应答命令采用MANSCDP协议格式定义。
SIP服务器向源设备、目标设备向SIP服务器发送报警通知应答命令均采用Message方法的消息体携带。报警事件通知应答命令应包括命令类型(CmdType)、命令序列号(SN)、设备编码(DeviceID)、执行结果(Result)。
相关设备在收到Message消息后,应立即返回200OK应答,200OK应答均无消息体。
4.消息示范
4.1.报警订阅
Expires为报警订阅有效期,到期后需要重新订阅。
SUBSCRIBEsip:事件源编码@事件源域名或IP地址 SIP/2.0
Via:SIP/2.0/UDP 事件观察者域名或IP地址
Max-Forwards:70
From:显示名<sip:事件观察者编码@事件观察者域名或IP地址>;tag=BK32B1U8DKDrB
To:显示名<sip:事件源编码@事件源域名或IP地址>
Call-ID:17250
CSeq:1 SUBSCRIBE
Expires:90
Event:presence
Content-type:Application/MANSCDP+XML
Content-Length:消息实体的字节长度
<?xml version="1.0"?>
<Query>
<CmdType>Alarm</CmdType>
<SN>17430</SN>
<DeviceID>64010000001340000001</DeviceID>
<StartAlarmPriority>1</StartAlarmPriority>
<EndAlarmPriority>4</EndAlarmPriority>
<AlarmMethod>5</AlarmMethod>
<StartTime>2023-09-20T09:58:25</StartTime>
<EndTime>2023-09-20T10:03:25</EndTime>
</Query>
Via:SIP/2.0/UDP 事件观察者域名或IP地址
From:显示名<sip:事件观察者编码@事件观察者域名或IP地址>;tag=BK32B1U8DKDrB
To:显示名<sip:事件源编码@事件源域名或IP地址>
Call-ID:17250
CSeq:1 SUBSCRIBE
Expires:90
Event:presence
Content-type:Application/MANSCDP+XML
Content-Length:消息实体的字节长度
<?xml version="1.0"?>
<Response>
<CmdType>Alarm</CmdType>
<SN>17430</SN>
<DeviceID>64010000001340000001</DeviceID>
<Result>OK</Result>
</Response>
4.2.报警通知
NOTIFY sip:事件观察者地址@事件观察者域名或IP地址 SIP/2.0
Via:SIP/2.0/UDP 事件源域名或IP地址
Max-Forwards:70
From:显示名<sip:事件源编码@事件源域名或IP地址>;tag=BK32B1U8DKDrB
To:显示名<sip:事件观察者编码@事件观察者域名或IP地址>
Call-ID:17250
CSeq:1 NOTIFY
Subscription-State:active;expires=90;retry-after=0
Event:presence
Content-type:Application/MANSCDP+XML
Content-Length:消息实体的字节长度
<?xml version="1.0"?>
<Notify>
<CmdType>Alarm</CmdType>
<SN>1</SN>
<DeviceID>64010000001340000001</DeviceID>
<AlarmPriority>4</AlarmPriority>
<AlarmMethod>5</AlarmMethod> //视频报警
<AlarmTime>2023-09-20T10:00:00</AlarmTime>
<AlarmDescription>警情描述</AlarmDescription>
<Longitude>171.3</Longitude>
<Latitude>34.2</Latitude>
<Info>
<AlarmType>6</AlarmType> //入侵检测报警
<AlarmTypeParam>
<EventType>1</EventType> //进入区域
</AlarmTypeParam>
</Info>
</Notify>
Via:SIP/2.0/UDP 事件源域名或IP地址
From:显示名<sip:事件源编码@事件源域名或IP地址>;tag=BK32B1U8DKDrB
To:显示名<sip:事件观察者编码@事件观察者域名或IP地址>
Call-ID:17250
CSeq:1 NOTIFY
Content-type:Application/MANSCDP+XML
Content-Length:消息实体的字节长度
<?xml version="1.0"?>
<Response>
<CmdType>Alarm</CmdType>
<SN>1</SN>
<DeviceID>64010000001340000001</DeviceID>
<Result>OK</Result>
</Response>
5.字段说明
字段名 | 是否必选 | 可选值及说明 |
CmdType | 命令类型:报警通知(必选) | Alarm |
SN | 命令序列号(必选) | 如:1 |
DeviceID | 报警设备编码或报警中心编码(10位)(必选) | 如:64010000001340000001 |
AlarmPriority | 报警级别(必选) |
1为一级警情 2为二级警情 3为三级警情 4为四级警情 |
AlarmMethod | 报警方式(必选) |
1为电话报警 2为设备报警 3为短信报警 4为GPS报警 5为视频报警 6为设备故障报警 7为其他报警 |
AlarmTime | 报警时间(必选) | 如:2023-09-20T10:00:00 |
AlarmDescription | 报警内容描述(可选) | 如:视频动检 |
Longitude | 经度信息(可选) | 如:171.3 |
Latitude | 纬度信息(可选) | 如:34.2 |
AlarmType | 扩展Info项携带报警类型、报警类型参数字段。(可选) |
报警方式为2时,不携带AlarmType为默认的报警设备报警,携带AlarmType取值及对应报警类型如下:1-视频丢失报警;2-设备防拆报警;3-存储设备磁盘满报警;4-设备高温报警;5-设备低温报警。 报警方式为5时,取值如下:1-人工视频报警;2-运动目标检测报警;3-遗留物检测报警;4-物体移除检测报警;5-绊线检测报警;6-入侵检测报警;7-逆行检测报警;8-徘徊检测报警;9-流量统计报警;10-密度检测报警;11-视频异常检测报警;12-快速移动报警。 报警方式为6时,取值如下:1-存储设备磁盘故障报警;2-存储设备风扇故障报警。 |
EventType | 扩展Info项报警类型扩展参数,在入侵检测报警时可携带事件类型。(可选) |
1-进入区域 2-离开区域 |
6.备注
特别的,在使用报警功能时,需要提前对摄像机进行配置,开启事件功能的移动侦测和视频遮挡等,否则,订阅报警后将接收不到报警事件。