Reference8:PBX Configuration API
Starting with v6 a new Web User Interface has been implemented to configure the PBX. The same interface can be used by applications for configuration. The interface is based on the mechanism used by web forms. This means a string containing a list of named arguments is sent to the PBX and the PBX returns an XML document.
There are different ways to send the argument list to the PBX: HTTP GET, HTTP POST, SOAP.
Transport Methods
HTTP GET
The arguments are sent as part of the URL. The URL to be used has the following form:
<ip>/<PBX-Entity>/ADMIN/mod_cmd_login.xml?argument1=value1&argument2=value2&...
Example
192.168.0.1/PBX0/ADMIN/mod_cmd_login.xml?cmd=submit-object&cn=Test&e164=111&h323=test
HTTP POST
to be done
SOAP
to be done
mod cmd
The commands can also be sent via the command processor, which can be accessed with telnet or the update script or a '!' URL on the browser. The format of the command is in this case
!mod cmd <PBX-Entity>/ADMIN <command> /argument1 value1 /argument2 value2 ...
The first argument is implicitly cmd.
Example
!mod cmd PBX0/ADMIN submit-object /cn Test /e164 111 /h323 test
Arguments
In general the sequence of the arguments is not importent except in some cases in which a list of configuration items can be sent, with each item being described by multiple arguments.
cmd
The argument cmd is used to identify which command shall be executed. Depending on the argument cmd other arguments are available.
xsl
This argument is put as reference to an XSL file into the XML file returned.
guid
Hexstring containing the GUID of an object to be changed. This argument may be ommitted only if a new object shall be created. A value of * indicates that the argument cn shall be used to identify the object instead.
cn
The Long Name of an object. Used to identify an existing object if guid is set to *
cmd=submit-object
Used to create/change/delete objects.
h323 | The name of the object |
e164 | The number of the object |
gi | Configures the group for which group indications are sent to the registered endpoints |
rej-ext | If set to on, the Reject external Calls property is set |
phone-config | If set to on, the PBX stores the config for phones registered to this object |
pseudo | This argument defines the type of object to be set. If omitted a user object is created |
pseudo=waiting
...
cmd=submit-groups
Used to change group membership configuration of a user. With a single command the complete list of group memberships is sent, which replaces the existing list of group memberships.
A single group membership is configured with the following arguments in exactly this order. For multiple group memberships this can be repeated.
grp-name | Name of the group |
grp-active | If this argument is set to on the group membership is set to active |
grp-dyn | If this argument is set to in, the group membership is dynamic with preset to be in the group, if this argument is set to out the group membership is dynamic with preset to be not in the group. If this argument is missing or empty, the group membership is static |
grp-add | Marks the end of the group membership definition, must be present |
cmd=submit-forks
Used to change forking configuration of a user. With a single command the complete list of forking destinations is sent, which replaces the existing list of forking destinatios.
A single forking destination is configured with the following arguments in exactly this order. For multiple forking destinations this can be repeated.
e164 | Forking destination number |
h323 | Forking destination name |
mobility | Long Name of a mobility object associated with this forking destination |
hw | Device id used on SOAP to control calls with this forking destination |
delay | Delay for calls sent out to the forking destination |
fork | Indicates the end of the forking destination configuration |
Examples
Change an existing Object
The command submit-object
can be used to change an existing PBX Object. If you already know the guid
of the object, you can use it to refer to the desired object. Otherwise use guid=*
and refer to the object by using cn
(known as Long Name):
/PBX0/ADMIN/mod_cmd_login.xml?cmd=submit-object&cn=MyObjectsLongName&h323=SomeChangedName&guid=*