D14949.13 SX20 Codec API Reference Guide TC7.3, OCTOBER 2015. Copyright © 2015 Cisco Systems, Inc. All rights reserved. 21
Cisco TelePresence SX20 Codec API Reference Guide
Using HTTP
The codec supports sending commands and configurations over HTTP and HTTPS. It is also possible to retrieve configurations
and statuses this way. This interface exposes the same API as the command line, but in XML format.
URL cheat sheet
The following table contains the main URLs used when accessing the API over HTTP.
Method URL Description
GET http://<ip-address>/status.xml Complete status document
GET http://<ip-address>/configuration.xml Complete configuration document
GET http://<ip-address>/command.xml Complete command document
GET http://<ip-address>/valuespace.xml Complete valuespace document
GET http://<ip-address>/getxml?location=<path> Retrieve document based on a path
POST http://<ip-address>/putxml Configurations and commands in HTTP body
GET, POST http://<ip-address>/formputxml?xmldoc=<xml> Configurations and commands www-urlencoded
Getting status and configurations
Example 1: Get all status entries on the codec.
http://<ip-address>/getxml?location=/Status
Example 2: Get just the audio statuses of the codec.
http://<ip-address>/getxml?location=/Status/Audio
Example 3: Get all configurations of the codec.
http://<ip-address>/getxml?location=/Configuration
Example 4: Get all video configurations of the codec.
http://<ip-address>/getxml?location=/
Configuration/Video
Sending commands and configurations
Using HTTP GET
It is possible to use HTTP GET when sending commands
or configurations to the codec. This makes it easy to test
commands using your browser.
Example 1: Setting the camera position.
http://<ip-address>/formputxml?xmldoc=
<Command><Camera><PositionSet command=”True”>
<CameraId>1</CameraId><Pan>200</Pan>
<Tilt>200</Tilt></PositionSet></Camera></Command>
Example 2: Changing the system name.
http://<ip-address>/formputxml?xmldoc=
<Configuration><SystemUnit>
<Name>newName</Name></SystemUnit></Configuration>
Example 3: Changing multiple configurations in one go.
http://<ip-address>/formputxml?xmldoc=
<Configuration><Audio><Volume>80</Volume>
</Audio><Video><OSD><TodaysBookings>On
</TodaysBookings></OSD></video><Configuration>
Using HTTP POST
When sending configurations and commands to the codec,
it is important that the HTTP header Content-Type is set to
text/xml, i.e. Content-Type: text/xml. The body of the POST
should contain the XML content.
Example 1: Changing the system name.
Request
POST /putxml HTTP/1.1
Content-Type: text/xml
Connection: close
<Configuration>
<SystemUnit>
<Name>newName</Name>
</SystemUnit>
</Configuration>
Example 2: Setting the camera position.
Request
POST /putxml HTTP/1.1
Content-Type: text/xml
Connection: close
<Command>
<Camera>
<PositionSet command=”True”>
<CameraId>1</CameraId>
<Pan>200</Pan>
<Tilt>200</Tilt>
</PositionSet>
</Camera>
</Command>
Response
HTTP/1.1 200 OK
Date: <date>
Server: WSGIServer/0.1 Python/2.5.4
Cache-Control: no-cache
Content-Type: text/xml
Content-Length: 91
Connection: close
<?xml version=”1.0”?>
<Command>
<CameraPositionSetResult item=”1” status=”OK”/>
</Command>