设备网络SDK开发使用手册


<?xml version="1.0" encoding="utf-8"?>
<!--req, IP可视对讲主机设备能力集描述 -->
<IpViewDevAbility version="2.0">
  <!--req,SIP服务器注册能力-->
  <SipServerLogin>
    <!--req,支持自动注册-->
    <AutoLogin>
      <enable>true</enable>
    </AutoLogin>
    <!--req,注册状态-->
    <loginStatus opt= "registered,unregistered"/>
    <!--req,注册用户名长度-->
    <sipLoginNameLen min="1" max="32"/>
    <!--req,注册密码长度-->
    <sipLoginPasswordLen min="1" max="16"/>
    <!--req,设备显示名称长度-->
    <displayNameLen min="1" max="128"/>
    <!--req,本机号码长度-->
    <localNumber min="1" max="32"/>
    <!--req, 注册周期,单位:分钟-->
    <loginCycle min="1" max="99"/>
    <!--req 服务器SIP端口:1024-65535-->
    <serverSipPort  min="1024" max="65535"/>
    <isNotSupportLocalPort>true</isNotSupportLocalPort >
    <!--反向能级,不返回表示支持本地端口,返回值为true表示不支持本地端口-->
    <domainNameLen min="", max=""/>
<addressType opt="IP/IPV6, domain”/>
      <!--,支持的地址类型-->
<mutexAbility opt="gbt28181"/><!--req 互斥能力 gbt28181-->
      <isNotSupportSipServerIP>true</isNotSupportSipServerIP>
      <!--反向能级,不返回表示支持sip服务器IP(老的设备不返回的,此处增加反向能力,用于识别新设备是否支持),返回值为true表示不支持sip服务器IP-->
      <!--opt, sip服务器域名-->
      <sipServerDomain min="" max=""/>
      <!--opt, STUN服务器IP-->
      <stunServerIP min="" max=""/>
      <!-- opt, STUN服务器域名-->
      <stunServerDomain min="" max=""/>
      <!-- opt, STUN服务器端口-->
      <stunServerPort min="" max=""/>
      <!-- opt, 代理服务器IP -->
      <proxyServerIP min="" max=""/>
      <!-- opt, 代理服务器域名-->
      <proxyServerDomain min="" max=""/>
      <!-- opt, 代理服务器端口-->
      <proxyServerPort min="" max=""/>

    </SipServerLogin>

  <!--req,对讲分机基本能力-->
  <LocalAbility>
    <!--req,本机默认铃音可选范围-->
    <defaultRing min="1" max="6"/>
    <!--req,本机铃音音量范围-->
    <ringVolume min="1" max="9"/>
    <!--req, 输入音量可选范围-->
    <inputVolume min="0" max="6"/>
    <!--req, 输出音量可选范围-->
    <outputVolume min="0" max="9"/>
    <!--req, 支持的音频编码级数-->
    <audioEncPriNum>2</audioEncPriNum>
    <!--req,预览延时时延范围,单位:秒-->
    <delayPreview min="0" max="30"/>
    <!--req, 支持的音频编码类型,同级节点可有多个-->
    <AudioEncEntry>
      <index>0</index>
      <name>OggVorbis</name>
      <packetLen opt = "160,320"/>
    </AudioEncEntry>

    <!--req, 呼叫能力-->
    <CallAbility>
      <!--req,支持自动应答-->
      <AutoResponse>
        <!--req,自动应答时间范围,单位:秒-->
        <autoResponse min="0" max="30"/>
      </AutoResponse>
      <!--req,支持的呼叫号码数-->
      <callNumber>2</callNumber>
      <callNumberLen min="0" max="32"/>
    </CallAbility>
  </LocalAbility>
  <!--req,可视对讲,门口机、管理机、别墅门口机、二次确认机-->
  <VideoIntercom>
    <monitorChannelNo min="1" max="100"/>
    <!--req,管理机的监控通道-->
    <DeviceID>
      <!--req,设备编号-->
      <enabled>true</enabled>
      <!--req,支持设备编号配置-->
      <supportUnitType opt=""/>
      <!--req,支持的对讲机类型-->
      <OutDoorDevice>
        <!--req,门口机-->
        <period min="1" max="16"/>
        <!--req,期号-->
        <buildingNum min="1" max="16"/>
        <!--req,楼幢号-->
        <unitNum min="0" max="10"/>
        <!--req,单元号-->
        <floorNum min="1" max="16"/>
        <!--req,层号-->
        <devIndex min="0" max="10"/>
        <!--req,门口机编号-->
      </OutDoorDevice>
      <ManageUnitDevice>
        <!--req,管理机-->
        <period min="1" max="16"/>
        <!--req,期号-->
        <devIndex min="0" max="10"/>
        <!--req,管理机编号-->
      </ManageUnitDevice>
      <OutDoorFenceDevice>
        <!--req,围墙机-->
        <period min="1" max="16"/>
        <!--req,期号-->
        <devIndex min="0" max="10"/>
        <!--req,围墙机编号-->
      </OutDoorFenceDevice>
      <VillaOutDoorDevice>
        <!--req 别墅门口机-->
        <period min="1" max="16"/>
        <!--req,期号-->
        <buildingNum min="1" max="16"/>
        <!--req,楼幢号-->
        <unitNum min="0" max="10"/>
        <!--req,单元号-->
        <floorNum min="1" max="16"/>
        <!--req,层号-->
        <devIndex min="0" max="10"/>
        <!--req,门口机编号-->
      </VillaOutDoorDevice>
      <AgainDevice>
        <!--req,二次确认机-->
        <period min="1" max="16"/>
        <!--req 期号-->
             <buildingNum min="1" max="16"/>
          <!--req 楼幢号-->
             <unitNum min="0" max="10">
            <!--req 单元号-->
             <floorNum min="1" max="16"/>
              <!--req 层号-->
             <devIndex min="0" max="10">
                <!--req 门口机编号-->
      </AgainDevice>
    </DeviceID>
    <!--req,权限密码-->
    <PrivilegePwd>
      <pwdType opt="engineering,setupAlarm,householderUnlock,antiHijacking,sendCard"/>
      <!--req,密码类型,engineering-工程密码,setupAlarm-布撤防密码,householderUnlock-户主开锁密码,antiHijacking-防劫持密码,sendCard-发卡密码-->
      <pwdLen min="6" max="16"/>
      <!--密码长度-->
    </PrivilegePwd>
    <!--req,操作时间-->
    <OperationTime>
      <monitoringTime min="10" max="60"/>
      <!--req,最大监视时间,单位:秒-->
      <ringTime min="15" max="60"/>
      <!--req,最大振铃时间,单位:秒-->
      <messageTime min="30" max="60"/>
      <!--req,最大留言时间,单位:秒-->
      <talkTime min="90" max="120"/>
      <!--req,最大通话时间,单位:秒-->
      <callForwardingTime min="0" max="20"/>
      <!--呼叫转移超时时间,单位:秒-->
    </OperationTime>
    <RelateDevice>
      <outdoorUnitIP opt="ipv4,ipv6"/>
      <!--req,(主)门口机IP-->
      <manageUnitIP opt="ipv4,ipv6"/>
      <!--req,管理机IP-->
      <sipServerIP opt="ipv4,ipv6"/>
      <!--req,SIP服务器IP-->
      <centerIP opt="ipv4,ipv6"/>
      <!--req,中心平台IP-->
      <centerPort min="0" max="65535"/>
      <!--req,中心平台端口-->
      <notSupportAgainUnitIP opt="true,false"/>
      <!--req,是否不支持配置二次确认机IP,true-不支持,false-支持-->
      <againUnitIP opt="ipv4,ipv6"/>
      <!--req,二次确认机IP-->
      <notSupportOutDoorType opt="true,false"/>
      <!--req,是否不支持配置主门口机类型,true-不支持,false-支持-->
      <outDoorType opt="unitOutdoor,villaOutDoor"/>
      <!--req,主门口机类型,unitOutdoor-主单元门口机,villaOutDoor-主别墅门口机-->
      <manageCenterID min="" max=””/>
        <!--使用标准SIP协议时有效,管理中心ID -->
      <calledName min="" max=""/>
      <!--使用标准SIP协议时有效,被叫用户名-->
    
    </RelateDevice>
    <NoticeData>
      <noticeTime>true</noticeTime>
      <!--req,公告时间-->
      <noticeNumberLen min="0" max="32"/>
      <!--req,公告编号-->
      <noticeThemeLen min="0" max="64"/>
      <!--req,公告主题-->
      <noticeDetailLen min="0" max="1024"/>
      <!--req,公告详情-->
      <noticeLevel opt="advertisement,propertyMgmt,alarm,notification"/>
      <!--req,公告等级,advertisement-广告类信息,propertyMgmt-物业信息,alarm-报警信息,notification-通知类信息-->
      <maxPicNum>6</maxPicNum>
      <!--req,图片数量-->
      <maxSinglePicSize>512</maxSinglePicSize>
      <!--req,单张图片的最大大小,单位:KB-->
    </NoticeData>
    <!--req,远程开锁-->
    <ControlGateway>
      <gatewayIndex min="1"/>
      <!--req,门禁序号-->
      <command opt="close,open"/>
      <!--req,控制命令-->
      <controlSrc>true</controlSrc>
      <!--req,操作发起源信息-->
      <controlType opt="monitor,calling"/>
      <!--req,开锁场景类型,monitor-监视,calling-通话-->
      <lockType opt="normal,smartLock"/>
      <!--req,锁类型-->
      <lockID min="" max=""/>
      <!--req,智能锁ID(或者门口机的锁ID)-->
      <password min="" max=""/>
      <!--req,智能锁密码长度-->
    </ControlGateway>

    <Zone>
      <!--req,通用防区配置,特殊防区配置见节点ZoneList-->
      <ZoneConfig>
        <enabled>true</enabled>
        <!--req,支持防区参数配置(报警输入参数配置)-->
        <delayInParam>true</delayInParam>
        <!--req,true,表示客户端应该使用NET_DVR_ALARMIN_PARAM中的dwParam来设置延时时间,动环报警主机和自助行报警主机使用这种配置延时方式;
               false,表示通过NET_DVR_ALARMSUBSYSTEMPARAM中的wEnterDelay、wExitDelay来设置-->
        <detectorType  opt="panicButton,magneticContact,smokeDetector,activeInfraredDetector,passiveInfraredDetector,glassBreakDetector,
                              vibrationDetector,dualTechnologyPirDetector,tripleTechnologyPirDetector,humidityDetector,temperatureDetector,
                              combustibleGasDetecto,dynamicSwitch,controlSwitch,smartLock,waterDetector,otherDetector"/>
        <!--req,设备支持的探测器类型,紧急开关,门磁开关,烟感探测器,主动红外探测器,被动红外探测器,玻璃破碎探测器,震动探测器,
               双鉴移动探测器,三技术探测器,温度探测器,温感探测器,可燃气体探测器, 随动开关,控制开关,智能锁,水感探测器,门铃开关,其他探测类型-->
        <zoneType opt="instantZone, 24hourAudibleZone,delayZone,interiorWithDelayZone,keyswitchZone,supervisedFireZone,perimeterZone,
                         24hourSlientZone,disable"/>
        <!--req,设备支持的防区类型-->
        <LimitedDetectorType>
          <!--req,探测器类型限制能力-->
          <Detector>
            <name>smokeDetector</name>
            <zoneType opt="24hourAudibleZone"/>
            <!--req,烟感探测器仅支持24小时有声防区-->
          </Detector>
          <Detector>
            <name>glassBreakDetector</name>
            <zoneType opt="24hourAudibleZone"/>
            <!--req,玻璃破碎探测器仅支持24小时有声防区-->
          </Detector>
        </LimitedDetectorType>
        <uploadAlarmRecoveryReport>true</uploadAlarmRecoveryReport>
        <!--req,上传报警恢复报告配置-->
        <zoneDelayTime min="30" max="60"/>
        <!--req,延时防区延时时间-->
        <sensitivity opt="10ms,250ms,500ms,750ms"/>
        <!--req,灵敏度-->
        <arrayBypass>true</arrayBypass>
        <!--req,支持防区组旁路配置></arrayBypass-->
        <moduleStatus attri="readonly" opt="offline,online"/>
        <!--req,模块状态-->
        <moduleAddress min="0" max="0"/>
        <!--req,模块地址-->
        <moduleChannel>true</moduleChannel>
        <!--req,模块通道-->
        <moduleType opt="localZone, 1zoneExpander,2zoneExpander,8ZoneExpander,8sensorZoneExpander,1ZoneAndTrigger"/>
        <!--支持的防区类型-->
        <zoneNo attri="readonly" min="1" max="8"/>
        <!--req,防区序号,只能获取-->
        <subsystemNo attri="readonly">1</subsystemNo>
        <!--req,防区所属的子系统号,只能获取-->
        <alarmType opt="open,close" default="open"/>
        <!--req,报警器类型,open-常开,close-常闭-->
        <InDelayTime min="0" max="255"/>
        <!--req,进入延迟时间,单位s-->
        <OutDelayTime min="0" max="255"/>
        <!--req,退出延迟时间,单位s-->
      </ZoneConfig>
      <GetZoneList>
        <enabled>true</enabled>
        <!--req,支持获取防区列表-->
      </GetZoneList>
      <ZoneArmDisarm>
        <enabled>true</enabled>
        <!--req,支持防区布撤防-->
      </ZoneArmDisarm>
      <ZoneGroupBypass>
        <enabled>true</enabled>
        <!--req,支持防区组旁路-->
      </ZoneGroupBypass>
    </Zone>
    <IOIn>
      <IOInNo attri="readonly" min="1" max=""/>
      <!--req,IO输入号序号,只能获取-->
      <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
      <!--req,用途:禁用,开门按钮,门状态,自定义-->
      <NodeList>
        <Node>
          <id>1</id>
          <name>S1</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>2</id>
          <name>S2</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>3</id>
          <name>S3</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>4</id>
          <name>S4</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>5</id>
          <name>AI1</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>6</id>
          <name>AI2</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>7</id>
          <name>AI3</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
        <Node>
          <id>8</id>
          <name>AI4</name>
          <useType opt="disabled,openDoorBtn,magneticStatus,custom"/>
        </Node>
      </NodeList>
    </IOIn>
    <IOOut>
      <IOOutNo attri="readonly" min="1" max="4"/>
      <!--req,IO输出号序号,只能获取-->
      <useType opt="disabled,electricLock,custom"/>
      <!--req,用途:禁用,电锁,自定义-->
      <NodeList>
        <Node>
          <id>1</id>
          <name>COM1</name>
          <useType opt="disabled,electricLock,custom"/>
        </Node>
        <Node>
          <id>2</id>
          <name>COM2</name>
          <useType opt="disabled,electricLock,custom"/>
        </Node>
        <Node>
          <id>3</id>
          <name>AO1</name>
          <useType opt="disabled,custom"/>
        </Node>
        <Node>
          <id>4</id>
          <name>AO2</name>
          <useType opt="disabled,custom"/>
        </Node>
      </NodeList>
    </IOOut>
    <ElevatorControl>
      <elevatorNo attri="readonly" min="1" max="1"/>
      <!--ro,电梯号-->
      <interfaceType opt="RS485,network"/>
      <!--req,接口类型:RS485,网口 -->
      <RS485Protocol opt="private,custom"/>
      <!--req,RS485协议类型:私有,自定义 -->
      <networkProtocol opt="private,custom"/>
      <!--req,网口协议类型:私有,自定义 -->
      <serverIP opt="ipv4,ipv6"/>
      <!--opt,梯控服务器IP-->
      <serverPort min="0" max="65535"/>
      <!--opt,梯控服务器端口号-->
    </ElevatorControl>
    <RS485Config>
      <!--req,485参数配置,配置结构体中关于485通信的参数能力见"RS232和RS485串口能力节点”,其他参数见下,设备不支持时不返回大节点-->
      <deviceNameLength min="0" max="32"/>
      <!--req,485名称-->
      <deviceType>true</deviceType>
      <!--req,支持设备类型配置,具体支持的设备类型通过获取外接设备列表接口获取-->
      <deviceProtocol>true</deviceProtocol>
      <!--req,支持设备类型配置,具体支持的设备协议通过"获取协议列表接口"获取-->
    </RS485Config>
    <supportVisRegisterInfo opt="true,false"/>
    <!--req,是否支持获取注册信息,不支持不返回,且仅有门口机或管理机才可能返回该节点-->
    
    <CallRoomConfig>
      <!--req,别墅机按键呼叫住户配置-->
      <keyNo min="1" max="4"/>
      <!--req,别墅机按键号-->
      <floorNo min="1" max="999"/>
      <!--req,别墅层号-->
      <roomNo min="1" max="999"/>
      <!--req,别墅房间号-->
      <callManageCenter opt="true,false"/>
      <!--req,是否配置成呼叫管理中心-->
    </CallRoomConfig>
    
    <VideoCall>
      <!--opt,可视通话通能力-->
      <enabled opt="true,false"/>
      <!--req,是否支持可视通话-->
      <supportCmd opt="Request,Cancel,Answer,Decline,Timeout,Bye"/>
      <!--req,设备支持的信令类型: Request-请求呼叫,Cancel-取消本次呼叫,Answer-接听,Decline-拒接,Timeout-超时,Bye-结束通话-->
    </VideoCall>
    <CallerDevice>
      <!--req 主叫设备信息(手机内部测试发布接口)-->
            <period min="1" max="16"/>
        <!--req 期号-->
            <buildingNum min="1" max="16"/>
          <!--req 楼幢号-->
            <unitNum min="0" max="10">
            <!--req 单元号-->
            <floorNum min="1" max="16"/>
            <!--req 层号-->
            <devIndex min="0" max="10">
            <!--req 设备编号-->
            <devType min="1" max="9">
            <!--req 设备类型-->
             <lockNum min="0" max="2">
             <!--req锁数量-->
    </CallerDevice>
    <EzvizDeviceInfo>
      <!--req 萤石设备信息(手机内部测试发布接口)-->
            <deviceNum min="1" max="32"/>
        <!--req 设备数-->
            <DeviceCfg size="16" >
               <deviceNameLen min="1" max="32"/>
              <!--req 设备名称-->
               <deviceType min="1" max="3">
                <!--req 设备类型-->
               <deviceID min="0" max="10"/>
                  <!--req 设备编号-->
                <lockNum min="0" max="2">
                    <!--req锁数量-->
        </EzvizDeviceInfo>

    <VideoIntercomStream>
      <!--opt,视频源-->
      <sourceType opt="IPC,DVR/DVS/NVR,OutDoorDevice,OutDoorFenceDevice,AgainDevice"/>
      <!--opt,视频源类型-->
      <againDeviceNumber min="" max=""/>
      <!--opt,二次确认机个数-->
    </VideoIntercomStream>
    <UploadAlarmCfg>
      <!--req,NET_DVR_VIDEO_INTERCOM_ALARM_CFG可视对讲报警事件参数配置-->
      <UploadDoorNotCloseAlarm opt="true,false"/>
      <!--req,是否上传门未关报警-->
    </UploadAlarmCfg>
  </VideoIntercom>

  <ZoneList size="64">
    <!--req,特殊防区配置,根据防区ID区分不同防区的能力-->
    <ZoneConfig>
      <zoneID>
        <!--req,防区ID, min="" max=""-->
      </zoneID>
      <enabled>true</enabled>
      <!--req,支持防区参数配置(报警输入参数配置)-->
      <delayInParam>true</delayInParam>
      <!--req,true,表示客户端应该使用NET_DVR_ALARMIN_PARAM中的dwParam来设置延时时间,动环报警主机和自助行报警主机使用这种配置延时方式;
             false,表示通过NET_DVR_ALARMSUBSYSTEMPARAM中的wEnterDelay、wExitDelay来设置-->
      <detectorType opt="panicButton,magneticContact,smokeDetector,activeInfraredDetector,passiveInfraredDetector,glassBreakDetector,vibrationDetector,
                          dualTechnologyPirDetector,tripleTechnologyPirDetector,humidityDetector,temperatureDetector,combustibleGasDetecto,
                          dynamicSwitch,controlSwitch,smartLock,waterDetector,otherDetector"/>
      <!--设备支持的探测器类型,紧急开关,门磁开关,烟感探测器,主动红外探测器,被动红外探测器,玻璃破碎探测器,震动探测器,双鉴移动探测器,
           三技术探测器,温度探测器,温感探测器,可燃气体探测器, 随动开关,控制开关,智能锁,水感控制器,其他探测类型-->
      <zoneType opt="instantZone, 24hourAudibleZone,delayZone,interiorWithDelayZone,keyswitchZone,supervisedFireZone,perimeterZone,24hourSlientZone,disable"/>
      <!--req,设备支持的防区类型-->
      <uploadAlarmRecoveryReport>true</uploadAlarmRecoveryReport>
      <!--req,上传报警恢复报告配置-->
      <zoneDelayTime min="" max=""/>
      <!--req,延时防区延时时间-->
      <sensitivity opt="10ms,250ms,500ms,750ms"/>
      <!--req,灵敏度-->
      <arrayBypass>true</arrayBypass>
      <!--req,支持防区组旁路配置></arrayBypass-->
      <moduleStatus attri="readonly" opt="offline,online"/><!--req,模块状态-->
      <moduleAddress min="" max=""/><!--req,模块地址-->
      <moduleChannel>true</moduleChannel><!--req,模块通道-->
      <moduleType opt="localZone, 1zoneExpander,2zoneExpander,8ZoneExpander,8sensorZoneExpander,1ZoneAndTrigger"/>;<!--req,支持的防区类型-->
      <zoneNo attri="readonly" min="" max=""/><!--req,防区序号,只能获取-->
      <subsystemNo attri="readonly">1</subsystemNo><!--req,防区所属的子系统号,只能获取-->
      <alarmType opt="open,close" default="open"/><!--req,报警器类型,open-常开,close-常闭-->
      <InDelayTime min="0" max="255"/><!--req,进入延迟时间,单位s-->
      <OutDelayTime min="0" max="255"/><!--req,退出延迟时间,单位s-->
    </ZoneConfig>
    <GetZoneList>
      <enabled>true</enabled>
      <!--支持获取防区列表-->
    </GetZoneList>
    <ZoneArmDisarm>
      <enabled>true</enabled>
      <!--支持防区布撤防-->
    </ZoneArmDisarm>
    <ZoneGroupBypass>
      <enabled>true</enabled>
      <!--支持防区组旁路-->
    </ZoneGroupBypass>
  </ZoneList>

  <NoNeedReboot>
    <videoResolutionChange opt="true,false"/>
    <!--opt,视频分辨率修改是否不重启-->
    <videoFrameRateChange opt="true,false"/>
    <!--opt,视频帧率修改是否不重启-->
  </NoNeedReboot>
</IpViewDevAbility>