• GB28181学习(四)——网络设备信息查询


    要求

    • 源设备向目标设备发送信息查询命令,目标设备将结果通过查询应答命令返回给源设备;
    • 设备信息查询命令包括:
      • 设备目录
      • 设备信息
      • 设备状态信息
      • 设备配置
      • 预置位、看守位
      • 巡航轨迹列表
      • 巡航轨迹
      • PTZ精准状态
      • 存储卡状态等
    • 信息查询的范围:本地SIP监控域、跨SIP监控域;
    • 网络设备信息查询命令均采用MESSAGE方法;
    • 目录查询应答命令支持多响应消息传输;
    • 源设备:
      • SIP客户端
      • 网关或联网系统
    • 目标设备:
      • SIP设备端
      • 网关或联网系统

    流程

    在这里插入图片描述

    具体流程:

    • 源设备向SIP服务器发送设备查询命令;
    • SIP服务器收到命令,返回200 OK;
    • SIP服务器向目标设备转发设备查询命令;
    • 目标设备收到命令,返回200 OK;
    • 目标设备向SIP服务器发送设备查询响应命令;
    • SIP服务器收到命令,返回200 OK;
    • SIP服务器向源设备转发查询响应命令;
    • 源设备收到命令,返回200 OK;

    接口

    请求

    • 消息头Content-type头域:Content-type:Application/MANSCDP+xml;
    • 设备信息查询命令采用MANSCDP协议格式;
    • 收到MESSAGE消息后,立即返回200 OK,200 OK应答无消息体;

    应答

    • 消息头Content-type头域:Content-type:Application/MANSCDP+xml;
    • 设备信息查询应答命令采用MANSCDP协议格式;
    • 收到MESSAGE消息后,立即返回200 OK,200 OK应答无消息体;

    测试

    设备目录(Catalog)、设备信息(DeviceInfo)、设备状态(DeviceStatus)已自测通过。

    设备目录

    流程

    1. 添加国标id和本地ip,开始注册(界面端—>mysipsdk—>相机设备);
    2. 界面显示注册成功(mysipsdk—>界面端);
    3. 界面端发起请求设备目录(Catalog:界面端—>mysipsdk—>相机设备);
    4. 界面显示设备目录信息(相机设备—>mysipsdk—>界面端);

    界面

    注册成功

    在这里插入图片描述

    获取设备目录:

    在这里插入图片描述

    xml分析

    • 查询设备目录请求(107—>111)
    
    <Query>
    	<CmdType>CatalogCmdType>
    	<SN>xxSN>
    	<DeviceID>xxxDeviceID>
    Query>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 查询设备目录应答(111—>107)
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.107:5060;rport=5060;branch=
    From: <sip:xxx@192.168.0.107:5060>;tag=
    To: <sip:xxx@xx>;tag=
    Call-ID: 
    CSeq: 24464 MESSAGE
    User-Agent: IP Camera
    Content-Length: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 设备目录返回(111—>107)
    
    <Response>
    	<CmdType>CatalogCmdType>
    	<SN>xxSN>
    	<DeviceID>xxxDeviceID>
    	<SumNum>1SumNum>
    	<DeviceList Num="1">
    		<Item>
    			<DeviceID>xxxDeviceID>
    			<Name>Camera 01Name>
    			<Manufacturer>HikvisionManufacturer>
    			<Model>IP CameraModel>
    			<Owner>OwnerOwner>
    			<CivilCode>xxCivilCode>
    			<Address>AddressAddress>
    			<Parental>0Parental>
    			<ParentID>xxxParentID>
    			<SafetyWay>0SafetyWay>
    			<RegisterWay>1RegisterWay>
    			<Secrecy>0Secrecy>
    			<Status>ONStatus>
    		Item>
    	DeviceList>
    Response>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 设备目录返回应答(107—>111)
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.107:5060;rport=5060;branch=
    From: <sip:xxx@192.168.0.107:5060>;tag=
    To: <sip:xxx@xx>;tag=
    Call-ID: 
    CSeq: 24464 MESSAGE
    User-Agent: IP Camera
    Content-Length: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    设备信息

    流程

    1. 添加国标id和本地ip,开始注册(界面端—>mysipsdk—>相机设备);
    2. 界面显示注册成功(mysipsdk—>界面端);
    3. 界面端发起请求设备信息(DeviceInfo:界面端—>mysipsdk—>相机设备);
    4. 界面显示设备信息(相机设备—>mysipsdk—>界面端);

    界面

    获取设备信息:

    在这里插入图片描述

    xml分析

    • 查询设备信息请求(107—>111)
    
    <Query>
    	<CmdType>DeviceInfoCmdType>
    	<SN>xxSN>
    	<DeviceID>xxxDeviceID>
    Query>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 查询设备信息应答(111—>107)
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.107:5060;rport=5060;branch=
    From: <sip:xxx@192.168.0.107:5060>;tag=
    To: <sip:xxx@xx>;tag=
    Call-ID: 
    CSeq: xx MESSAGE
    User-Agent: IP Camera
    Content-Length: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 设备信息返回(111—>107)
    
    <Response>
    	<CmdType>DeviceInfoCmdType>
    	<SN>xxSN>
    	<DeviceID>xxxDeviceID>
    	<Result>OKResult>
    	<DeviceName>IP CAMERADeviceName>
    	<Manufacturer>HikvisionManufacturer>
    	<Model>xxxModel>
    	<Firmware>xxFirmware>
    	<Channel>1Channel>
    Response>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 设备信息返回应答(107—>111)
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.107:5060;rport=5060;branch=
    From: <sip:xxx@192.168.0.107:5060>;tag=
    To: <sip:xxx@xx>;tag=
    Call-ID: 
    CSeq: xx MESSAGE
    User-Agent: IP Camera
    Content-Length: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    设备状态

    流程

    1. 添加国标id和本地ip,开始注册(界面端—>mysipsdk—>相机设备);
    2. 界面显示注册成功(mysipsdk—>界面端);
    3. 界面端发起请求设备状态(DeviceStatus:界面端—>mysipsdk—>相机设备);
    4. 界面显示设备状态(相机设备—>mysipsdk—>界面端);

    界面

    在这里插入图片描述

    xml分析

    • 查询设备状态请求(107—>111)
    MESSAGE sip:xxx@192.168.0.111:5060 SIP/2.0
    Via: SIP/2.0/UDP 192.168.0.107:5060;rport;branch=
    Max-Forwards: 70
    From: <sip:xxx@192.168.0.107:5060>;tag=
    To: <sip:xxx@xx>
    Contact: <sip:xxx@192.168.0.107:5060>
    Call-ID: 
    CSeq: 26500 MESSAGE
    Content-Type: Application/MANSCDP+xml
    Content-Length:   145	
    
    
    <Query>
    	<CmdType>DeviceStatusCmdType>
    	<SN>xxxSN>
    	<DeviceID>xxxDeviceID>
    Query>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 查询设备状态应答(111—>107)
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.107:5060;rport=5060;branch=
    From: <sip:xxx@192.168.0.107:5060>;tag=
    To: <sip:xxx@xx>;tag=
    Call-ID: 
    CSeq: 26500 MESSAGE
    User-Agent: IP Camera
    Content-Length: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 设备状态返回(111—>107)
    MESSAGE sip:xxx@xx SIP/2.0
    Via: SIP/2.0/UDP 192.168.0.111:5060;rport;branch=
    From: <sip:xxx@xx>;tag=
    To: <sip:xxx@xx>
    Call-ID: 
    CSeq: 20 MESSAGE
    Content-Type: Application/MANSCDP+xml
    Max-Forwards: 70
    User-Agent: IP Camera
    Content-Length:   339
    
    
    <Response>
    	<CmdType>DeviceStatusCmdType>
    	<SN>xxSN>
    	<DeviceID>xxxDeviceID>
    	<Result>OKResult>
    	<Online>ONLINEOnline>
    	<Status>OKStatus>
    	<DeviceTime>2023-09-15T21:30:15DeviceTime>
    	<Alarmstatus Num="0">
    	Alarmstatus>
    	<Encode>ONEncode>
    	<Record>OFFRecord>
    Response>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 设备状态返回应答(107—>111)
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.111:5060;rport=5060;received=192.168.0.111;branch=
    Call-ID: 
    From: <sip:xxx@xx>;tag=
    To: <sip:xxx@xx>;tag=
    CSeq: 20 MESSAGE
    Content-Length:  0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    设备树展示

    • 在注册之前添加”组织1“;
    • 注册并获取设备目录和设备信息成功后,在设备/通道树展示区展示设备和通道信息;
    • 双击通道可进行视频预览;
      在这里插入图片描述
  • 相关阅读:
    Python实现一个简单的HTTP服务器(GET/POST)
    机器学习1综述
    全国临床遗传学及遗传咨询培训在湘举行,为18省培训百名医师
    Cannot use object of type __PHP_Incomplete_Class as array
    前端——html面试题(一)
    Volo.Abp升级小记(二)创建全新微服务模块
    用高并发技巧解决redis热key问题
    【Linux/Ubuntu】 部署docker时遇到的问题
    Qt 自定义event
    白鹭群优化算法(ESOA)附matlab代码
  • 原文地址:https://blog.csdn.net/www_dong/article/details/132912085