下面学习的是设备远程控制的流程,和设备信息、设备目录、设备状态的流程差不多,主要是描述的协议字段不同,模拟SPVMN系统向源设备发送远程启动控制指令,记录下交互的消息,详细研究了下:

转载请注明出处:http://blog.csdn.net/longlong530

一.环境搭建:

环境准备:http://blog.csdn.net/longlong530/article/details/9176989

UAC(模拟IPC):

IP:192.168.10.177(同事人不在~,直接用自己的机子模拟了下)

Port:5061

UAS(模拟SIP服务器):

IP:192.168.10.177

Port:5060

SPVMN操作过程:
1.先选择调测设备类型
2.打开UAC.exe完成注册(http://blog.csdn.net/longlong530/article/details/9179513)
3.点击设备远程启动,会在左边的文本框中显示xml。
<?xml version="1.0"?>
<Control>
<CmdType>DeviceControl</CmdType>
<SN>17298</SN>
<DeviceID>34020000001320000001</DeviceID>
<TeleBoot>Boot</TeleBoot>
</Control>

4.点击发送消息,右边对话框即可显示消息交互的过程。(图就不截了~)

二.业务时序图:



三.消息详解:
第一步,UAS-->UAC
设备控制命令同样是采用Message消息
Content-type头域为Application/MANSCDP+xml,设备状态查询命令采用MANSCDP协议格式,具体参见GBT28181国标。
请求命令包含命令类型(CmdType)、命令序列号(SN)、设备编码(DeviceID)
MESSAGE sip:34020000001320000001@3402000000 SIP/2.0
Call-ID: fac5d9915d7b4b64e46054bbbda3f29f@0.0.0.0
CSeq: 1 MESSAGE
From: <sip:34020000002000000001@3402000000>;tag=58726327_53173353_c2be9be1-4121-42af-b4e2-e4896ab42120
To: <sip:34020000001320000001@3402000000>
Max-Forwards: 70
Content-Type: Application/MANSCDP+xml
Route: <sip:34020000001320000001@192.168.10.177:5061;line=9a1ca01668b5778;lr>
Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bKc2be9be1-4121-42af-b4e2-e4896ab42120_53173353_18042259617961
Content-Length: 164<?xml version="1.0"?>
<Control>
<CmdType>DeviceControl</CmdType>
<SN>17298</SN>
<DeviceID>34020000001320000001</DeviceID>
<TeleBoot>Boot</TeleBoot>
</Control>
第二步,UAC-->UAS
UAC收到请求后,立马返回200 0K响应

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bKc2be9be1-4121-42af-b4e2-e4896ab42120_53173353_18042259617961
From: <sip:34020000002000000001@3402000000>;tag=58726327_53173353_c2be9be1-4121-42af-b4e2-e4896ab42120
To: <sip:34020000001320000001@3402000000>;tag=3874540817
Call-ID: fac5d9915d7b4b64e46054bbbda3f29f@0.0.0.0
CSeq: 1 MESSAGE
User-Agent: eXosip/3.6.0
Content-Length: 0
第三步,UAC-->UAS
源设备响应服务器的设备远程启动请求,同样采用MANSCDP协议,返回状态相关信息
MESSAGE sip:34020000001320000001@192.168.10.177 SIP/2.0
Via: SIP/2.0/UDP 192.168.10.177:5061;rport=5061;branch=z9hG4bK3569164341;received=192.168.10.177
From: <sip:192.168.10.177:5060>;tag=3889968117
To: <sip:34020000001320000001@192.168.10.177>
Call-ID: 2825372510
CSeq: 20 MESSAGE
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
User-Agent: eXosip/3.6.0
Content-Length: 162<?xml version="1.0"?>
<Response>
<CmdType>DeviceControl</CmdType>
<SN>17298</SN>
<DeviceID>34020000001320000001</DeviceID>
<Result>OK</Result>
</Response>
第四步,UAS-->UAC
服务器收到响应后,立马返回200 OK响应,整个业务结束。
SIP/2.0 200 OK
To: <sip:34020000001320000001@192.168.10.177>;tag=70215966_53173353_3fef6c77-3ced-484e-9fe7-8905f724c295
Via: SIP/2.0/UDP 192.168.10.177:5061;rport=5061;branch=z9hG4bK3569164341;received=192.168.10.177
CSeq: 20 MESSAGE
Call-ID: 2825372510
From: <sip:192.168.10.177:5060>;tag=3889968117
Content-Length: 0

【GBT28181开发:SIP协议实践】之设备远程启动相关推荐

  1. 基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3945294.html. 上章节讲解了利用自主开发的组件SIP组件l ...

  2. sip 时序图_[置顶] 【GBT28181开发:SIP协议实践】之设备远程启动

    下面学习的是设备远程控制的流程,和设备信息.设备目录.设备状态的流程差不多,主要是描述的协议字段不同,模拟SPVMN系统向源设备发送远程启动控制指令,记录下交互的消息,详细研究了下: 一.环境搭建: ...

  3. 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3941172.html,qq:1269122125. 上两章节简要的 ...

  4. 【GBT28181开发:SIP协议实践】之注册流程

    由于已经成功搭建好基于eXosip的UAC的开发环境,并且也与SPVMN测试系统交互成功,所以现在开始针对注册.查询等业务进行详细的研究. 今天先研究下设备注册的流程,模拟一个IPC向SPVMN系统注 ...

  5. 基于GBT28181:SIP协议组件开发-----------第五篇SIP注册流程eXosip2实现(二)

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3966794.html. 上章节讲解了讲解一个用eXosip2库实现 ...

  6. 国标28181:什么是SIP协议

    前言 对讲设备作为一种专业无线通信工具,能进行一对一,多对多的群组即时通信,在应急调度和突发事故处理中是其他通信工具所不能替代的,在城市治理.公安.运输等行业有广泛的应用. 对讲机按照通信方式分模拟对 ...

  7. SIP协议及其简单介绍

    SIP协议及其简单介绍 概述 流程 SIP流程 两台设备建立会话 原理 使用场景 概述 SIP(Session Initiation Protocol,会话初始化协议)是一个应用层协议,用于在互联网上 ...

  8. android 软电话 开发包-JNI 封装 SIP 协议,可进行二次开发应用于VOIP

    android 软电话 开发包-JNI 封装 SIP 协议,可进行二次开发应用于VOIP 该开发包为android平台下的JNI开发包,符合标准SIP协议,支持G729语音编码. 下载地址:源代码地址 ...

  9. GBT28181协议SIP协议

    我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去<GB/T28181视频整体解决方案>, 一起来围观吧 https://blog.csdn.net/dreamersf/ar ...

最新文章

  1. java连接pda_程序文件直接拷贝到pda设备 (USB连接pc pda wince6.0 C#)
  2. 2021年春季学期-信号与系统-第七次作业参考答案
  3. mysql -d_mysqld
  4. 春节到,献诗一首,祝大家新春愉快
  5. ajax不执行_好程序员Java学习路线分享原生Ajax的使用
  6. 机器学习笔试题精选(七)
  7. CVPR 2019 | 针对人脸识别系统的高效黑盒对抗攻击算法
  8. mysql闪回工具下载_MySQL闪回工具之myflash 和 binlog2sql
  9. 找到最大回文子串_使用O(1)空间复杂度找到最大的回文子串
  10. php什么情况下使用静态属性,oop-做php项目什么时候该使用静态属性呢
  11. 简单英文题 16 Maximum Sum Not Exceeding K(python)
  12. CAS和AtomicLong和LongAdder
  13. openlayers集成echarts实现百度迁徙的模拟
  14. 如何做gif动图?手把手教你在线制作动图
  15. Java 计算两个日期时间差(天数、时、分、秒、毫秒)
  16. 数据库系统的主要组成部分
  17. 自动连接 无法连接网络连接服务器,微信提示无法连接到服务器怎么办?微信无法连接服务器怎么解决?...
  18. 数据库原理与应用 构建音乐商店,实现复杂查询和批量操作及视图练习
  19. 挂载的三种方式之自动挂载(autofs)
  20. 跟CEO、CSO们一起来上保险科技精品课:众安在线、泛华金控...30家标杆企业案例8小时深度闭门研讨...

热门文章

  1. 诺奖得主涉嫌学术造假!30多篇论文被曝P图、复制粘贴,牵扯中科大教授等多国学者
  2. 大数据早报:日本三菱公司再曝数据造假丑闻 Splunk机器学习帮助制药公司治疗遗传疾病(11.28)...
  3. 如何正常使用ckeditor5图片裁剪功能
  4. 谷歌周边探索应用FieldTrip上架苹果App Store
  5. 蜂鸣器实现一盏灯灭的同时蜂鸣器响
  6. .NetCore学习笔记:一、UnitOfWork工作单元
  7. arduino nano学习过程中的相关程序
  8. 再见 Typora,这个开源的 Markdown 编辑器爱了。
  9. 高斯混合模型下的变分推断
  10. Linux浅析之四——Wine