Cisco Collaboration Endpoint Software
Introduction xConfiguration xCommand
Feedback mechanism
To build solutions that can reliably keep the state between your application and the device synchronized, you can set up a notification system to report the changes in the state of the device.
The API supports notifications on the following:
• Configuration changes
• Status changes
• Event notifications
These notifications will not be sent unless you have explicitly told the device to do so. You can subscribe to the feedback by registering feedback expressions. How you register feedback expressions varies according to the connection method used.
When using HTTP, the method of handling feedback differs
slightly from what is presented in this section. See “Feedback from the device over HTTP” on page 87 for more
information.
WARNING: A device may give very much feedback, especially when calls are connected and disconnected.
Do only subscribe to the feedback you need.
Never register for all status feedback by issuing xFeedback register /Status. This may give the control application too much data to handle, which may lead to sluggish or unpredictable behavior.
Feedback expressions
The expression used when registering for feedback is a variant of the XPath language. The XPath language describes a way to select nodes from an XML/JSON document. The CE software contains three main feedback documents.
Document
Status
Configuration
Event
API command xStatus xConfiguration xEvent
Path
/Status
/Configuration
/Event
The syntax for feedback registering is: xFeedback register <path>
Never register for all status feedback by issuing xFeedback register /Status.
It is safe to register for all configuration changes using xFeedback register /Configuration, as configuration changes will most likely not occur that often.
By going through some examples, we can see how this information can be used to build feedback expressions. A good way to verify the expressions is to point your browser to http://<ip-address>/getxml?location=path or to execute xgetxml <path> from the terminal, and check that the output matches the nodes you want feedback on.
xStatus
API Reference Guide
Appendices
Example 1: Microphones Mute status
Terminal query xStatus Audio Microphones Mute
*s Audio Microphones Mute: Off
** end
Equivalent feedback expression xFeedback register /Status/Audio/Microphones/Mute
Example 2: Name of all video input connectors
Terminal query xConfiguration Video Input Connector Name
*c xConfiguration Video Input Connector 1 Name:
“NameA”
*c xConfiguration Video Input Connector 2 Name:
“NameB”
*c xConfiguration Video Input Connector 3 Name:
“NameC”
*c xConfiguration Video Input Connector 4 Name:
“NameD”
*c xConfiguration Video Input Connector 5 Name:
“NameE”
** end
Equivalent feedback expression xFeedback register /Configuration/Video/Input/
Connector/Name
Example 3: Name of v ideo input connector 3
Terminal query xConfiguration Video Input Connector 3 Name
*c xConfiguration Video Input Connector 3 Name:
“NameC”
** end
Equivalent feedback expression xFeedback register /Configuration/Video/Input/
Connector[@item=’3’]/Name
D15407.13 Cisco Collaboration Endpoint Software API Reference Guide CE9.12, APRIL 2020 83 Copyright © 2020 Cisco Systems, Inc. All rights reserved.