TANDBERG MPS API User Manual

Manual is about: TANDBERG MPS API User Guide

Summary of MPS API

  • Page 1

    Tandberg mps api user guide tandberg d13639 rev 07 march 2008.

  • Page 2: Table of Contents

    Tandberg mps api user guide ii table of contents user guide................................................................................................................................. 1 1 the tandberg api..............................................................................................

  • Page 3: 1 The Tandberg Api

    Tandberg mps api user guide 1 1 the tandberg api 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 transm...

  • Page 4: 1.1 Introduction to Xml

    Tandberg mps api user guide 2 1.1 introduction to xml 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, “/”. A...

  • Page 5

    Tandberg mps api user guide 3 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: 768 10.47.15.127 g722 64 h263 cif 704 g722 64 h264 sif 704 in this example, the attributes are used to provide valuable information in addition to ...

  • Page 6

    Tandberg mps api user guide 4 1 auto.

  • Page 7: 1.2 Introduction to Xml Path

    Tandberg mps api user guide 5 1.2 introduction to xml path language (xpath) 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 el...

  • Page 8

    Tandberg mps api user guide 6 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 a...

  • Page 9: 1.3 The Tandberg Xml Engine

    Tandberg mps api user guide 7 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 • feedb...

  • Page 10

    Tandberg mps api user guide 8 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..

  • Page 11: 1.4 The Xml Documents

    Tandberg mps api user guide 9 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): documen...

  • Page 12

    Tandberg mps api user guide 10 10.47.8.41:2326 aes-128 off 0 64 367 0 0 . . . --- direction="outgoing"> 384 on 8796 off off 25 384 off g722 56 . . . Direction="outgoing"> 384 on 8796 off off 25 384 off g722 56 . . . --- direction="na"> 255 direction="na"> 255 in the above example we see that the bon...

  • Page 13

    Tandberg mps api user guide 11 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. > valuespaceref=...

  • Page 14

    Tandberg mps api user guide 12 valuespaceref="/valuespace/bandwidth"/> valuespaceref="/valuespace/onoff"/> valuespaceref="/valuespace/netprofileref"/> to issue a command, the command structure is posted back to the system together with values for the various parameters. Optional parameters can be om...

  • Page 15

    Tandberg mps api user guide 13 example 14 below is an example of the dial command, not being accepted by the system: 17 too much bandwidth requested.

  • Page 16: Api Service (Txas)

    Tandberg mps api user guide 14 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). T...

  • Page 17

    Tandberg mps api user guide 15 1.6 exercises the exercises in this section are based on using a tandberg 6000 mxp codec and 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 wi...

  • Page 18

    Tandberg mps api user guide 16 2400 off off --- 10.47.8.42 ---.

  • Page 19: 2 The Xml-Based Advanced

    Tandberg mps api user guide 17 2 the xml-based advanced command line interface 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 man...

  • Page 20: 2.1 Xacli

    Tandberg mps api user guide 18 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 th...

  • Page 21

    Tandberg mps api user guide 19 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. Supported exposure options: • “-“ hides all value elements • “--" h...

  • Page 22

    Tandberg mps api user guide 20 audio (status=active): video 1 (status=active): video 2 (status=inactive): / data (status=inactive): / channels 2 (type=outgoing): encryption (status=off): / audio (status=active): video 1 (status=active): video 2 (status=inactive): / data (status=inactive): / *s/end r...

  • Page 23: – Xstatus / Xhistory

    Tandberg mps api user guide 21 2.2 the status-type root commands – xstatus / xhistory 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 elements within a status-type root co...

  • Page 24

    Tandberg mps api user guide 22 o xacli is using indent spaces to present the data structure o xacli hides instance number (item number in xml) of an element if there only exist one instance of a given element o a status top level element starts with “*s” example 2.5 shows xml formatting and xacli fo...

  • Page 25: Commands -

    Tandberg mps api user guide 23 2.3 the configuration-type root commands - xconfiguration/xdirectory 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,...

  • Page 26

    Tandberg mps api user guide 24 ?/help example 2.7 user wants to configure ip: xconfiguration ip ? *h xconfiguration ip assignment: *h xconfiguration ip address: *h xconfiguration ip subnetmask: *h xconfiguration ip gateway: note! Only typing xconfiguration ?, actually addresses all configuration ele...

  • Page 27

    Tandberg mps api user guide 25 example 2.9 user wants to set ip assignment: xconfiguration ip assignment: static or xconfiguration ip/assignment: static.

  • Page 28: 2.4 The Command-Type Root

    Tandberg mps api user guide 26 2.4 the command-type root commands - xcommand to get an overview of the supported commands within a command-typeroot command, type ? Or help after the command-type root command. ? Example 2.10 xcommand ? - user commands - boot duovideostart messageboxdisplay callaccept...

  • Page 29

    Tandberg mps api user guide 27 example 2.12 xcommand dial ? *h xcommand dial number(r): subaddress: callrate: restrict: netprofile: ok note!Required parameters are identified by an “(r)” behind the parameter name. 2.4.2 issuing a command a command must start with a command-typeroot command, followed...

  • Page 30

    Tandberg mps api user guide 28 sequence notation ... 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 combination of mark-up notation and sequence are also supported. The marked parameters...

  • Page 31: 2.5 Xml Output - Xgetxml

    Tandberg mps api user guide 29 2.5 xml output - xgetxml 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. Ex...

  • Page 32: 2.6 Special Commands

    Tandberg mps api user guide 30 2.6 special commands 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)...

  • Page 33

    Tandberg mps api user guide 31 example 2.21 exposure options are also supported together with feedback. User only wants to monitor call setup progression. Xfeedback register status/call-- ok xcom dial 10.47.15.127 *s call 1 (status=establout, type=vtlph, protocol=h323, direction=outgoing): *s/end *r...

  • Page 34

    Tandberg mps api user guide 32 *s/end xcom disc *r result (status=ok): / *r/end ok 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 th...

  • Page 35

    Tandberg mps api user guide 33 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 …suddenly there is a change in audio prot...

  • Page 36

    Tandberg mps api user guide 34 xpreferences detaillevel most information elements accessible by the status-type root commands are defined to be level1 information. However there are some information elements which are defined to be level2 information. When reading status information, only the inform...

  • Page 37

    Tandberg mps api user guide 35 2400 xpreferences xmlstatusfeedback if xmlstatusfeedback is set to on, all status feedback will be returned in xml-format instead of the standard xacli status format. Example 2.26 xacli-format: *s call 1 (status=synced, type=vtlph, protocol=h323, direction=outgoing): c...

  • Page 38: 3 Api - Configurations

    Tandberg mps api user guide 36 3 api - configurations 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 example...

  • Page 39: 3.1 Configuration.Xml –

    Tandberg mps api user guide 37 3.1 configuration.Xml – xconfiguration allowincomingtlphcall allowincomingtlphcall: conference conference [1..35] numbers e164alias: conference [1..35] numbers pri: conference [1..35] numbers h323id: conference [1..35] numbers sip uri: conferencetemplate conferencetemp...

  • Page 40

    Tandberg mps api user guide 38 conferencetemplate [1..10] entryexittones: conferencetemplate [1..10] welcomemessage: conferencetemplate [1..10] legacylevel: conferencetemplate [1..10] duovideo: conferencetemplate [1..10] audiog728: conferencetemplate [1..10] cascadingpreference: conferencetemplate [...

  • Page 41

    Tandberg mps api user guide 39 conferencetemplate [1..10] optimalvideoquality: conferencetemplate [1..10] encoderselectionpolicy: conferencetemplate [1..10] bandwidthmanagement: conferencetemplate [1..10] websnapshots: conferencetemplate [1..10] autoaspectratio4x3: ethernet ethernet [1..2] speed: ex...

  • Page 42

    Tandberg mps api user guide 40 h323gatekeeper [1..2] authentication password: http http mode: https https mode: ipprotocol ipprotocol: ip ip [1..2] address: ip [1..2] subnetmask: ip [1..2] gateway: ip [1..2] dns server [1..5] address: ip [1..2] dns domain name: ip [1..2] description: isdninterfaceca...

  • Page 43

    Tandberg mps api user guide 41 isdninterfacecard [1..6] isdn pri interface [1..8] maxchannels: isdninterfacecard [1..6] isdn pri interface [1..8] highchannel: isdninterfacecard [1..6] isdn pri interface [1..8] lowchannel: isdninterfacecard [1..6] isdn pri interface [1..8] search: isdninterfacecard [...

  • Page 44

    Tandberg mps api user guide 42 los polarity: los retry: mcu mcu additiveregenable: mcu h264: mcu h264rcdo: mediaboard mediaboard [1..12] ip address: mediaboard [1..12] ip subnetmask: mediaboard [1..12] ip gateway: mediaboard [1..12] ip networkid: mediaboard [1..12] ethernet speed: mediaboard [1..12]...

  • Page 45

    Tandberg mps api user guide 43 qos [1..2] precedence telephony signalling: qos [1..2] precedence videotelephony audio: qos [1..2] precedence videotelephony signalling: qos [1..2] precedence videotelephony video: qos [1..2] precedence videotelephony data: qos [1..2] diffserv telephony audio: qos [1.....

  • Page 46

    Tandberg mps api user guide 44 singlenumberdialin singlenumberdialin active: singlenumberdialin numbers isdn: singlenumberdialin numbers ip: singlenumberdialin numbers h323alias: singlenumberdialin numbers h323id: singlenumberdialin numbers sip: singlenumberdialin password: singlenumberdialin number...

  • Page 47

    Tandberg mps api user guide 45 defaultipconference: terminalsynclosstimer: gatekeeperadhocstring: trafficshaping: outbanddtmf: languageadmin: languagegraphic: defaultconferencetemplate: telnet telnet mode: * the gateway loadlimit command will not be available if 1) mps doesn't have gw option; 2) mps...

  • Page 48

    Tandberg mps api user guide 46 3.2 directory.Xml – xdirectory localentry localentry [1..250] name: localentry [1.. 250] number: localentry [1.. 250] secondnumber: localentry [1.. 250] subaddress: localentry [1.. 250] callrate: max/auto> localentry [1.. 250] restrict: localentry [1.. 250] netprofile:...

  • Page 49: 4 Api - Commands

    Tandberg mps api user guide 47 4 api - commands this section gives an overview of the supported system commands. All examples are presented using the standard xacli format..

  • Page 50: 4.1 Command.Xml – Xcommand

    Tandberg mps api user guide 48 4.1 command.Xml – xcommand boot command used to reboot the system. Parameters: none ok result parameters: none error result parameters: • cause: cause code specifying why the command was not accepted by the system • description textual description of the cause code. Ex...

  • Page 51

    Tandberg mps api user guide 49 • cause: cause code specifying why the command was not accepted by the system • description textual description of the cause code. Example: xcommand callmute call:2 mode:on *r result (status=ok): *r/end ok callmuteoutgoing command used to mute outgoing audio from a spe...

  • Page 52

    Tandberg mps api user guide 50 callmutevideo command used to mute incoming video from a specific call. Parameters: • call(r): reference to the call to be muted or unmuted. • mode(r): denotes whether video is to be muted or unmuted. Ok result parameters: none error result parameters: • cause: cause c...

  • Page 53

    Tandberg mps api user guide 51 • entryexittones: • legacylevel: • telephonefilter: • floortofull: • bandwidththreshold: • webcalllisttimeout: • phoneindication: • speakerindication: • videotext: • videotexttimeout: • chaircontrol: • lecturemode: • neterrorhandling: • iplrrobustmode: • furblocksites:...

  • Page 54

    Tandberg mps api user guide 52 • audiog728: • cascadingpreference: • billingcode: • cpautoswitch: • networkid: • conferenceselfview: • protect: • templatereference: • hdenabled: ok result parameters: none error result parameters: • cause: cause code specifying why the command was not accepted by the...

  • Page 55

    Tandberg mps api user guide 53 • description textual description of the cause code. Example: xcommand conferencestart conference:1 *r result (status=ok): *r/end ok conferencestop command used to stop a conference. All active calls must be disconnected prior to stopping the conference. Parameters: • ...

  • Page 56

    Tandberg mps api user guide 54 *r/end ok defaultvaluesset command used to reset configurations to default values. Parameters: • level: 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. ...

  • Page 57

    Tandberg mps api user guide 55 ok dialgroupentry 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): • groupentryid(r): reference to the directory entry to be dialed...

  • Page 58

    Tandberg mps api user guide 56 • cause: cause code specifying why the call was not accepted by the system • description textual description of the cause code. Diallocalentry command used to dial a number from the locally stored directory. Parameters: • conference(r): • localentryid(r): reference to ...

  • Page 59

    Tandberg mps api user guide 57 accepted by the system • description textual description of the cause code. Example: xcommand disconnectgwcall gatewaycall:1 *r result (status=ok): *r/end ok feedbackderegister command used to deregister xml feedback over http(s). Parameters: • id: id for the registrat...

  • Page 60

    Tandberg mps api user guide 58 *r/end ok floortosite command used to assign floor to a specific site in a conference. Parameters: • conference(r): • mcuid(r): mcuid to the multisite the site is connected to. • terminalid(r): the site’s terminal id, referenced to the multisite it is connected to. Ok ...

  • Page 61

    Tandberg mps api user guide 59 • groupentryid: reference to the group directory position the entry is stored. Error result parameters: • cause: cause code specifying why the command was not accepted by the system • description textual description of the cause code. Example: xcommand groupentryadd na...

  • Page 62

    Tandberg mps api user guide 60 • window(r): • callid(r): call. Error result parameters: • cause: cause code specifying why the command was not accepted by the system • description textual description of the cause code. Localentryadd command used to add a new entry to the locally stored directory. Th...

  • Page 63

    Tandberg mps api user guide 61 *r result (status=ok): *r/end ok optionkeyadd command used to add option key. Parameters: • key(r): option key string ok result parameters: none error result parameters: • cause: cause code specifying why the command was not accepted by the system • description textual...

  • Page 64

    Tandberg mps api user guide 62 protectnumberremove command used to remove a protect number. Parameters: • conference(r): conference to remove number • netprofile(r): net profile to remove • number(r): number to remove ok result parameters: none error result parameters: • cause: cause code specifying...

  • Page 65: 5 Api - Status

    Tandberg mps api user guide 63 5 api - status 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...

  • Page 66: 5.1 Status.Xml – Xstatus

    Tandberg mps api user guide 64 5.1 status.Xml – xstatus 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). • protocol: h320/h323 • s...

  • Page 67

    Tandberg mps api user guide 65 localipaddress: "10.47.9.150:2344" encryption (status=off): / rsvp: off rsvprate: 0 dynamicrate: 157 totalpackets: 476674 packetloss: 1 jitter: 10 video 2 (status=active): protocol: h263+ resolution: xga rate: 160 remoteipaddress: "" localipaddress: "10.47.9.150:2346" ...

  • Page 68

    Tandberg mps api user guide 66 conference [1..40] top level attributes: • status: notstarted/started/active summary: • includes references to the calls being connected to the conference • duovideo status • includes information about the pictures generated by the multisite • cascading status • mcu si...

  • Page 69

    Tandberg mps api user guide 67 fartlphechosupression: normal neterrorhandling: none iplrrobustmode: auto furblocksites: auto furfilterinterval: 3 hdenabled: off voiceswitchtimeout: 2 optimalvideoquality: on/off encoderselectionpolicy: bestbitrate/bestvideostandard bandwidthmanagement: auto/manual we...

  • Page 70

    Tandberg mps api user guide 68 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...

  • Page 71

    Tandberg mps api user guide 69 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 fur...

  • Page 72

    Tandberg mps api user guide 70 *s/end h323gatekeeper [1..2] top level attributes: • status:required/discovering/discovered/authenticating/ authenticated/registering/registered/rejected/inactive summary: • returns h323gatekeeper status examples: *s h323gatekeeper 1 (status=inactive): / *s/end *s h323...

  • Page 73

    Tandberg mps api user guide 71 example *s mediaboard 1: temperaturecelcius: 30 temperaturefahrenheit: 86 description: "" ip: address: "10.47.9.106" subnetmask: "255.255.248.0" gateway: "10.47.8.1" v6: address 1 (type=na): "" address 2 (type=na): "" ethernet: macaddress: "00:50:60:00:ed:1f" speed: 10...

  • Page 74

    Tandberg mps api user guide 72 serialnumber: "44a00003" mainboard: "113637 mcp 820 system controller" bootsoftware: "ppcbug" used: total: conference: 2 telephony: 0 videotelephony: 1 bchanpri: 0 bandwidth: 384 gateway: gatewaycall: 0 bchanpri: 0 mcu: conference: 2 telephony: 0 videotelephony: 1 band...

  • Page 75

    Tandberg mps api user guide 73 channels 22 (type=bchannel, status=idle): / channels 23 (type=bchannel, status=idle): / channels 24 (type=bchannel, status=idle): / channels 25 (type=bchannel, status=idle): / channels 26 (type=bchannel, status=idle): / channels 27 (type=bchannel, status=idle): / chann...

  • Page 76

    Tandberg mps api user guide 74 causelocation: 2 channelcause: 17 connectiontime: 0 channels 26 (type=bchannel, status=disconnected): callingnumber: "061336971" causelocation: 2 channelcause: 17 connectiontime: 0 channels 27 (type=bchannel, status=disconnected): callingnumber: "061336971" causelocati...

  • Page 77

    Tandberg mps api user guide 75 state: redalarm *s/end externalmanager *s externalmanager: address: "10.47.1.10" protocol: url: "tms/public/external/management/systemmanagementserv ice.Asmx" *s/end ntp *s ntp: address: "127.0.0.1" *s/end sip *s sip: mode: on interface: server (status=active): address...

  • Page 78

    Tandberg mps api user guide 76 uri: "" registration 21 (status=inactive): uri: "" registration 22 (status=inactive): uri: "" registration 23 (status=inactive): uri: "" registration 24 (status=inactive): uri: "" registration 25 (status=inactive): uri: "" registration 26 (status=inactive): uri: "" reg...

  • Page 79

    Tandberg mps api user guide 77 options *s options: option 1: key: "****" description: "40 video telephony ports + 16 telephony ports." option 2: key: "****" description: "advanced video option on 40 sites." option 3: key: "****" description: "encryption on 40 sites." option 4: / option 5: / option 6...

  • Page 80

    Tandberg mps api user guide 78 option 52: / option 53: / option 54: / option 55: / option 56: / option 57: / option 58: / option 59: / option 60: / option 61: / option 62: / option 63: / option 64: / *s/end.

  • Page 81: 5.2 History.Xml – Xhistory

    Tandberg mps api user guide 79 5.2 history.Xml – xhistory call [1..96] top level attributes: • type: tlph/vtlph • protocol: h320/h323/sip • direction: incoming/outgoing • partof: conference/gatewaycall summary: • returns information about disconnected calls examples: *l call 1 (type=vtlph, protocol=...

  • Page 82: 5.3 Event.Xml – Xevent

    Tandberg mps api user guide 80 5.3 event.Xml – xevent authenticationfailure *e authenticationfailure: service: / remoteipaddress: / uptime: / *e/end callfurerroralert *e callfurerroralert: furalert: / rate: / callref: / logtag: / conferenceref: / conferencelogtag: / *e/end callmovedfromreception *e ...

  • Page 83

    Tandberg mps api user guide 81 incoming: audio: totalpackets: / packetloss: / packetsdropped: / maxjitter: / video: totalpackets: / packetloss: / packetsdropped: / maxjitter: / *e/end callsuccessful *e callsuccessful: callref: / logtag: / conferenceref: / conferencelogtag: / servicetype: / protocol:...

  • Page 84

    Tandberg mps api user guide 82 *e/end h320statistics *e h320statistics: callref: / logtag: / conferenceref: / conferencelogtag: / duration: / framingloss: last: / total: / bondingresync: last: / total: / *e/end systemactivity *e systemactivity: service: / remoteipaddress: / uptime: / description: / ...