Guest

Cisco Physical Security Modules for Routers

Cisco Analog Video Gateway XML API Guide

Table Of Contents

Cisco Analog Video Gateway XML API Guide

Syntax

Examples

Video Port and Profile Configuration

Video Port

ListVideoPorts

GetVideoPortConfig

GetVideoPortCapability

ModifyVideoPortConfig

Video Codec Profile

ListVideoCodecProfiles

GetVideoCodecProfile

CreateVideoCodecProfile

ModifyVideoCodecProfile

DeleteVideoCodecProfile

Video Stream Profile

ListVideoStreamProfile

GetVideoStreamProfile

CreateVideoStreamProfile

ModifyVideoStreamProfile

DeleteVideoStreamProfile

Video Motion Region Profile

ListVideoMotionRegion

GetVideoMotionRegion

CreateVideoMotionRegion

ModifyVideoMotionRegion

DeleteVideoMotionRegion

Video Motion Detection Profile

ListVideoMotionDetection

GetVideoMotionDetection

CreateVideoMotionDetection

ModifyVideoMotionDetection

DeleteVideoMotionDetection

RS-485 Serial Port Configuration

ListAllSerialPorts

GetSerialPortConfig

GetSerialPortCapability

ModifySerialPortConfig

WriteSerialPort

ReadSerialPort

Contact Closure Configuration

ListCCPorts

GetCCPortConfig

GetCCPortCapability

ModifyCCPortConfig

GetCCPortHWStates

Alarm Monitors

Destination Profile

ListDestinationProfiles

GetDestinationProfile

CreateDestinationProfile

ModifyDestinationProfile

DeleteDestinationProfile

Monitor Profile

ListMonitorProfiles

GetMonitorProfile

CreateMonitorProfile

ModifyMonitorProfile

DeleteMonitorProfile

Notifier Profile

ListNotifierProfile

GetNotifierProfile

CreateNotifierProfile

ModifyNotifierProfile

DeleteNotifierProfile

Saving Configurations

Error Codes

Video Error Codes

RS485 Serial Port Error Codes

Contact Closure Port Error Codes

Alarm Monitor Profile Error Codes

Other Error Codes

Additional References

Related Documents

Technical Assistance


Cisco Analog Video Gateway XML API Guide


Last Updated: August 18, 2009
Text Part Number: OL-15451-04

This guide provides information on the XML application programming interfaces (APIs) required to configure the Cisco Analog Video Gateway video port profiles. These profiles are configured using Cisco IOS CLIs or XML APIs. For information on using CLIs to configure the video port profiles, see the Cisco Analog Video Gateway CLI Administrator Guide.

This guide supports features for version 1.2 and earlier versions of the Cisco Analog Video Gateway network module. To view the product feature history, see the Release Notes for the Cisco Video Management and Storage System, which lists feature support for Cisco Analog Video Gateway versions.

This guide contains the following sections:

Syntax

Video Port and Profile Configuration

RS-485 Serial Port Configuration

Contact Closure Configuration

Alarm Monitors

Saving Configurations

Error Codes

Additional References

Syntax

This section describes the syntax used for the XML APIs.

The client uses the URL http://host_name_or_ipaddress/ipvs/IpvsXmlServlet to send the XML request document using the POST method when the video network module acts as a server.

Format

The XML document used in a request operation has the following generic format:

<xxx>yyy</xxx>

xxx is the request operation using GetVideoPortConfig, ModifyVideoPortConfig.

yyy is the parameter of this request operation xxx. Multiple request operations can be specified in the same document.

When onfail= "ignore" is specified, and multiple xxx request operations are contained in the same request document, the next request operation is automatically processed if the current operation fails.

When onfail= "abort" is specified, the processing halts if the current request operation fails.


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ops type="request" onfail="ignore" rid="1234">
<xxx cseq="1" cvers="1.0">
<yyy>value</yyy>
...
      </xxx>
...
</ops>

Examples

Successful Request and Response

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
    <CreateVideoStreamProfile cseq="1" 
cvers="1.0">
       <tag>stream020</tag>
       <codecProfileTag>codec010</codecProf
ileTag>
    </CreateVideoStreamProfile>
    <GetVideoStreamProfile cseq="2" 
cvers="1.0">
       <tag>stream020</tag>
    </GetVideoStreamProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateVideoStreamProfile cseq="1" 
cvers="1.0" cservs="1.0">
<result code="0" />
</CteateVideoStreamProfile>
<GetVideoStreamProfile cseq="2" cvers="1.0" 
cservs="1.0">
<result code="0" />
<tag>stream020</tag>
<description></description>
<state>enabled</state>
                 ...
</GetVideoStreamProfile>
</ops>

Failed Request and Response

Here is an example of a failed request and response due to a validation error. In the XML request, the value of codecProfileTag is out of the supported range.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
   <CreateVideoStreamProfile cseq="1" 
cvers="1.0">
     <tag>stream030</tag>
     <codecProfileTag>stream010</codecPr
ofileTag>
   </CreateVideoStreamProfile>
   <GetVideoStreamProfile cseq="2" 
cvers="1.0">
     <tag>stream030</tag>
   </GetVideoStreamProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
   <CreateVideoStreamProfile cseq="1" 
cvers="1.0" cservs="1.0">
    <result code="10">Error in XML document 
at line 5. Message: cvc-pattern-valid: 
Value `stream010' is not facet-valid with 
respect to pattern 
`[c][o][d][e][c][0-9][0-9][0-9]' for type 
CODECtagType'.</result/>
   </CteateVideoStreamProfile>
</ops>

Video Port and Profile Configuration

Video Port

Use the following APIs to get the video port configuration and modify video port parameters.

ListVideoPorts

GetVideoPortConfig

GetVideoPortCapability

ModifyVideoPortConfig

ListVideoPorts

Lists all the configured video port numbers.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListVideoPorts cseq="1" cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListVideoPorts cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum>0</portNum> 
<portNum>1</portNum>
.
.
.
<portNum>15</portNum>
</ListVideoPorts>
</ops> 

GetVideoPortConfig

Gets the specified video port configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetVideoPortConfig cseq="1" cvers="1.0">
<portNum>0</portNum>
</GetVideoPortConfig>
</ops>

<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetVideoConfig cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum>0</portNum>
<description>XXXXX</description>
<state>enabled</state>
<direction>in</direction>
<maxResolution>cif</maxResolution>
<brightness>0</brightness>
<contrast>0</contrast>
<hue>0</hue>
<saturation>0</saturation>
<sharpness>0</sharpness>
</GetVideoPortConfig>
</ops>


GetVideoPortCapability

Lists all the video port configurable parameters, their valid ranges and default values.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetVideoPortCapability cseq="1" 
cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetVideoPortCapability cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<portNum required="yes" 
default="no">0-15</portNum>
<state required="no" 
default="enabled">enabled, 
disabled</state>
<description required="no" 
default="">xxx</description>
<direction required="no" 
default="in">in, out</direction>
<maxResolution required=''no'' 
default=''4cif''>cif, 
4cif</maxResolution> 
<brightness required="no" 
default="0">-128 to 127</brightness>
<contrast  required="no" 
default="0">-128 to 127</contrast>
<hue  required="no" default="0">-128 to 
127</hue>
<saturation  required="no" 
default="0">-128 to 127</saturation>
<sharpness  required="no" 
default="0">0-3</sharpness>

</GetVideoPortCapability>
</ops>

ModifyVideoPortConfig

Modifies one or more parameters of the specified video port.

Brightness, maxResolution, contrast, hue, saturation, and sharpness are only applicable to input and are ignored for output. Their values change to default values when the direction is changed from input to output.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyVideoPortConfig cseq="1" 
cvers="1.0">
<portNum>0</portNum> 
<description>XXXXX</description> 
<state>enabled</state> 
<direction>in</direction> 
<maxResolution>cif</maxResolution> 
<brightness>-128 to 127</brightness> 
<contrast>-128 to 127</contrast> 
<hue>-128 to 127</hue> 
<saturation>-128 to 127</saturation> 
<sharpness>0-3</sharpness> 
</ModifyVideoPortConfig>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyVideoPortConfig cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</ModifyVideoPortConfig>
</ops>

Video Codec Profile

Configure the video codec profile with the following APIs:

ListVideoCodecProfiles

GetVideoCodecProfile

CreateVideoCodecProfile

ModifyVideoCodecProfile

DeleteVideoCodecProfile

ListVideoCodecProfiles

Lists all the configured video codec profile tags in the system.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListVideoCodecProfiles cseq="1" 
cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListVideoCodecProfiles cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<tag>codec000</tag>
<tag>codec001</tag>
....
</ListVideoCodecProfiles>
</ops>

GetVideoCodecProfile

Gets the specified video codec profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetVideoCodecProfile cseq="1" 
cvers="1.0">
<tag>codec000</tag>
</GetVideoCodecProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetVideoCodecProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<tag>codec000</tag> 
<description>XXXXX</description> 
<state>enabled</state>
<codec>mpeg4</codec>
<format>ntsc</format>	
<frameRate>29.97</frameRate> 
<resolution>cif</resolution> 
<qualityFactor>70</qualityFactor> 
<skipFactor>1</skipFactor>
<bitRate>vbr</bitRate> 
<maxBitRate>384</maxBitRate> 
<gopSize>50</gopSize> 
</GetVideoCodecProfile>
</ops> 

CreateVideoCodecProfile

Creates the specified video codec profile, where:

+ maxBitRate value range: 168-2000 (MPEG4) and 168-3000 (H264).

+ qualityFactor is only applicable to codec type MJPEG.

+ gopSize is only applicable to a non-MJPEG codec type.

+ bit CBR is only applicable to a non-MJPEG codec type.

+ frameRate value range: NTSC= 30-0.1, PAL = 25-0.0833. The skipFactor is used if skipFactor and frameRate are specified in the request. The frame rate adjusts to a different value based on the new skipFactor value.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateVideoCodecProfile cseq="1" 
cvers="1.0">
<tag>codec000-codec999</tag> 
<description>XXXXX</description> 
<state>enabled</state> 
<codec>h264,mpeg4,mjpeg</codec> 
<format>ntsc,pal</format>
<frameRate>x</frameRate> 
<qualityFactor>1-100</qualityFactor> 
<bitRate>cbr, vbr</bitRate> 
<maxBitRate>168-3000</maxBitRate> 
<skipFactor>1-300</skipFactor>
<gopSize>0-600</gopSize> 
</CreateVideoCodecProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateVideoCodecProfile cseq="1" 
cvers="1.0">
<result code="0"/> 
</CreateVideoCodecProfile>
</ops>

ModifyVideoCodecProfile

Modifies the specified video codec profile configuration, where:

+ maxBitRate value range:168-2000 (MPEG4) and 168-3000 (H264).

+ qualityFactor is only applicable to codec type MJPEG

+ gopSize is only applicable to a non-MJPEG codec type

+ bitRate CBR is only applicable to a non-MJPEG codec type

+ frameRate value range:NTSC= 30-0.1, PAL = 25-0.0833. The skipFactor is used if skipFactor and frameRate are specified in the request. The frame rate value adjusts to a different value based on the new skipFactor value.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyVideoCodecProfile cseq="1" 
cvers="1.0">
<tag>codec000-codec999</tag> 
<description>XXXXX</description> 
<state>enabled</state> 
<codec>h264, mpeg4, mjpeg</codec> 
<format>ntsc, pal</format> 
<frameRate>x</frameRate>
<qualityFactor>1-100</qualityFactor> 
<bitRate>cbr, vbr</bitRate> 
<maxBitRate>168-3000</maxBitRate> 
<skipFactor>1-300</skipFactor>
<gopSize>0-600</gopSize> 
</ModifyVideoCodecProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyVideoCodecProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</ModifyVideoCodecProfile>
</ops> 

DeleteVideoCodecProfile

Deletes the specified video Codec Profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteVideoCodecProfile cseq="1" 
cvers="1.0">
<tag>codec000</tag> 
</DeleteVideoCodecProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteVideoCodecProfile cseq="1" 
cvers="1.0">
<result code="0"/>
</DeleteVideoCodecProfile>
</ops>

Video Stream Profile

Configure the video stream profile with the following APIs:

ListVideoStreamProfile

GetVideoStreamProfile

CreateVideoStreamProfile

ModifyVideoStreamProfile

DeleteVideoStreamProfile

ListVideoStreamProfile

Lists all the video stream profiles.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListVideoStreamProfiles cseq="1" 
cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListVideoStreamProfiles cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<tag>stream000</tag>
<tag>stream001</tag>
...
</ListVideoStreamProfiles>
</ops>

GetVideoStreamProfile

Gets the specified video stream profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" 
encoding="UTF-8" 
standalone="yes"?>
<ops type="request" 
onfail="ignore" rid="1234">
  <GetVideoStreamProfile 
cseq="1" cvers="1.0">
<tag>stream000</tag>
</GetVideoStreamProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" rid="1234">
<GetVideoStreamProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0" />
<tag>stream000</tag>
<description></description>
<state>enabled</state>
<portNum>0</portNum>
<codecProfileTag>codec000</codecProfileTag>
<motionDetectionTag>md000</motionDetectionTag>
<rtcpRemoteInactive>system</rtcpRemoteInactive>
<rtcpRemoteBye>system</rtcpRemoteBye>
<rtcpEventTimer>25</rtcpEventTimer>
<icmpEventTimer>5</icmpEventTimer>
<icmpUnreachable>system</icmpUnreachable>
</GetVideoStreamProfile>
</ops>

CreateVideoStreamProfile

Creates the specified video stream profile.

The specified video codec profile must exist before this configuration is processed successfully.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0"encoding="UTF-8" 
standalone="yes"?> 
<ops type="request" onfail="ignore" 
rid="1234">
<CreateVideoStreamProfile cseq="1" 
cvers="1.0">
<tag>stream010</tag>
<description>stream profile 010 
config</description>
<state>disabled</state>
<portNum>10</portNum>
<codecProfileTag>codec000-codec999</codecPr
ofileTag>
<motionDetectionTag>md000-md999</motionDete
ctionTag>
<rtcpEventTimer>25</rtcpEventTimer>
<rtcpRemoteInactive>enabled</rtcpRemoteInac
tive>
<rtcpRemoteBye>enabled</rtcpRemoteBye>
<icmpEventTimer>10</icmpEventTimer>
<icmpUnreachable>enabled</icmpUnreachable>
</CreateVideoStreamProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<CreateVideoStreamProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</CreateVideoStreamProfile>
</ops> 


ModifyVideoStreamProfile

Modifies the specified video stream profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0"encoding="UTF-8" 
standalone="yes"?> 
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyVideoStreamProfile cseq="1" 
cvers="1.0">
<tag>stream010</tag>
<description>stream profile 010 
config</description>
<state>disabled</state>
<portNum>10</portNum>
<codecProfileTag>codec000-codec999</codecPr
ofileTag>
<motionDetectionTag>md000-md999</motionDete
ctionTag>
<rtcpEventTimer>25</rtcpEventTimer>
<rtcpRemoteInactive>enabled</rtcpRemoteInac
tive>
<rtcpRemoteBye>enabled</rtcpRemoteBye>
<icmpEventTimer>10</icmpEventTimer>
<icmpUnreachable>enabled</icmpUnreachable>
</ModifyVideoStreamProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyVideoStreamProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</ModifyVideoStreamProfile>
</ops>

DeleteVideoStreamProfile

Deletes the specified video stream profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteVideoStreamProfile cseq="1" 
cvers="1.0">
<tag>streamxxx</tag>
</DeleteVideoStreamProfile>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<DeleteVideoStreamProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</DeleteVideoStreamProfile>
</ops>

Video Motion Region Profile

Configure the video motion region profile with the following APIs:

ListVideoMotionRegion

GetVideoMotionRegion

CreateVideoMotionRegion

ModifyVideoMotionRegion

DeleteVideoMotionRegion

ListVideoMotionRegion

Lists all the configured video motion region profile tags.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListVideoMotionRegions cseq="1" 
cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListVideoMotionRegions cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<tag>mr000</tag>
<tag>mr001</tag>
...
</ListVideoMotionRegions>
</ops>

GetVideoMotionRegion

Gets the specified video motion region profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetVideoMotionRegion cseq="1" cvers="1.0">
<tag>mr000</tag> 
</GetVideoMotionRegion>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetVideoMotionRegion cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<tag>mr000</tag>
<description>XXXXX</description>
<state>enabled</state>
<upperLeftCoordx>20</upperLeftCoordx>
<upperLeftCoordy>50</upperLeftCoordy>
<lowerRightCoordx>100</lowerRightCoordx>
<lowerRightCoordy>100</lowerRightCoordy>
<threshold>20</threshold>
</GetVideoMotionRegion>
</ops>

CreateVideoMotionRegion

Creates the specified video motion region profile.

The upper left coordinates x and y have default values of zero. The origin (0,0) is the upper left corner.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateVideoMotionRegion cseq="1" 
cvers="1.0">
<tag?mr000-mr999</tag> 
<description>XXXXX</description> 
<state>enabled</state> 
<upperLeftCoordx>0-352</upperLeftCoordx> 
<upperLeftCoordy>0-287</upperLeftCoordy> 
<lowerRightCoordx>0-351</lowerRightCoordx> 
<lowerRightCoordy>0-287</lowerRightCoordy> 
<threshold>1-100</threshold>  
</CreateVideoMotionRegion>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateVideoMotionRegion cseq="1" 
cvers="1.0">
<result codec="0"/>
</CreateVideoMotionRegion>
</ops>

ModifyVideoMotionRegion

Modifies the specified video motion region profile.

The upper left coordinates x and y have default values of zero. The origin (0,0) is the upper left corner.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<modifyVideoMotionRegion cseq="1" 
cvers="1.0">
<tag>mr000-mr999</tag> 
<description>XXXXX</description> 
<state>enabled</state> 
<upperLeftCoordx>0-351</upperLeftCoordx> 
<upperLeftCoordy>0-287</upperLeftCoordy> 
<lowerRightCoordx>0-351</lowerRightCoordx> 
<lowerRightCoordy>0-287</lowerRightCoordy> 
<threshold>1-100</threshold>  
</modifyVideoMotionRegion>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<modifyVideoMotionRegion cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</modifyVideoMotionRegion>
</ops>

DeleteVideoMotionRegion

Deletes the specified video motion region profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteVideoMotionRegion cseq="1" 
cvers="1.0">
<tag>mr000</tag>
</DeleteVideoMotionRegion>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<DeleteVideoMotionRegion cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</DeleteVideoMotionRegion>
</ops>

Video Motion Detection Profile

Configure the video motion detection profile with the following APIs:

ListVideoMotionDetection

GetVideoMotionDetection

CreateVideoMotionDetection

ModifyVideoMotionDetection

DeleteVideoMotionDetection

ListVideoMotionDetection

Lists all the video motion detection profiles.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListVideoMotionDetections cseq="1" 
cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListVideoMotionDetections cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<tag>md000</tag>
<tag>md001</tag>
...
</ListVideoMotionDetections>
</ops> 

GetVideoMotionDetection

Gets the specified video motion detection profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetVideoMotionDetection cseq="1" 
cvers="1.0">
<tag>md000</tag>
</GetVideoMotionDetection>
</ops>
?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
ops type="reply" onfail="ignore" 
rid="1234">
   <GetVideoMotionDetection cseq="1" 
cvers="1.0" svers="1.0">
      <result code="0"/>
      <tag>md000</tag>
      <description>XXXXX</description> 
      <state>enabled</state>           
      <motionRegionTag 
tagNum="0">mr000</motionRegionTag> 
     ...
       <motionRegionTag 
tagNum="31">mr031</motionRegionTag> 
   </GetVideoMotionDetection>
</ops>

CreateVideoMotionDetection

Creates the specified video motion detection profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
    <CreateVideoMotionDetection cseq="1" 
cvers="1.0">
     <tag>md000-md999<tag>                      
(required)
     <description>XXXXX</description>  
     <state>enabled</state>            
     <motionRegionTag 
tagNum="0">mr000</motionRegionTag>
     ...
     <motionRegionTag 
tagNum="31">mr031</motionRegionTag> 
    </CreateVideoMotionDetection>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<CreateVideoMotionDetection cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</CreateVideoMotionDetection>
</ops>

ModifyVideoMotionDetection

Modifies the specified video motion detection profile.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
    <ModifyVideoMotionDetection cseq="1" 
cvers="1.0">
     <tag>md000-md999<tag>            
(required)
     <description>XXXXX</description> 
     <state>enabled</state> 
     	<motionRegionTag 
tagNum="0">mr000</motionRegionTag>
     ...
     <motionRegionTag 
tagNum="31">mr031</motionRegionTag> 
   </ModifyVideoMotionDetection>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyVideoMotionDetection cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</ModifyVideoMotionDetection>
</ops>

DeleteVideoMotionDetection

Deletes the specified video motion detection profile.

Client -> Server: Request
Server -> Client: Response

<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteVideoMotionDetection cseq="1" 
cvers="1.0">
<tag>md000</tag> 
</DeleteVideoMotionDetection>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<DeleteVideoMotionDetection cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</DeleteVideoMotionDetection>
</ops>

RS-485 Serial Port Configuration

Configure control and monitor, pan, tilt, and zoom (PTZ) camera movements through this serial port connection.

The RS-485 serial port is configured with the following APIs:

ListAllSerialPorts

GetSerialPortConfig

GetSerialPortCapability

ModifySerialPortConfig

WriteSerialPort

ReadSerialPort

ListAllSerialPorts

Lists all the serial ports in the system.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListSerialPorts cseq="1" cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListSerialPorts cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum>0</portNum>
<portNum>1</portNum>
</ListSerialPorts>
</ops>

GetSerialPortConfig

Gets the specified serial port configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetSerialPortConfig cseq="1" cvers="1.0">
<portNum>0</portNum> 
</GetSerialPortConfig>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetSerialPortConfig cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum>0</portNum>
<description>XXXXX</description>
<state>enabled</state>
<baudrate>9600</baudrate>
<databits>8</databits>
<stopbits>1</stopbits>
<parity>odd</parity>
<termination-State>connected</termination-S
tate>
</GetSerialPortConfig>
</ops>

GetSerialPortCapability

Gets the serial port parameters and their default values and allowable ranges.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" 
encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetSerialPortCapability cseq="1" 
cvers="1.0"/>
<ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" rid="1234">
<GetSerialPortCapability cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum required="yes" 
default="no">0-1</portNum>
<description required="no" 
default="">xxx</description>
<state required="no" default="enable>enabled, 
disabled</state>
<baudrate required="no" 
default="9600">300,600,1200,2400,480,9600,19200,
38400,57600,115200</baudrate>
<databits required="no" 
default="8">8,7,6,5</databits>
<stopbits required="no"default="1">1,1.5, 
2</stopbits>
<parity required="no" default="none">none,odd, 
even,mark,space</parity>
<termination-State required="no" 
default="open">open, 
connected</termination-State>
</GetSerialPortCapability>
</ops>

ModifySerialPortConfig

Modifies one or more serial port parameters of the specified serial port.

Client -> Server: Request
Server -> Client: Response
<ops type="request" onfail="ignore" 
rid="1234">
<ModifySerialPortConfig cseq="1" 
cvers="1.0">
<portNum>0</portNum> 
<description>XXXXX</description> 
<state>enabled</state> 
<baudrate>9600</baudrate> 
<databits>8</databits> 
<stopbits>1</stopbits> 
<parity>none</parity> 
<termination-state>connected</termination-S
tate> 
</ModifySerialPortConfig>
</ops>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifySerialPortConfig cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</ModifySerialPortConfig>
</ops>

WriteSerialPort

Controls pan, tilt, and zoom (PTZ) camera movements, or queries PTZ camera positions, where:

Data has the format 0x + a pair of characters (0-9, A-F, a-f).

maxReadBytes is optional.

The timeout timer is optional. Its default value is 500 ms if not specified.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<WriteSerialPort cseq="1" cvers="1.0">
<portNum>0</portNum> 
<data>0x1234567890ABCEDF</data> 
<maxReadBytes>x</maxReadBytes>
<timeout>x</timeout> 
</WriteSerialPort>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<WriteSerialPort cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<data>0x1234567890ABCDEF</data>
</WriteSerialPort>
</ops>

ReadSerialPort

Reads the number of bytes from the specified serial port.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ReadSerialPort cseq="1" cvers="1.0">
<portNum>0</portNum> 
<maxReadBytes>x</maxReadBytes> 
<timeout>x</timeout> 
</ReadSerialPort>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ReadSerialPort cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<data>0x1234567890ABCDEF</data>
</ReadSerialPort>
</ops>

Contact Closure Configuration

Contact closure (CC) is configured with the following APIs:

ListCCPorts

GetCCPortConfig

GetCCPortCapability

ModifyCCPortConfig

GetCCPortHWStates

ListCCPorts

Lists all the configured contact closure ports.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListCCPorts cseq="1" cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListCCPorts cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum>0</portNum>
<portNum>1</portNum>
<portNum>2</portNum>
<portNum>3</portNum>
<portNum>4</portNum>
<portNum>5</portNum>
<portNum>6</portNum>
<portNum>7</portNum>
</ListCCPorts>
</ops>

GetCCPortConfig

Gets the specified contact closure port configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetCCPortConfig cseq="1" cvers="1.0">
<portNum>0</portNum> 
</GetCCPortConfig>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetCCConfig cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum>0</portNum>
<description>XXXXX</description>
<state>disabled</state>
<direction>in</direction>
<relayState>open</relayState>
</GetCCPortConfig>
</ops>

GetCCPortCapability

Gets contact closure port capability.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetCCPortCapability cseq="1" cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetCCPortCapability cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<portNum required="yes" 
default="no">0-7</portNum>
<description required="no" 
default="">xxx</description>
<state required="no" 
default="disabled">enabled, 
disabled</state>
<direction required="no" default="in">in, 
out</direction>
<relayState required="no" 
default="close">open, close</relayState>
</GetCCPortCapability>
</ops>

ModifyCCPortConfig

Modifies one or more parameters of the specified contact closure port.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyCCPortConfig cseq="1" cvers="1.0">
<portNum>0</portNum> 
<description>XXXXX</description> 
<state>enabled</state> 
<direction>in</direction> 
<relayState>open</relayState> 
</ModifyCCPortConfig>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyCCPortConfig cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</ModifyCCPortConfig>
</ops>

GetCCPortHWStates

Gets the hardware status of all contact closure ports.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetCCPortHWStates cseq="1" cvers="1.0" />
</ops>

<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetCCPortHWStates cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<state0>close</state0>
<state1>close</state1>
<state2>close</state2>
<state3>close</state3>
<state4>close</state4>
<state5>close</state5>
<state6>close</state6>
<state7>close</state7>
</GetCCPortHWStates>
</ops>


Alarm Monitors

The alarm software module serves as a central point for the control of all alarm and relay interfaces in the video service module. All four relay outputs in the video service module can be accessed by multiple users. However, each interface can be operated by only one user at a time.

When a relay output port is seized, it is not available to other users until the current user has finished operations and releases the interface. The alarm monitor watches for any alarm event on every alarm interface. When an event is triggered, it notifies the alarm application which passes the information to the configured monitor destination.

This section consists of:

Destination Profile

Monitor Profile

Notifier Profile

Destination Profile

Configure the destination profile with the following APIs:

ListDestinationProfiles

GetDestinationProfile

CreateDestinationProfile

ModifyDestinationProfile

DeleteDestinationProfile

ListDestinationProfiles

Lists all configured destination profiles.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListDestinationProfiles cseq="1" 
cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListDestinationProfiles cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
<tag>dest000</tag>
<tag>dest001</tag>
...
</ListDestinationProfiles>
</ops>

GetDestinationProfile

Gets the specified destination profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetDestinationProfile cseq="1" 
cvers="1.0">
<tag>dest000</tag> 
</GetDestinationProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetDestinationProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<tag>dest000-dest999</tag>
<description>XXXXX</description>
<state>enabled</state>
<primaryUrl>http://172.20.30.40:8080/servle
t/monitor</primaryUrl>
<secondaryUrl>http://172.20.30.40:8080/serv
let/monitor</secondaryUrl>
</GetDestinationProfile>
</ops>

CreateDestinationProfile

Creates the specified destination profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateDestinationProfile cseq="1" 
cvers="1.0">
<tag>dest000</tag> 
<description>XXXXX</description> 
<primaryUrl>url definition</primaryUrl> 
<secondaryUrl>url 
definition</secondaryuUrl> 
</CreateDestinationProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<CreateDestinationProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</CreateDestinationProfile>
</ops>

ModifyDestinationProfile

Modifies the specified destination profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyDestinationProfile cseq="1" 
cvers="1.0">
<tag>dest000</tag> 
<description>XXXXX</description> 
<primaryUrl>url definition</primaryUrl> 
<secondaryUrl>url definition</secondaryUrl> 
</ModifyDestinationProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyDestinationProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</ModifyDestinationProfile>
</ops>

DeleteDestinationProfile

Deletes the specified destination profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteDestinationProfile cseq="1" 
cvers="1.0">
<tag>destxxx</tag>
</DeleteDestinationProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<DeleteDestinationProfile cseq="1" 
cvers="1.0" svers="1.0">
<result code="0"/>
</DeleteDestinationProfile>
</ops>

Monitor Profile

Configure the monitor profile with the following APIs:

ListMonitorProfiles

GetMonitorProfile

CreateMonitorProfile

ModifyMonitorProfile

DeleteMonitorProfile

ListMonitorProfiles

Lists all the configured alarm monitor profile tags in the system.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListMonitorProfiles cseq="1" cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListMonitorProfiles cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<tag>mon000</tag>
<tag>mon001</tag>
...
</ListMonitorProfiles>
</ops>

GetMonitorProfile

Gets the specified monitor profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetMonitorProfile cseq="1" cvers="1.0">
<tag>mon000-mon999</tag>
</GetMonitorProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetMonitorProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<tag>mon000</tag>
<description>XXXXX</description>
<state>enabled</state>
<sourceTrigger>cc0</sourceTrigger>
<event>ccport-open-to-close</event>
</GetMonitorProfile>
</ops>

CreateMonitorProfile

Creates the specified monitor profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateMonitorProfile cseq="1" cvers="1.0">
<tag>mon000-mon999</tag> 
<description>XXXXX</description>  
<state>enabled</state> 
<sourcePort>vp0-vp15,cc0-cc7</sourcePort> 
<triggerProfileTag>trigxxx</triggerProfileT
ag>
<sourceTrigger>vp0-vp15,vp-any,cc0-cc7,stre
am000-stream999,system</sourceTrigger>
<event>ccport-open-to-close, 
ccport-close-to-open, 
ccport-any-state-change, 
vport-state-change,vport-signal-change, 
vport-signal-detect,vport-signal-loss,video
-motion-detection, system-reload</event>
</CreateMonitorProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<CreateMonitorProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</CreateMonitorProfile>
</ops>

ModifyMonitorProfile

Modifies the specified monitor profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyMonitorProfile cseq="1" cvers="1.0">
<tag>mon000-mon999</tag> 
<description>XXXXX</description>  
<state>enabled</state> 
<sourceTrigger>vp0-vp15,cc0-cc7,stream000-s
tream999system</sourceTrigger>
<event>ccport-open-to-close,ccport-close-to
-open,ccport-any-state-change, 
vport-state-change,vport-signal-loss,video-
motion-detection,system-reload</event>
</ModifyMonitorProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyMonitorProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</ModifyMonitorProfile>
</ops>

DeleteMonitorProfile

Deletes the specified monitor profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteMonitorProfile cseq="1" cvers="1.0">
<tag>mon000-mon999</tag>
</DeleteMonitorProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteMonitorProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</DeleteMonitorProfile>
</ops>

Notifier Profile

Configure the notifier profile with the following APIs:

ListNotifierProfile

GetNotifierProfile

CreateNotifierProfile

ModifyNotifierProfile

DeleteNotifierProfile

ListNotifierProfile

Lists all the configured notifier profile tags in the system.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ListNotifierProfiles cseq="1" 
cvers="1.0"/>
</ops>
<ops type="reply" onfail="ignore" 
rid="1234">
<ListNotifierProfiles cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<tag>not000</tag>
<tag>not001</tag>
...
</ListNotifierProfiles>
</ops>

GetNotifierProfile

Gets the specified notifier profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<GetNotifierProfile cseq="1" cvers="1.0">
<tag>not000</tag> 
</GetNotifierProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<GetNotifierProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
<tag>not000</tag>
<description>XXXXX</description>
<state>enabled</state>
<monitorTag>mon000</monitorTag>
<destinationTag>trig000</destinationTag>
</GetNotifierProfile>
</ops>

CreateNotifierProfile

Creates the specified notifier profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<CreateNotifierProfile cseq="1" 
cvers="1.0">
<tag>not000-not999</tag> 
<description>XXXXX</description> 
<state>enabled</state> 
<monitorProfileTag>mon000-mon999</monitorTa
g> 
<destinationProfileTag>dest000-dest999</des
tinationTag> 
</CreateNotifierProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<CreateNotifierProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</CreateNotifierProfile>
</ops>

ModifyNotifierProfile

Modifies the specified notifier profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<ModifyNotifierProfile cseq="1" 
cvers="1.0">
<tag>not000-not999</tag> 
<description>XXXXX</description> 
<state>enabled</state> 
<monitorProfileTag>mon000-mon999</monitorTa
g> 
<destinationProfileTag>dest000-dest999</des
tinationTag> 
</ModifyNotifierProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<ModifyNotifierProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</ModifyNotifierProfile>
</ops>

DeleteNotifierProfile

Deletes the specified notifier profile configuration.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<DeleteNotifierProfile cseq="1" 
cvers="1.0">
<tag>notxxx</tag>
</DeleteNotifierProfile>
</ops>
<?xml version="1.0" encoding="ISO-8859-1" 
standalone="yes"?>
<ops type="request" onfail="ignore">
<DeleteNotifierProfile cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</DeleteNotifierProfile>
</ops>

Saving Configurations

Use SaveConfig to save the configuration so that it can be restored during the next reboot.

Client -> Server: Request
Server -> Client: Response
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="request" onfail="ignore" 
rid="1234">
<SaveConfig cseq="1" cvers="1.0"/>
</ops>
<?xml version="1.0" encoding="UTF-8" 
standalone="yes"?>
<ops type="reply" onfail="ignore" 
rid="1234">
<SaveConfig cseq="1" cvers="1.0" 
svers="1.0">
<result code="0"/>
</SaveConfig>
</ops>

Error Codes

A response contains an error code with a value other than zero when a request is not successfully processed because of an XML syntax error or a value that is out of range.

This section consists of:

Video Error Codes

RS485 Serial Port Error Codes

Contact Closure Port Error Codes

Alarm Monitor Profile Error Codes

Other Error Codes

Video Error Codes

Error Codes
Description

101

The specified video codec profile does not exist.

102

The specified video codec profile already exists.

103

Failed to create video codec profile.

104

Failed to delete video codec profile.

105

Video stream profile does not exist.

106

Video stream profile already exists.

107

Failed to create video stream profile.

108

Failed to delete video stream profile.

109

Motion region profile does not exist.

110

Motion region profile already exists.

111

Failed to create motion region profile.

112

Failed to delete motion region profile.

113

Motion detection profile does not exist.

114

Motion detection profile already exists.

115

Failed to create motion detection profile.

116

Failed to delete motion detection profile.

117

Only video ports 0-1 can be output ports.

119

Upper left coordinate x must be smaller than lower right coordinate x.

120

Upper left coordinate y must be smaller than lower right coordinate y.

121

The maxBitRate value is out of range (168-2000).

122

Format and frame rate values are not compatible.

123

The specified codec profile is in use.

124

The specified motion region profile is in use.

125

The specified motion detection profile is in use.

126

The specified stream profile is in use.

128

The specified bitRate and gopSize are not compatible.

129

The specified skipFactor value is not valid.

130

An exception is encountered when reading the video port LED status.

131

The video port maxResolution is lower than the codec profile resolution.


RS485 Serial Port Error Codes

Error Codes
Description

401

Data cannot be read.

402

Encountered a read exception.

403

Failed to read all requested bytes.

404

Encountered a write exception.

405

Port is disabled and a read or write request is rejected.


Contact Closure Port Error Codes

Error Codes
Description

201

Only contact closure (cc) port numbers 0-3 can be configured for output.


Alarm Monitor Profile Error Codes

Error Codes
Description

301

Destination profile does not exist.

302

Destination profile already exists.

303

Failed to create destination profile.

304

Failed to delete destination profile.

305

Monitor profile does not exist.

306

Monitor profile already exists.

307

Failed to create monitor profile.

308

Failed to delete monitor profile.

309

Notifier profile does not exist.

310

Notifier profile already exists.

311

Failed to create notifier profile.

312

Failed to delete notifier profile.

313

Video motion detection profile does not exist.

314

Event and source trigger values are not compatible.


Other Error Codes

Error Codes
Description

10

Detected an XML syntax error in the request document.

11

Failed to proceed because of an internal resource problem.

12

Failed to save configuration because of an internal system source error.


Additional References

The following sections provide references related to the Cisco Analog Video Gateway application.

Related Documents

Related Topic
Document Title

Cisco Analog Video Gateway and the Cisco Video Surveillance Solution

Release Notes for the Cisco Video Management and Storage System

Connecting Cisco Analog Video Gateway Network Modules to the Network

Cisco Analog Video Gateway Installation and Upgrade Guide

Cisco Analog Video Gateway CLI Administrator Guide

Connecting Cisco Video Management and Storage System Enhanced Network Modules to the Network

Cisco Video Management and Storage System Installation and Upgrade Guide

Cisco Video Management and Storage System CLI Administrator Guide

Connecting Cisco Integrated Storage System Enhanced Network Modules to the Network

Cisco Integrated Storage System Installation and Upgrade Guide

Cisco Integrated Storage System CLI Administrator Guide

Open Source License Notice

Cisco IOS software

Cisco IOS Software

Network modules

Installing Cisco Network Modules in Cisco Access Routers

Technical documentation, including feedback and assistance

What's New in Cisco Product Documentation (including monthly listings of new and revised documents)


Technical Assistance

Description
Link

For information on obtaining documentation, submitting a service request, and gathering additional information, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at:

Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS version 2.0.

http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html

Cisco Feature Navigator website

http://www.cisco.com/go/cfn

Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. An account on Cisco.com is not required.

Cisco Software Center website

http://www.cisco.com/public/sw-center/