视频监控安防平台-GB28181-2016版-移动位置订阅
视频监控安防平台-GB28181-2016版-移动位置订阅
郑重声明: 本位来自 CSDN博主「沉睡的思绪」,查看原文,请点击下面链接,
原文链接:https://blog.csdn.net/songxiao1988918/article/details/78641811
我转载此文,主要做个记录。
由于项目原因最近还是好久没更新博客了,一直想把移动位置订阅这个更新上去避免检测的时候遇到和我一样的问题。移动位置订阅是国标28181-2016版本新出的协议,协议里面对移动位置订阅的描述不是很清晰,检测的时候还单纯的以为是移动位置查询,结果检测的时候傻眼了,一看还有移动位置订阅 移动位置取消订阅 移动位置上班的检测项,瞬间就知道是理解错了,最后只能趁检测人员午休的时候现改代码,下面说一下移动订阅的简单流程。
1、订阅和取消订阅流程
直接参考28181文档里面的订阅流程:
移动位置订阅的包体信息:
<?xml version="1.0"?>
<Query>
<CmdType>MobilePosition</CmdType>
<SN>51</SN>
<DeviceID>64000000001310000001</DeviceID>
<Interval>6</Interval>
</Query>
移动位置取消订阅的包体信息:
<?xml version="1.0"?>
<Query>
<CmdType>MobilePosition</CmdType>
<SN>7</SN>
<DeviceID>64000000001310000001</DeviceID>
</Query>
2、移动位置通知流程
移动位置通知消息,包体内容:
<?xml version="1.0" ?>
<Notify>
<DeviceID>64000000001310000001</DeviceID>
<CmdType>MobilePosition</CmdType>
<SN>128</SN>
<Time>2017-05-19T10:27:58</Time>
<Longitude>116.336</Longitude>
<Latitude>39.942</Latitude>
<Speed>0.0</Speed>
<Direction>0.0</Direction>
<Altitude>0.0</Altitude>
</Notify>
下面简单粘贴下抓包的信息
移动位置订阅消息:
SUBSCRIBE sip:64000000001310000001@192.168.1.93:5060 SIP/2.0
Call-ID: 4ef921da0c61d38df35ed9794b79e6fd@0.0.0.0
CSeq: 1 SUBSCRIBE
From: <sip:34020000002000000001@3402000000>;tag=98909488_53173353_53a5809f-9432-4c74-b2f3-1b0d496fc3db
To: <sip:64000000001310000001@192.168.1.93:5060>
Max-Forwards: 70
Contact: "34020000002000000001" <sip:192.168.1.81:5060>
Expires: 600
Event: Catalog;id=55
Content-Type: Application/MANSCDP+xml
Via: SIP/2.0/UDP 192.168.1.81:5060;branch=z9hG4bK53a5809f-9432-4c74-b2f3-1b0d496fc3db_53173353_7382400244196
Content-Length: 157
<?xml version="1.0"?>
<Query>
<CmdType>MobilePosition</CmdType>
<SN>51</SN>
<DeviceID>64000000001310000001</DeviceID>
<Interval>6</Interval>
</Query>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.81:5060;branch=z9hG4bK53a5809f-9432-4c74-b2f3-1b0d496fc3db_53173353_7382400244196
From: <sip:34020000002000000001@3402000000>;tag=98909488_53173353_53a5809f-9432-4c74-b2f3-1b0d496fc3db
To: <sip:64000000001310000001@192.168.1.93:5060>;tag=waUyeIgW
Call-ID: 4ef921da0c61d38df35ed9794b79e6fd@0.0.0.0
CSeq: 1 SUBSCRIBE
Contact: <sip:64000000001310000001@192.168.1.93:5060>
Expires: 600
Content-Length: 0
移动位置上报的抓包信息(由于检测的时候设备还没有设备厂商过了GB28181-2016检测,还是采用的定制海康的设备,包体内容还有些小bug给公安一所说了,后面有所修改):
NOTIFY sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.93:5060;rport;branch=z9hG4bK-3d09000-17478ee-Hi8M6Ajh
From: <sip:64000000001310000001@192.168.1.93:5060>;tag=waUyeIgW
To: <sip:34020000002000000001@3402000000>;tag=98909488_53173353_53a5809f-9432-4c74-b2f3-1b0d496fc3db
Call-ID: 4ef921da0c61d38df35ed9794b79e6fd@0.0.0.0
CSeq: 2 NOTIFY
Contact: <sip:192.168.1.93:5060>
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
Event: Catalog;id=55
Subscription-State: active
Content-Length: 310
<?xml version="1.0" encoding="UTF-8"?>
<Notify>
<DeviceID>64000000001310000001</DeviceID>
<CmdType>MobilePosition</CmdType>
<SN>126</SN>
<Time>2017-05-19T10:27:38</Time>
<Longitude>116.336</Longitude>
<Latitude>39.942</Latitude>
<Speed>0.0</Speed>
<Direction>0.0</Direction>
<Altitude>0.0</Altitude>
</Notify>
SIP/2.0 200 OK
To: <sip:34020000002000000001@3402000000>;tag=98909488_53173353_53a5809f-9432-4c74-b2f3-1b0d496fc3db
Via: SIP/2.0/UDP 192.168.1.93:5060;rport=5060;branch=z9hG4bK-3d09000-17478ee-Hi8M6Ajh;received=192.168.1.93
CSeq: 2 NOTIFY
Call-ID: 4ef921da0c61d38df35ed9794b79e6fd@0.0.0.0
From: <sip:64000000001310000001@192.168.1.93:5060>;tag=waUyeIgW
Contact: <sip:192.168.1.81:5060>
Content-Length: 0
移动位置取消订阅:
SUBSCRIBE sip:192.168.1.93:5060 SIP/2.0
CSeq: 2 SUBSCRIBE
From: <sip:34020000002000000001@3402000000>;tag=98909488_53173353_53a5809f-9432-4c74-b2f3-1b0d496fc3db
To: <sip:64000000001310000001@192.168.1.93:5060>;tag=waUyeIgW
Call-ID: 4ef921da0c61d38df35ed9794b79e6fd@0.0.0.0
Max-Forwards: 70
Contact: <sip:192.168.1.81:5060>
Expires: 0
Event: Catalog;id=55
Content-Type: Application/MANSCDP+xml
Via: SIP/2.0/UDP 192.168.1.81:5060;branch=z9hG4bK53a5809f-9432-4c74-b2f3-1b0d496fc3db_53173353_7422092422952
Content-Length: 150
<?xml version="1.0"?>
<Query>
<CmdType>MobilePosition</CmdType>
<SN>55</SN>
<DeviceID>64000000001310000001</DeviceID>
</Query>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.81:5060;branch=z9hG4bK53a5809f-9432-4c74-b2f3-1b0d496fc3db_53173353_7422092422952
From: <sip:34020000002000000001@3402000000>;tag=98909488_53173353_53a5809f-9432-4c74-b2f3-1b0d496fc3db
To: <sip:64000000001310000001@192.168.1.93:5060>;tag=waUyeIgW
Call-ID: 4ef921da0c61d38df35ed9794b79e6fd@0.0.0.0
CSeq: 2 SUBSCRIBE
Contact: <sip:64000000001310000001@192.168.1.93:5060>
Expires: 600
Content-Length: 0
————————————————