This document is a guide to the API interface of the TANDBERG MPS products. All rights
reserved. This document contains information that is proprietary to TANDBERG. No part of
this publication may be reproduced, stored in a retrieval system, or transmitted, in any form,
or by any means, electronically, mechanically, by photocopying, or otherwise, without the
prior written permission of TANDBERG. Nationally and internationally recognized trademarks
and trade names are the property of their respective holders and are hereby acknowledged.
Disclaimer
The information in this document is furnished for informational purposes only, is subject to
change without prior notice, and should not be construed as a commitment by TANDBERG.
The information in this document is believed to be accurate and reliable; however
TANDBERG assumes no responsibility or liability for any errors or inaccuracies that may
appear in this document, nor for any infringements of patents or other rights of third parties
resulting from its use. No license is granted under any patents or patent rights of
TANDBERG.
This document was written by the Research and Development Department of TANDBERG,
Norway. We are committed to maintaining a high level of quality in all our documentation.
Towards this effort, we welcome your comments and suggestions regarding the content and
structure of this document. Please fax or mail your comments and suggestions to the
attention of:
Research and Development Department
TANDBERG
Philip Pedersen vei 22
1366 Lysaker
Norway
Tel: +47 67 125 125
Fax: +47 67 125 234
XML is a markup language for documents containing structured information.
All information elements in an XML document are marked by a tag and a corresponding end-
tag. The end-tag has the same name as the tag, but is prefixed with a slash, “/”. All tags are
put within angular brackets (“< >”).
Example 1.1
Below is an example of how configurations of a Serial Port could be represented using XML.
From the tree structure of this example we can see that BaudRate, Parity, Databits,
StopBits and Mode are properties of the SerialPort. We can distinguish between
container-elements and value-elements. Container-elements contain one or more subelements, while value-elements contain a value. This is analogous to files and folders on a
computer. Container-elements are folders that can contain sub-folders and files, while valueelements are files containing data.
In the XML structure for the Serial Port we see that the container-element SerialPort
contains five sub-elements. All these sub-elements are value-elements, each holding values
for the properties: BaudRate, Parity, DataBits, StopBits and Mode.
Example 1.2
In this example we will look at element attributes. Attributes are used to add meta information
to an element. Attributes are placed within the start tag of an element and different attributes
are separated by space.
An XML structure representing the status of a call in a videoconferencing system is shown
below:
We can see from the status attribute of the Call element that the call is disconnected. The
only relevant information regarding this call is the disconnect cause value. Therefore the substructure of the call element contains only one value-element.
2
TANDBERG MPS API
User Guide
Example 1.3
If we now look at the call element for an active call we see that call element contains a large
sub-structure:
In this example, the attributes are used to provide valuable information in addition to
establishing a dependency to the underlying sub-structure of the element.
Example 1.4
In the above examples, all elements are having an attribute named item. This attribute
specifies the instance number of the element. If we expand Example 1.1 to a system having
two serial ports, the XML structure could look like this:
XPath is a comprehensive language to address data in XML documents.
It is though very simple to understand the basics. If you are able to specify the path to a file
on your computer, you are able to specify the path to an element in a XML structure.
Example 1.5
Let us go back to the serial port configurations of Example 1.1.
To specify the path to the SerialPort element we simply start at the root level and separate
the levels in the tree structure by a slash (“/”):
Configuration/SerialPort
The path to the BaudRate element is:
Configuration/SerialPort/BaudRate
Example 1.6
To address a specific item of an element, the item number is added within brackets (“[]”) after
the element name.
The path to the BaudRate element of SerialPort item 2 in Example 1.4 is:
Configuration/SerialPort[2]/BaudRate
If the item number is omitted for an element, all items of this element will be addressed. The
following expression addresses the BaudRate element of both serial ports:
Configuration/SerialPort/BaudRate
Example 1.7
When using XPath it is possible to omit specifying intermediate levels in the address
expression. By using the powerful “double slash” you can address elements without having to
specify the complete path.
The expression below addresses the BaudRate element of both serial ports of Example 1.4:
Configuration//BaudRate
5
TANDBERG MPS API
User Guide
Example 1.8
XPath also supports addressing by putting constraints on element attributes. Let’s go back to
the Call element in Example 1.2. The below expression will address the CallRate element
of all Synced calls in a system:
Status/Call[@status=”Synced”]/CallRate
To add more constraints on element attributes, XPath supports boolean expressions. To
address all Synced H323 calls in a system, the following expression can be used:
Status/Call[@status=”Synced” AND @protocol=”H323”]/CallRate
6
TANDBERG MPS API
User Guide
1.3 The TANDBERG XML Engine
The TANDBERG XML engine is optimized for advanced machine-machine interaction
between a TANDBERG system and an external control application. The main features can be
summarized to:
• Structuring of information
• Addressing using XPath
• Feedback
1.3.1 Structuring of Information
An application programming interface can be seen as a gate where information is exchanged
between two systems - a control application and a target system. The control application
transmits instructions to the target system, while the target system supplies information about
how these instructions are executed, in addition to other system related information.
Thus, the exchange of information can be divided into:
1. information flowing from target, hereby called read information (r)
2. information flowing to target, hereby called write information (w)
If we now look at the TANDBERG systems we can identify three main types of information,
either being read information (r), write information (w) or read-write information (rw):
1. (r) Read information – Status Information.
Information about the system and system processes, i.e. information generated by
the system.
F.ex. status about ongoing calls, network status, conference status etc.
All status information is structured in a hierarchy, making up a database constantly
beeing updated by the system to reflect process changes.
2. (w) Write information – Command Information.
Information supplied by the user to initiate an action.
F.ex. instructing the system to place a call, assigning floor to a specific site,
disconnecting a site etc.
A command is usually followed by a set of parameters to specify how the given action
is to be executed.
3. (rw) Read-Write information – Configuration Information. Information defining
system settings. This information can both be supplied and read by the user. F.ex.
default callrate, baudrate of a serial port, enabling/disabling of various features etc.
All configuration information is structured in a hierarchy making up a database of
system settings. But for the Configuration information, the data in the database can
only be updated by the user/control application.
1.3.2 Addressing using XPath
To address information in the hierarchic structure of Status and Configuration informatio n the
TANDBERG systems support abbreviated XML Path Language (XPath). This allows the
user/control application to address everything from a single element of data, f.ex. the callrate
of a specific call, to larger parts of the hierarchy, f.ex. all information available for a given call.
The structuring of information together with XPath for addressing makes up powerful features
like searching and setting of multiple instances of a configuration.
1.3.3 Feedback
Feedback is an extremely powerful feature where the TANDBERG system actively returns
updated status and configuration information to the user/control application whenever
changes occur. The user/control application can specify what parts of the status and
7
TANDBERG MPS API
User Guide
configuration hierarchies it wants to monitor by using XPath. The user/control application can
therefore limit the amount of information it receives from the target system to only those parts
being of interest for the given application.
8
TANDBERG MPS API
User Guide
1.4 The XML Documents
1.4.1 Documents
The XML Data in the TANDBERG systems are divided into three main types of documents.
The division is based on whether the information is Read Information, Write Information or
Read-Write information:
1. Status documents (r): Documents holding all available Status Information in the
system.
Supported documents:
a. status.xml
b. history.xml
2. Configuration documents (rw): Documents holding all system configurations.
Supported documents:
a. configuration.xml
b. directory.xml
3. Command documents (w): Documents defining the supported system commands
used to initiate system processes. This is write data, i.e. the parameter values for a
given command are defined by the user and posted to the system. The posted values
will not be returned when reading the document from the system. Reading a
command document from the system returns descriptions of the supported
commands with empty parameter values.
Supported documents:
a. command.xml
4. Meta Documents: Meta documents contain information that can be referenced by
other documents, e.g. value domains of configurations or command parameters.
Supported Meta Documents:
a. valuespace.xml
1.4.2 Status Documents (r)
The Status Documents are characterised by an extensive use of XML attributes. In addition to
holding information, the attributes are used to reflect the structure of the sub-elements, which
are dependent on the state of the system.
Example 9
The element Call will contain different sub elements depending on the call state, call type or
In the above example we see that the Bonding element, RemoteNumber[2]and
SubAddress is not present for H323 calls. On the other hand, for H323 calls, the Audio
channel element holds information regarding packet loss etc., which is not present for H320
calls. If the call is disconnected, the Call element only contains the disconnect cause value.
1.4.3 Configuration documents (rw)
The structure of the Configuration documents is independent of system state, i.e. the
structure will be constant in time. In addition to holding the values for the various
configurations, each configuration value-element includes an attribute, valueSpaceRef
referencing the value domain for the configuration.
,
10
TANDBERG MPS API
User Guide
Example 10
From the XML structure below we see that the BaudRate element of SerialPort[1] is
configured to 9600. The BaudRate element references the SerialPortBaudrate element
in the ValueSpace document, showing the value domain for this configuration.
To change configurations, the part(s) of the document containing the configurations to be
updated should be posted back to the system with the new values. This will be described
thoroughly in a later section.
1.4.4 Command documents (w)
Command documents contain descriptions of the supported command s for the system. A
Command consists of a Command name and a set of Command parameters. Th e parameter
elements have attributes to denote whether the parameter is optional or required, in a addition
to referencing the value domain for the given parameter.
Command parameters do not contain any values when read from the system.
Example 11
The command Dial is defined to take five parameters, while only the Number parameter is
required as specified by the attribute required. The value domain for the parameters is
referenced by the attribute valueSpaceRef.
To issue a command, the command structure is posted back to the system together with
values for the various parameters. Optional parameters can be omitted when posting the
structure back to the system.
Example 12
To place a call to number 999 the user can simply post the following XML structure to the
When issuing Commands, the system will ret urn an XML structure in response. The response
structure will have the same name as the command issued, but it will be post fixed with
“Result”. All commands will have an attribute named status, stating whether the command
was accepted or not. If a command is not accepted, the response structure will contain a
cause code. If the command is accepted, the response structure may contain information
relevant for the specific command.
Example 13
The Dial command in the above example may return the following response structure:
The response structure for the Dial command, DialResult, states that the command was
accepted by the system. In addition to stating that the command was accepted, the Dial
command returns the elements CallRef and LogTag. This lets the user identify/trace the
call in the Status documents (status.xml and history.xml).
12
TANDBERG MPS API
User Guide
Example 14
Below is an example of the Dial command, not being accepted by the system:
1.5 Introduction to TANDBERG XML
API Service (TXAS)
TXAS is a service provided by TANDBERG units for transmitting and receiving (transceiving)
information encoded in XML format.
The API uses HTTP(S) as the transport mechanism and connects to the normal web port
(80). TXAS can be accessed in two ways; bare-bone HTTP requests where URL’s uniquely
identifies the request, and SOAP where a single URI is used but the request itself is encoded
with XML.
1.5.1 Bare-bone HTTP(S) access
The bare-bone HTTP mode uses a unique URL to identify the specific request. The contents
of the HTTP body will be a XML document (or part of it).
Bare-bone HTTP(S) access is accomplished by passing arguments in the query string (after
'?' in URL) in a GET request, or using the "application/x-www-form-urlencoded" content-type
mehtod of POSTing form data (Each argument starts with a name '=' and a value, and every
parameter separated with '&' (and opt NL).)
getxml
REQUEST:
/getxml
PARAM:
location = X
"/getxml" request returns an XML document based on the location parameter passed to the
request. The elements (or complete document) matching the expression will be returned.
On Incorrect XPath expression, a <Fault> element with a <XPathError> element will be
returned.
Path expression
formputxml
REQUEST:
/formputxml
PARAM:
xmldoc = "an XML do
This is most useful in a POST (to extend character limit of 255 of GET urls). It posts a
Configuration or Command document to set the configurations or issue a command.
Like getxml, it has the data URL form-data encoded with one single parameter. The ContentType of the document must be of type “application/x-www-form-urlencoded” and the body
must be encoded accordingly (e.g. first line will be xmldoc=<then the document>).
putxml
REQUEST:
/putxml
PARAM:
HTTP BODY as arg
Putxml is like "formputxml", put uses the complete BODY as argument (i.e. the content of the
xmldoc parameter). The Content-type should be "text/xml" or "application/xml" (or "text/plain"),
though no check at the moment. (Except for application/x-www-form-urlencoded, this will
cause a failure).
cument of Configuration, Directory or Command"
ument
14
1.6 Exercises
TANDBERG MPS API
User Guide
The exercises in this section are based on using a TANDBERG 6000 MXP codec an d
Microsoft Internet Explorer. Some of the examples may however also apply to other systems
and other browsers.
NOTE! Replace the ip address, 10.47.8.41, in the below examples with the ip address of your
system.
Exercise 1
The example in this exercise shows how to read the supported XML documents from the
system using a web browser.
Enter the following address in the browsers address field:
This exercise shows how to use getxml to read the supported XML documents from the
system. Enter the following expressions in the browsers address field (NOTE! The first letter
in the document names is uppercase):
The address: http://10.47.8.41/xmlput.ssi contains an editor where XML data can be edited
and then posted to the system by pressing the save button. Below are examples of XML
structures to be posted to the system:
The XML-based Advanced Command Line Interface, XACLI, is a very flexible interface both
optimized for machine-machine interaction and man-machine interaction. It is based on the
powerful TANDBERG XML engine and offers many of the same features as the TANDBERG
XML interface.
The main distinction between XACLI and the TANDBERG XML interface is the input format. As
XACLI is a command line interface all inputs from the user/control application have to be put on
one line, in opposite to the XML interface where a complete XML document can be posted to
the system in one operation.
A basic understanding of the information structuring in the TANDBERG XML engine is importa nt
in order to get the most out of the XACLI interface. It is therefore recommended to read the
documentation of the TANDBERG XML API prior to reading this section.
17
TANDBERG MPS API
User Guide
2.1 XACLI
2.1.1 Accessing XACLI
XACLI can be accessed through Telnet via the LAN interface or through RS-232 by connecting
a serial cable to the serial interface connector, referred to as the Dataport.
48 Telnet sessions can be active at the same time in addition to the RS-232 connection.
2.1.2 Root commands
For each of the XML documents supported by the system, there is a corresponding XACLI root
command. The root command has the same name as the corresponding XML document,
except that the root command is prefixed by an “x”:
The information in the TANDBERG XML engine is divided into three main types: Status Information, Configuration Information and Command Information, ref. the documentation of the
TANDBERG XML API.
As there is a fundamental difference in these three main types of information, there is also three
different ways of working with the information using XACLI.
2.1.3 Addressing
XACLI supports XPath for addressing Status Information and Configuration Information.
In addition there is support for the proprietary TANDBERG SimplePath notation. With
SimplePath notation an element or a group of elements are addressed by supplying a space
separated list of element names (elemName) and optional element instance numbers (item ):
<elemName> [item] <elemName> [item] ...
If the instance number of a given element is omitted, the expression addresses all instances of
this element
Example 2.1
To address the BaudRate sub-element of SerialPort 2:
XPath: SerialPort[2]/BaudRate
SimplePath: SerialPort 2 BaudRate
To address the BaudRate sub-element of all SerialPort elements:
XPath: SerialPort/BaudRate
SimplePath: SerialPort BaudRate
18
TANDBERG MPS API
User Guide
2.1.4 Exposure options
By adding an exposure option after the address (XPath or SimplePath) expression, the system
can be instructed to return only parts of the information within an element structure.
To access status-type data, simply type the status-type root command (xstatus or xhistory) and
then an XPath address expression or a TANDBERG SimplePath expression:
NOTE! To write a parser for the XACLI format, the parser must keep track of the levels by
counting white spaces. The indent is increased by two whitespaces for each level.
22
TANDBERG MPS API
2.3 The Configuration-type root
commands xconfiguration/xdirectory
User Guide
The information accessible through these commands is the exact same information that is
available in the corresponding XML documents.
To get an overview of accessible top-level configuration elements, type ? or help after the
configuration-type root command:
To get help on configurations, type the configuration-type root command – then an address
expression followed by ? or help. The possible values for the elements matching the address
expression will be returned.
xconfiguration ip ?
*h xConfiguration IP Assignment: <DHCP/Static>
*h xConfiguration IP Address: <IPAddr>
*h xConfiguration IP SubnetMask: <IPAddr>
*h xConfiguration IP Gateway: <IPAddr>
NOTE! Only typing xconfiguration ?, actually addresses all configuration elements within
the xconfiguration root command. One would therefore expect that help on all configurations
would be returned. But as described above, this is a special case and only listings of the top
level elements are returned. To get help on all configurations supported by the system, type:
xconfiguration // ?
or
xconfiguration ??
2.3.2 Configuration read
To read configurations, type the configuration-type root command followed by an address
expression:
<configuration-type root command> <address expr>
Example 2.8
User wants to read IP configurations:
xconfiguration ip
*c xConfiguration IP Assignment: Static
*c xConfiguration IP Address: "10.47.8.20"
*c xConfiguration IP SubnetMask: "255.255.248.0"
*c xConfiguration IP Gateway: "10.47.8.1"
OK
2.3.3 Configuration set (write)
To set configurations, the address expression following the configuration-type root command
must end with a colon. The value to be set must be added after the colon:
<configuration-type root command> <address expr>: value
24
Example 2.9
User wants to set IP assignment:
xconfiguration ip assignment: static
or
xconfiguration ip/assignment: static
TANDBERG MPS API
User Guide
25
2.4 The Command-type root
commands - xcommand
TANDBERG MPS API
User Guide
To get an overview of the supported commands within a command-type root command, type ?
or help after the command-type root command.
NOTE! Required parameters are identified by an “(r)” behind the parameter name.
User Guide
2.4.2 Issuing a com
A command must start with a command-type root command, followed by a command name,
followed by a set of parameters. Parameters values can either be specified by a mark-up
notation or by placing the parameter values in the sequence specified by the help text – or a
combination of these methods.
Markup notation
<comma
When using this notation, the sequence the parameters are entered is unessential:
<command-type root command> <command> <value> <value>...
When using this notation the parameter values must be entered in the sequence as stated in
the help text:
Example 2.16
xcommand dial 666 10 128 on
Combination
A combin
ation of mark-up notation and sequence are also supported. The marked parameters
will be assigned the user entered values first, and then the system will assign the sequence
entered parameters for the parameters not yet having been assigned a value:
Example 2.17
xcommand dial 666 r:on 10 128
Command response
Whe
n issuing a command, the system will return a set of return values, ref. the documentation
of the TANDBERG XML API. The response will be on the same format as the standard XACLI
Status format.
Example 2.18
xcommand dial 10.47.15.127
*r Result (status=OK):
CallRef: 1
LogTag: 6
*r/end
OK
NOTE! When using XACLI as a machine-machine interface it is recommended to use markup
notation and always supply complete tag names.
28
2.5 XML Output - xgetxml
TANDBERG MPS API
User Guide
As an alternative to the standard XACLI output format, XML format is supported through the
root command xgetxml. xgetxml takes an XPath expression as parameter and the elements (or
complete document) matching the expression will be returned.
In addition to the root commands described above, XACLI support a set of root commands that
only applies to the Telnet session or RS232 session from where they are issued. This lets the
user/control application individually configure the session(s) in use.
Supported special commands:
xfeedback (not supported on all platforms)
•
xpreferences
•
2.6.1 xfeedback
The special command xfeedback lets the user register user defined XPath expressions (with
possible exposure options) to monitor changes in the XML/XACLI data. Whenever there is a
change in one or more elements addressed by a registered XPath expression, the part of the
element structure containing these changes will be returned. The system supports a total of 20
registered expressions, with a total of 15 expressions for one session.
NO CARRIER
*s Call 1 (status=Disconnected, type=NA, protocol=NA, direction=NA):
*s/end
When conditional XPath expressions are used, the system will provide feedback on all elements
within the address the first time the condition is true.
Example 2.23
User wants to monitor call changes only when the call is in Synced state. By registering the
below expression, the system will not provide feedback on the call before it reaches the Synced
state. When it first enters the Synced state it will provide status for the complete call. After this,
the system will only give feedback on elements changing values (provided that the call is still in
Synced state).
xfeedback register status/call[@status="Synced"]
OK
xcom dial 10.47.15.127
*r Result (status=OK):
CallRef: 1
LogTag: 5
*r/end
OK
CONNECT
*s Call 1 (status=Synced, type=Vtlph, protocol=H323,
direction=Outgoing):
CallRate: 768
RemoteNumber: "10.47.15.127"
Mute: Off
Microphone: Off
Duration: 0
Channels 1 (type=Incoming):
Rate: 768
Restrict: Off
Encryption (status=Off): /
Audio (status=Active):
Protocol: G722
Rate: 64
Video 1 (status=Active):
Protocol: H263
Resolution: CIF
Rate: 704
Video 2 (status=Inactive): /
Data (status=Inactive): /
Channels 2 (type=Outgoing):
32
Rate: 768
Restrict: Off
Encryption (status=Off): /
Audio (status=Active):
Protocol: G722
Rate: 64
Video 1 (status=Active):
Protocol: H263+
Resolution: ICIF
Rate: 704
Video 2 (status=Inactive): /
Data (status=Inactive): /
*s/end
This command disables/enables the XPath engine when issuing configurations. When the
XPath engine is disabled, the user/control application must supply the complete path to the
configurations to be set (no “double slashes” allowed). This will improve the performance of the
system when issuing many consecutive configurations.
NOTE! It is always recommended to supply the complete path for configurations to be set when
issuing commands from an external control application.
33
TANDBERG MPS API
User Guide
xpreferences detaillevel <1..2>
Most information elements accessible by the status-type root commands are d efined to be
level1 information. However there are some information elements which are defined to be level2
information. When reading status information, only the information elements with a detail level
equal to or less than the detaillevel defined for the interface will be listed.
This section gives an overview of the Configuration Information available in the Configuration
XML documents (configuration.xml / directory.xml) and the Configuration root commands
(xconfiguration / xdirectory) of the XACLI interface.
All examples are presented using the standard XACLI format.
IP [1..2] SubnetMask: <S: 0, 15>
IP [1..2] Gateway: <S: 0, 15>
IP [1..2] DNS Server [1..5] Address: <IPv4v6Addr: 0, 43>
IP [1..2] DNS Domain Name: <S: 0, 64>
IP [1..2] Description: <S: 0, 16>
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
52
ConferenceStop
TANDBERG MPS API
User Guide
• Description Textual description of the cause code.
Example:
xcommand conferencestart conference:1
*r Result (status=OK):
*r/end
OK
Command used to stop a conference. All active calls must be
disconnected prior to stopping the conference.
Parameters:
• Conference(r): <1..35>
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
ConferenceShowDuration
ConferenceTerminate
Example:
xcommand conferencestop conference:1
*r Result (status=OK):
*r/end
OK
Command used to show remaining time of conference.
Parameters:
• Conference(r): <1..15>
• Time(r): <1Min/5Min/10Min/Off>
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the call was not accepted
by the system
•Description Textual description of the cause code.
Command used to terminate a conference.
Parameters:
• Conference(r): <1..35>
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand ConferenceTerminate conference:1
*r Result (status=OK):
53
DefaultValuesSet
Dial
TANDBERG MPS API
User Guide
*r/end
OK
Command used to reset configurations to default values.
Parameters:
•Level: <1..3> Configurations are divided into three different storage
classes. The level parameter denotes that configurations on this level
and all levels below are to be reset.
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand defaultvaluesset level:2
*r Result (status=OK):
*r/end
OK
Command used to initiate an outgoing call.
Parameters:
• Conference(r): <1..35>
• Number: <S: 0, 60> Number to dial.
• SecondNumber: <S: 0, 60> 2Xh221 second number
• SubAddress: <S: 0, 60> Sub address
• CallRate:
<1xh221/2xh221/64/128/192/256/320/384/H0/512/768/1152/1472/15
36/1920/Tlph> Specifies the callrate to use
• Restrict: <On/Off>
• NetProfile: <1..7>
• NetworkId: <1..32>
• NetworkModule: <1..12>
• DTMFSend: <S: 0, 32>
OK Result parameters:
•CallRef: <1..96> Reference to the call. To be used as reference
when monitoring the call.
•LogTag: <1…> Unique reference to call. Identifies the call in the call
log.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the call was not accepted
by the system
• Description Textual description of the cause code.
*r Result (status=OK):
CallRef: 26
LogTag: 312
*r/end
54
DialGroupEntry
TANDBERG MPS API
User Guide
OK
Command used to dial an entry from the Group Directory. Dialing from the
Group Directory makes it possible to set up a MultiSite conference in one
operation.
Parameters:
• Conference(r): <1..35>
• GroupEntryId(r): <1..16> Reference to the directory entry to be
dialed.
OK Result parameters:
The system will return the following elements for each call initiated.
•CallRef: <1..96> Reference to the call. To be used as reference
when monitoring the call.
•LogTag: <1…> Unique reference to call. Identifies the call in the call
log.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the call was not accepted
by the system
• Description Textual description of the cause code.
•Cause: <1…> Cause code specifying why the call was not accepted
by the system
• Description Textual description of the cause code.
Command used to remove a dial in number.
Parameters:
• Conference(r): <1..15>
• NetProfile(r): <2..7>
• Number(r): <S: 0, 60>
• CallerId: <S: 0, 60>
ERROR Result parameters:
55
DialLocalEntry
DisconnectCall
TANDBERG MPS API
User Guide
•Cause: <1…> Cause code specifying why the call was not accepted
by the system
• Description Textual description of the cause code.
Command used to dial a number from the locally stored directory.
Parameters:
• Conference(r): <1..35>
• LocalEntryId(r): <1..99> Reference to the directory entry to be
dialed.
OK Result parameters:
•CallRef: <1..96> Reference to the call. To be used as reference
when monitoring the call.
•LogTag: <1…> Unique reference to call. Identifies the call in the call
log.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the call was not accepted
by the system
• Description Textual description of the cause code.
Example:
xcommand diallocalentry localentryid:15
*r Result (status=OK):
CallRef: 1
LogTag: 312
*r/end
OK
Command used to disconnect a call.
DisconnectGWCall
Parameters:
• Call(r): <1..176> Reference to the call to be disconnected.
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand disconnectcall call:9
*r Result (status=OK):
*r/end
OK
Command used to disconnect a gateway call.
Parameters:
• GatewayCall(r): <1..80> Reference to the call to be disconnected.
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
56
FeedbackDeregister
TANDBERG MPS API
User Guide
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand disconnectgwcall gatewaycall:1
*r Result (status=OK):
*r/end
OK
Command used to deregister XML feedback over HTTP(S).
Parameters:
• ID: <1..3> ID for the registration to deregister.
OK Result parameters:
• ID: <1..3>
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
FeedbackRegister
Example:
xcommand feedbackderegister id:1
*r Result (status=OK):
ID: 2
*r/end
OK
Command used to instruct the system to return XML feedback over
HTTP(S) to specific URLs. The parts of the Status and Configuration XML
documents to monitor are specified by XPath expressions.
The system supports issuing feedback to 3 different URLs.
The system allows a total of 20 XPath expressions to be registered, with a
maximum of 15 for a single URL.
Parameters:
•ID: <1..3> ID for the registration. If this parameter is omitted the
system uses the first vacant ID.
• URL(r): <S: 0, 256> The URL to post feedback to.
• Expression.1..15: <S: 0, 256> XPath expression
OK Result parameters:
• ID: <1..3>
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand feedbackregister url:http://10.47.14.185:8000
expression.1:status/call
expression.2:status/conferenc
e
*r Result (status=OK):
ID: 2
57
FloorToSite
FloorToSiteEnd
TANDBERG MPS API
User Guide
*r/end
OK
Command used to assign floor to a specific site in a conference.
Parameters:
• Conference(r): <1..35>
• MCUID(r): <1..191> MCUID to the MultiSite the site is connected to.
• TerminalID(r): <1..191> The site’s terminal id, referenced to the
MultiSite it is connected to.
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to end the assignment of floor to a specific site in a
conference supporting. Requires that the command FloorToSite has been
issued in advance.
GroupEntryAdd
Parameters:
• Conference(r): <1..35>
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand floortositeend
*r Result (status=OK):
*r/end
OK
Command used to add a new Group entry to the locally stored Group
Directory (or MultiSite Directory). The entry is stored in the first vacant
position in the Group Directory.
Parameters:
• Name: <S: 0, 48> The entry’s name.
• LocalEntryId.1..32: <1..99>References to local entry ids to be
included in this Group entry.
OK Result parameters:
58
GroupEntryDelete
TANDBERG MPS API
User Guide
•GroupEntryId: <1..16> Reference to the Group Directory position
the entry is stored.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to delete an entry in the locally stored Group Directory.
Parameters:
• GroupEntryId(r): <1..16> Reference to the entry to delete.
LayoutLock
LayoutUnLock
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand groupentrydelete groupentryid:15
*r Result (status=OK):
*r/end
OK
Command use to lock a call id (e.g. a participant) to a given window in the
CP layout. The numbering goes from left to right, starting with window
number one at the top row. Note: If ConferenceSelfview is set to Off it is
only possible to lock the call id to window number one.
Parameters:
• Window(r): <1..16>
• CallID(r): <1..176> Call.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
•Description Textual description of the cause code.
Command use to unlock a locked call id (e.g. a participant) from a given
window in the CP layout. The numbering goes from left to right, starting
with window number one at the top row. Note: Both the window id and the
call id must be defined.
Parameters:
59
LocalEntryAdd
TANDBERG MPS API
User Guide
• Window(r): <1..16>
• CallID(r): <1..176> Call.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
•Description Textual description of the cause code.
Command used to add a new entry to the locally stored Directory. The
entry is stored in the first vacant position in the Directory.
Parameters:
• Name: <S: 0, 48> The entry’s name.
• Number: <S: 0, 60> The entry’s number.
• SecondNumber: <S: 0, 60> The entry’s second number (2XH221
number).
• SubAddress: <S: 0, 60> The entry’s sub address.
• CallRate:
<1xh221/2xh221/64/128/192/256/320/384/H0/512/768/1152/1472/15
36/1920/Tlph> The callrate to use when calling this entry.
•Restrict: <On/Off> Whether to use restrict or not when calling this
entry.
• NetProfile: <1..7> The Net Profile to use when calling this entry.
• NetworkId: <1..32>
• NetworkModule: <1..6>
LocalEntryDelete
OK Result parameters:
•LocalEntryId: <1..250> Reference to the Directory position the entry
is stored.
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to delete an entry in the locally stored Directory.
Parameters:
• LocalEntryId(r): <1..99> Reference to the entry to delete.
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Example:
xcommand localentrydelete localentryid:66
60
OptionKeyAdd
OptionKeyDelete
TANDBERG MPS API
User Guide
*r Result (status=OK):
*r/end
OK
Command used to add option key.
Parameters:
• Key(r): <S: 0, 90> Option key string
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to remove option key.
Parameters:
• OptionKeyId(r): <1..64> Option key Id to remove
OK Result parameters:
None
ParticipantMove
ProtectNumberAdd
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to move participant from from one conference to another
conference.
Parameters:
• FromConferenceItem(r): <1..35> Conference to move from
• CallItem(r): <1..176> Call to move
• ToConferenceItem(r): <1..35> Conference to move to.
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to add a protect number.
Parameters:
• Conference(r): <1..15> Conference to add number
• NetProfile(r): <2..7> Net profile of number
• Number(r): <S: 0, 60> Number to add
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
61
TANDBERG MPS API
User Guide
ProtectNumberRemove
VideoTextSet
Command used to remove a protect number.
Parameters:
• Conference(r): <1..15> Conference to remove number
• NetProfile(r): <2..7> Net Profile to remove
• Number(r): <S: 0, 60> Number to remove
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
Command used to set video text for a call.
Parameters:
• CallItem(r): <1..176> Call to set text to
• Text: <S: 0, 61> The text to set
• Visible: <On/Off> If text is visible
OK Result parameters:
None
ERROR Result parameters:
•Cause: <1…> Cause code specifying why the command was not
accepted by the system
• Description Textual description of the cause code.
62
5 API - Status
TANDBERG MPS API
User Guide
This section gives an overview of the Status Information available in the Status XML
documents (status.xml / history.xml) and the Status root commands (xstatus / xhistory) of the
XACLI interface.
All examples are presented using the standard XACLI format.
63
5.1 status.xml – xstatus
TANDBERG MPS API
User Guide
Call [1..160] Top level attributes:
• conferenceRef: 1..9
• direction: Incoming/Outgoing
• logTag: 1… Unique number identifying the call. This tag can be
used to track the call in the call log (history.xml / xhistory).
• Includes references to the calls being connected to the
conference
• DuoVideo status
• Includes information about the pictures generated by the
MultiSite
• Cascading status
• MCU Site list
• On Air information
Examples:
*s Conference 1 (status=NotStarted): /
*s/end
*s Conference 1 (status=Started):
MCUID: 85
Properties:
Name: "Marius sin"
CallRate: 384
Restrict: Off
Password: ""
PasswordOnOutgoingCalls: Off
Dynamic: On
ID: ""
Encryption: Off
EncryptionType: Auto
WelcomeMessage: On
DuoVideo: On
AudioG728: On
CascadingPreference: Auto
BillingCode: ""
CPAutoSwitch: 0
PictureMode: VS
VideoFormat: Auto
CustomFormats: On
AGC: On
AllowIncomingCalls: On
Duration: 0
MaxAudioSites: 0
MaxVideoSites: 0
EntryExitTones: On
LegacyLevel: 0
TelephoneFilter: On
FloorToFull: On
WebCallListTimeout: On
BandwidthThreshold: 128
NetworkId: 1
ConferenceSelfview: On
PhoneIndication: On
SpeakerIndication: On
VideoText: On
VideoTextTimeout: 2
ChairControl: On
LectureMode: Off
Protect: Off
VideoCodingMode: Transcoding
SecondaryRate: On
66
TANDBERG MPS API
FarTlphEchoSupression: Normal
NetErrorHandling: None
IPLRRobustMode: Auto
FURBlockSites: Auto
FURFilterInterval: 3
HDEnabled: Off
VoiceSwitchTimeout: 2
OptimalVideoQuality: On/Off
EncoderSelectionPolicy:
BestBitRate/BestVideoStandard
BandwidthManagement: Auto/Manual
WebSnapshots: On/Off
AutoAspectRatio4x3: Off
*s/end
Picture: NA
CallRef: None
Window 6:
Picture: NA
CallRef: None
OutgoingPicture 3 (name=Duo):
Layout (type=NA): /
PictureModeActual: Full
MCUID: 1
CascadingMode: StandAlone
MCUSiteList:
Site 1:
MCUID: 1
TerminalID: 2
Name: "System1"
CallRef: 1
Site 2:
MCUID: 1
TerminalID: 3
Name: "System2"
CallRef: 2
Site 3:
MCUID: 1
TerminalID: 4
Name: "System3"
CallRef: 3
IPOnly: On
FullySwitched: Off
Dynamic: Off
Hybrid: On
Properties:
Name: "TCS Test"
CallRate: 384
Restrict: Off
Password: ""
PasswordOnOutgoingCalls: Off
Dynamic: Off
Encryption: Off
EncryptionType: Auto
WelcomeMessage: On
DuoVideo: On
AudioG728: On
CascadingPreference: Auto
BillingCode: ""
CPAutoSwitch: 0
PictureMode: 4Split
VideoFormat: Auto
CustomFormats: On
AGC: On
AllowIncomingCalls: On
Duration: 0
MaxAudioSites: 8
MaxVideoSites: 40
EntryExitTones: On
LegacyLevel: 0
TelephoneFilter: On
FloorToFull: On
WebCallListTimeout: Off
BandwidthThreshold: 128
NetworkId: 1
ConferenceSelfview: On
TANDBERG MPS API
User Guide
68
PhoneIndication: On
SpeakerIndication: On
VideoText: On
VideoTextTimeout: 5
ChairControl: Off
LectureMode: Off
Protect: Off
VideoCodingMode: Transcoding
SecondaryRate: Off
FarTlphEchoSupression: Normal
NetErrorHandling: None
IPLRRobustMode: Auto
FURBlockSites: Auto
FURFilterInterval: 3
HDEnabled: Off
VoiceSwitchTimeout: 2
*s/end