视频监控安防平台-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
————————————————

最新文章

  1. 移动端div移动
  2. php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
  3. POJ 2421 Constructing Roads (最小生成树)
  4. SilverLight页面跳转(转载)
  5. HTTP分段下载
  6. 7.3.2 Using Backups for Recovery 使用备份用于恢复
  7. WPF(布局)
  8. jQuery插件编写及链式编程模型
  9. OpenCv关于灰度积分图的SSE代码学习和改进。
  10. A. Karen and Morning
  11. Flask 视图
  12. AsyncTask还要知道的一些知识
  13. Java基础——0 前言
  14. UGUI-Text——自适应
  15. Java基础-多线程-③线程同步之synchronized
  16. golang 版本 gearman 试用
  17. Mockito学习1
  18. android——官方下拉刷新组件SwipeRefreshLayout(转)
  19. hdu1059 dp(多重背包二进制优化)
  20. 深入浅出 Hadoop YARN

热门文章

  1. python 3.7.4下载与安装的问题
  2. XMLHttpRequest的概述
  3. VMware虚拟机安装Linux系统详细教程
  4. java-jsp特殊字符处理
  5. git@github.com: Permission denied (publickey)
  6. 2019 ICPC南京网络预选赛 I Washing clothes 李超线段树
  7. Codeforces Round #506 (Div. 3) 1029 F. Multicolored Markers
  8. CF - 1108 F MST Unification
  9. 九度 题目1454:Piggy-Bank 完全背包
  10. Fedora7 安装完全过程