Cisco Collaboration Endpoint Software
Introduction xConfiguration xCommand xStatus
API Reference Guide
Appendices
Feedback from the device over HTTP
You can get the device to post http feedback messages
(also known as webhooks) on changes to the API state, e.g. statuses, events and configuration updates. The HTTP Post feedback messages will be sent to the specified ServerURL.
You can choose between events being posted in either XML or JSON format. You can subscribe to changes on multiple parts of the API by register up to 15 different feedback expressions.
Registering for feedback
The command for registering is xCommand HttpFeedback
Register . The syntax for this command and its arguments are described in this section.
HttpFeedback Register syntax: xCommand HttpFeedback Register
FeedbackSlot: <1..4>
ServerUrl(r): <S: 1, 2048>
Format: <XML/JSON>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
Expression: <S: 1, 255>
HttpFeedback Register arguments:
FeedbackSlot: The device can register up to 4 slots of servers requesting HTTP feedback. Set the registering to one of them.
NOTE: Avoid using FeedbackSlot 3 in an environment where
Cisco TelePresence Management Suite (TMS) is used as
TMS uses this feedback slot to register its expressions.
ServerUrl: The URL to the HTTP server where you want the device to post the HTTP feedback messages to.
Format: Set the format for the feedback from the HTTP server to XML or JSON.
Expression 1-15: The XPath expression specifies which parts of the Status, Configuration or Event documents are monitored. You can have from 1 to 15 XPath expressions
Register the expressions you want to receive feedback
on. See “Feedback mechanism” on page 83 for more
information about the expression formats.
Example: Registering feedback on configuration changes, disconnect events and call status changes.
POST /putxml HTTP/1.1
Content-Type: text/xml
<Command>
<HttpFeedback>
<Register command=”True”>
<FeedbackSlot>1</FeedbackSlot>
<ServerUrl>http://127.0.0.1/
myhttppostscripturl</ServerUrl>
<Format>XML</Format>
<Expression item=”1”>/Configuration</
Expression>
<Expression item=”2”>/Event/
CallDisconnect</Expression>
<Expression item=”3”>/Status/Call</
Expression>
</Register>
</HttpFeedback>
</Command>
D15407.13 Cisco Collaboration Endpoint Software API Reference Guide CE9.12, APRIL 2020 87
Feedback output
When the device notifies the registered HTTP server about changes, the body contains the same XML as when polling.
There is however one small difference. The root-node contains an Identification node with children that specify the device from which the notification originated. This means that you can handle multiple devices with a single HTTP server
URI.
Example: Audio volume changed.
<Configuration xmlns=”http://www.company.com/XML/
CUIL/2.0”>
<Identification>
<SystemName>My Device Name</SystemName>
<MACAddress>00:00:de:ad:be:ef</MACAddress>
<IPAddress>192.168.1.100</IPAddress>
<ProductType>Cisco Codec</ProductType>
<ProductID>Cisco Codec SX80</ProductID>
<SWVersion>CE8.3.0.199465</SWVersion>
<HWBoard>101401-5 [08]</HWBoard>
<SerialNumber>PH0000000</SerialNumber>
</Identification>
<Audio item=”1”>
<Volume item=”1”>60</Volume>
</Audio>
</Configuration>
Copyright © 2020 Cisco Systems, Inc. All rights reserved.