SOAP API Reference
Note
Web services defined in this section for configuration of the system are all SOAP based services and require administrator privileges to be used.
About SOAP
The SOAP API enables administrators to perform a variety of functions offered by sipxconfig, but without the need to directly interacting with the sipxconfig webui.
The server utilizes the Apache Axis framework.
SOAP base URL
The base URL for the configuration API is the following:
https://host.domain/sipxconfig/services/
SOAP use case examples
Use case examples for the SOAP APIs might be:
Integration of sipxcom functionality with your company Intranet site.
Automate or script processes such as adding or importing users, updating phones, assigning phones to groups, etc.
Customize the sipxconfig webui to suit your needs.
You can use SOAP with WDSL, which is a formal API definition, and generate bindings in your preferred programming language such as Python, Perl, Ruby, Java, and others. It is recommended to select a programming language with good SOAP client support.
Ruby: From the WSDL you can use the SOAP4R project to build client bindings.
Perl: Install SOAP for Perl with:
perl -MCPAN -e 'install SOAP::lite'
Command line: Use the following command:
java -jar $WsdlDocDir/wsdldoc.jar {color}
-title "sipXconfig SOAP API v3.2" {color}
-dir `pwd`"/ws-api-3.2" {color}
http://sipXcom.sipfoundry.org/rep/sipXcom/main/sipXconfig/web/src/org/sipfoundry/sipxconfig/api/sipxconfig.wsdl
Administration Services
The following resources for the Configuration API are only available for users with administration rights.
- Permissions
Add permissions
Find permissions
Manage permissions
- Call Groups
Add call group
Find call groups
WSDL Call Group
- Users
Add users
Find users
Manage users
- Phones
Add phones
Find phones
Manage phones
- Tests
Reset
Permissions
The Permission Web Services supported are SOAP based services. These services use the Web Service Definition Language (WSDL) to define the interfaces supported.
URI
https://host.domain/sipxconfig/services/PermissionService
WSDL
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:intf="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="Permission">
<sequence>
<element name="name" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="label" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="description" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="defaultValue" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="type" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="builtIn" nillable="true" type="xsd:boolean" />
</sequence>
</complexType>
<complexType name="AddPermission">
<sequence>
<element name="permission" type="impl:Permission" />
</sequence>
</complexType>
<element name="AddPermission" type="impl:AddPermission" />
<complexType name="PermissionSearch">
<sequence>
<element maxOccurs="1" minOccurs="0" name="byName" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="byLabel" type="xsd:string" />
</sequence>
</complexType>
<complexType name="FindPermission">
<sequence>
<element name="search" type="impl:PermissionSearch" />
</sequence>
</complexType>
<element name="FindPermission" type="impl:FindPermission" />
<complexType name="ArrayOfPermission">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Permission" />
</sequence>
</complexType>
<complexType name="FindPermissionResponse">
<sequence>
<element name="permissions" type="impl:ArrayOfPermission" />
</sequence>
</complexType>
<element name="FindPermissionResponse" type="impl:FindPermissionResponse" />
<complexType name="Property">
<sequence>
<element name="property" type="xsd:string" />
<element name="value" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="ManagePermission">
<sequence>
<element name="search" type="impl:PermissionSearch" />
<element maxOccurs="unbounded" name="edit" type="impl:Property" />
<element maxOccurs="1" minOccurs="0" name="deletePermission" nillable="true" type="xsd:boolean" />
</sequence>
</complexType>
<element name="ManagePermission" type="impl:ManagePermission" />
</schema>
</wsdl:types>
<wsdl:message name="findPermissionRequest">
<wsdl:part element="impl:FindPermission" name="FindPermission" />
</wsdl:message>
<wsdl:message name="managePermissionRequest">
<wsdl:part element="impl:ManagePermission" name="ManagePermission" />
</wsdl:message>
<wsdl:message name="addPermissionRequest">
<wsdl:part element="impl:AddPermission" name="AddPermission" />
</wsdl:message>
<wsdl:message name="findPermissionResponse">
<wsdl:part element="impl:FindPermissionResponse" name="FindPermissionResponse" />
</wsdl:message>
<wsdl:message name="addPermissionResponse" />
<wsdl:message name="managePermissionResponse" />
<wsdl:portType name="PermissionService">
<wsdl:operation name="addPermission" parameterOrder="AddPermission">
<wsdl:input message="impl:addPermissionRequest" name="addPermissionRequest" />
<wsdl:output message="impl:addPermissionResponse" name="addPermissionResponse" />
</wsdl:operation>
<wsdl:operation name="findPermission" parameterOrder="FindPermission">
<wsdl:input message="impl:findPermissionRequest" name="findPermissionRequest" />
<wsdl:output message="impl:findPermissionResponse" name="findPermissionResponse" />
</wsdl:operation>
<wsdl:operation name="managePermission" parameterOrder="ManagePermission">
<wsdl:input message="impl:managePermissionRequest" name="managePermissionRequest" />
<wsdl:output message="impl:managePermissionResponse" name="managePermissionResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PermissionServiceSoapBinding" type="impl:PermissionService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="addPermission">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addPermissionRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addPermissionResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="findPermission">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="findPermissionRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="findPermissionResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="managePermission">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="managePermissionRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="managePermissionResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConfigImplService">
<wsdl:port binding="impl:PermissionServiceSoapBinding" name="PermissionService">
<wsdlsoap:address location="https://47.134.206.174:8443/sipxconfig/services/PermissionService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Note
wsdlsoap:address location specified at the end of the WSDL will be specific to your system.
Add Permissions
Name: addPermission
Description: Add a custom call permission to the system.
Input Parameters:
Name |
Value type |
Required/Optional |
Description |
Editable/Read only |
name |
string |
Required |
The name of the permission to add. Even though it is a required parameter its value is ignored and an internal name is generated. |
Editable |
label |
string |
Optional |
The label of the permission to add. Label is the name displayed in the webui. |
Editable |
description |
string |
Optional |
Indicates if the permission is enabled (true) or disabled (false) by default for users. |
Editable |
defaultValue |
boolean |
Optional |
Indicates if the permission is enabled (true) or disabled (false) by default for users. |
Editable |
type |
string |
The type of permission. Read only, any string on add will be ignored. |
Read Only |
|
builtIn |
boolean |
Indicates if the permission is builtin (true) or not (false). Read only, any string on add will be ignored. |
Read Only |
Output parameters: Empty response.
Example: Adding a call permission with label “Test three” whose default value is false:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:AddPermission>
<permission>
<name>Test3</name>
<label>Test Three</label>
<description>Third test permission</description>
<defaultValue>false</defaultValue>
</permission>
</con:AddPermission>
</soapenv:Body>
</soapenv:Envelope>
Find Permissions
Name: findPermission
Description: Search for a permission or permissions defined in the system.
Input Parameters:
Name |
Value type |
Required/Optional |
Description |
Editable/Read only |
byName |
string |
Optional |
Indicates a name for permissions by their name. May be null. |
Editable |
byLabel |
string |
Optional |
Indicates a search for permissions by their label. May be null. |
Editable |
Output Parameters: Array of items representing the permissions found in the search.
Name |
Value Type |
Description |
name |
string |
The name of the permission. |
label |
string |
The value representing the label of the permission. |
description |
string |
Describes the permission. |
defaultValue |
Boolean indicating if the permission is enabled (true) or disabled (false) by default for users. |
|
builtIn |
boolean |
Indicates if the permission is builtin (true) or not (false). |
Example: Search to find all permissions defined in the system.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindPermission>
</con:FindPermission>
</soapenv:Body>
</soapenv:Envelope>
Example: Search to find permission with label “test three”.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindPermission>
<search>
<byLabel>Test Three</byLabel>
</search>
</con:FindPermission>
</soapenv:Body>
</soapenv:Envelope>
Manage Permissions
Name: managePermission
Description: Manage (update or delete) existing permissions defined in the system. Only permissions which are not built into the system can be edited or deleted.
Input Parameters:
Name |
Value type |
Required/Optional |
Description |
Editable/Read only |
byName |
string |
Optional |
String used to indicate a search for permissions by their name. May be null. Name is internally generated value and may not be useful for searching. |
Editable |
byLabel |
string |
Optional |
Indicates a search for permissions by their label. May be null. |
Editable |
property |
Name of the permission field to edit. |
|||
value |
Value to use for the permission field being edited. |
|||
deletePermission |
boolean |
Optional |
Indicating to delete (true) a permission. |
Output Parameters: Empty response.
Example:
foo
Call Groups
The call group web services are SOAP based services. These services use the Web Service Definition Language (WSDL) to define the interfaces supported. A call group service deals with information related to hunt groups. Any information queried or added in one of the implemented services are mapped to a hunt group in the configuratio database.
URI
https://host.domain/sipxconfig/services/CallGroupService
WSDL
<wsdl:definitions targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:intf="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="UserRing">
<sequence>
<element name="expiration" type="xsd:int" />
<element name="type" type="xsd:string" />
<element name="position" type="xsd:int" />
<element name="userName" type="xsd:string" />
</sequence>
</complexType>
<complexType name="CallGroup">
<sequence>
<element name="name" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="extension" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="description" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="enabled" nillable="true" type="xsd:boolean" />
<element maxOccurs="unbounded" minOccurs="0" name="rings" nillable="true" type="impl:UserRing" />
</sequence>
</complexType>
<complexType name="AddCallGroup">
<sequence>
<element name="callGroup" type="impl:CallGroup" />
</sequence>
</complexType>
<element name="AddCallGroup" type="impl:AddCallGroup" />
<complexType name="ArrayOfCallGroup">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:CallGroup" />
</sequence>
</complexType>
<complexType name="GetCallGroupsResponse">
<sequence>
<element name="callGroups" type="impl:ArrayOfCallGroup" />
</sequence>
</complexType>
<element name="GetCallGroupsResponse" type="impl:GetCallGroupsResponse" />
</schema>
</wsdl:types>
<wsdl:message name="getCallGroupsResponse">
<wsdl:part element="impl:GetCallGroupsResponse" name="GetCallGroupsResponse" />
</wsdl:message>
<wsdl:message name="getCallGroupsRequest" />
<wsdl:message name="addCallGroupResponse" />
<wsdl:message name="addCallGroupRequest">
<wsdl:part element="impl:AddCallGroup" name="AddCallGroup" />
</wsdl:message>
<wsdl:portType name="CallGroupService">
<wsdl:operation name="addCallGroup" parameterOrder="AddCallGroup">
<wsdl:input message="impl:addCallGroupRequest" name="addCallGroupRequest" />
<wsdl:output message="impl:addCallGroupResponse" name="addCallGroupResponse" />
</wsdl:operation>
<wsdl:operation name="getCallGroups">
<wsdl:input message="impl:getCallGroupsRequest" name="getCallGroupsRequest" />
<wsdl:output message="impl:getCallGroupsResponse" name="getCallGroupsResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CallGroupServiceSoapBinding" type="impl:CallGroupService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="addCallGroup">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addCallGroupRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addCallGroupResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCallGroups">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="getCallGroupsRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="getCallGroupsResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConfigImplService">
<wsdl:port binding="impl:CallGroupServiceSoapBinding" name="CallGroupService">
<wsdlsoap:address location="https://47.134.206.174:8443/sipxconfig/services/CallGroupService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Add Call Groups
Name |
Value type |
Required/Optional |
Description |
Editable/Read only |
name |
string |
Required |
String representing the name of the hunt group to add. |
Editable |
extension |
string |
Optional |
The extension to be associated with the hunt group. |
Editable |
description |
string |
Optional |
Describes the hunt group. |
Editable |
enabled |
boolean |
Optional |
Describing the members of the hunt group, their position in the group, time (in seconds) to ring the user. |
0 or more repetitions. |
expiration |
Time in seconds to present the call to the user. |
|||
type |
string |
The ring sequence. Can be “delayed” or “immediate”. Delay is used to build a sequential type hunt group and immediate a broadcast type hunt group. A mix can be used. |
||
position |
The unique position (starting at 0) of the user in the group. |
|||
username |
string |
The extension of the user. |
Output Parameters: Empty response.
Example: Add a new hunt group “TestGroup2” that is enabled, dialable at extension 556 and contains 4 members (212, 215, 211, and 221).
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:AddCallGroup>
<callGroup>
<name>TestGroup2</name>
<!-Optional:->
<extension>556</extension>
<!-Optional:->
<description>Sample SOAP created Hunt Group</description>
<!-Optional:->
<enabled>true</enabled>
<!-Zero or more repetitions:->
<rings>
<expiration>10</expiration>
<type>delayed</type>
<position>0</position>
<userName>212</userName>
</rings>
<rings>
<expiration>10</expiration>
<type>immediate</type>
<position>1</position>
<userName>215</userName>
</rings>
<rings>
<expiration>15</expiration>
<type>immediate</type>
<position>2</position>
<userName>211</userName>
</rings>
<rings>
<expiration>15</expiration>
<type>delayed</type>
<position>3</position>
<userName>221</userName>
</rings>
</callGroup>
</con:AddCallGroup>
</soapenv:Body>
</soapenv:Envelope>
Get Call Groups
Name: getCallGroups
Description: Query the hunt groups defined in the system.
Input Parameters: None
Output Parameters: Array of items representing the permissions found in the search.
Name |
Value Type |
Description |
name |
string |
The name of the hunt group. |
extension |
string |
Representing the extension associated with the hunt group. |
description |
string |
Describes the hunt group. |
enabled |
boolean |
Indicates if the hunt group is enabled (true) or disabled (false). |
rings |
array |
The members of the hunt group, their position, time (in seconds) to ring the user (0 or more repetitions). |
expiration |
Time in seconds to present the call to user. |
|
type |
string |
The ring sequence. Can be ‘delayed’ or ‘immediate’. Delayed is sequential, immediate is broadcast. |
position |
The unique position (starting at 0) of the user in the group. |
|
username |
string |
The extension of the user. |
Example: Query the hunt groups defined in the system.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body/>
</soapenv:Envelope>
Users
The user web services are SOAP based services. These services use the Web Service Definition Language (WSDL) to define the interfaces supported.
URI
https://host.domain/sipxconfig/services/UserService
WSDL
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:intf="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="User">
<sequence>
<element name="userName" type="xsd:string" />
<element name="pintoken" nillable="true" type="xsd:string" />
<element name="lastName" nillable="true" type="xsd:string" />
<element name="firstName" nillable="true" type="xsd:string" />
<element name="sipPassword" nillable="true" type="xsd:string" />
<element maxOccurs="unbounded" minOccurs="0" name="aliases" nillable="true" type="xsd:string" />
<element name="emailAddress" nillable="true" type="xsd:string" />
<element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="xsd:string" />
<element maxOccurs="unbounded" minOccurs="0" name="permissions" nillable="true" type="xsd:string" />
<element maxOccurs="1" name="branchName" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="AddUser">
<sequence>
<element name="user" type="impl:User" />
<element name="pin" type="xsd:string" />
</sequence>
</complexType>
<element name="AddUser" type="impl:AddUser" />
<complexType name="UserSearch">
<sequence>
<element maxOccurs="1" minOccurs="0" name="byUserName" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="byFuzzyUserNameOrAlias" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="byGroup" type="xsd:string" />
</sequence>
</complexType>
<complexType name="FindUser">
<sequence>
<element name="search" type="impl:UserSearch" />
</sequence>
</complexType>
<element name="FindUser" type="impl:FindUser" />
<complexType name="ArrayOfUser">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:User" />
</sequence>
</complexType>
<complexType name="FindUserResponse">
<sequence>
<element name="users" type="impl:ArrayOfUser" />
</sequence>
</complexType>
<element name="FindUserResponse" type="impl:FindUserResponse" />
<complexType name="Property">
<sequence>
<element name="property" type="xsd:string" />
<element name="value" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="ManageUser">
<sequence>
<element name="search" type="impl:UserSearch" />
<element maxOccurs="unbounded" name="edit" type="impl:Property" />
<element maxOccurs="1" minOccurs="0" name="deleteUser" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="addGroup" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="removeGroup" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="updateGroup" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<element name="ManageUser" type="impl:ManageUser" />
</schema>
</wsdl:types>
<wsdl:message name="findUserRequest">
<wsdl:part element="impl:FindUser" name="FindUser" />
</wsdl:message>
<wsdl:message name="addUserRequest">
<wsdl:part element="impl:AddUser" name="AddUser" />
</wsdl:message>
<wsdl:message name="manageUserResponse" />
<wsdl:message name="addUserResponse" />
<wsdl:message name="manageUserRequest">
<wsdl:part element="impl:ManageUser" name="ManageUser" />
</wsdl:message>
<wsdl:message name="findUserResponse">
<wsdl:part element="impl:FindUserResponse" name="FindUserResponse" />
</wsdl:message>
<wsdl:portType name="UserService">
<wsdl:operation name="addUser" parameterOrder="AddUser">
<wsdl:input message="impl:addUserRequest" name="addUserRequest" />
<wsdl:output message="impl:addUserResponse" name="addUserResponse" />
</wsdl:operation>
<wsdl:operation name="findUser" parameterOrder="FindUser">
<wsdl:input message="impl:findUserRequest" name="findUserRequest" />
<wsdl:output message="impl:findUserResponse" name="findUserResponse" />
</wsdl:operation>
<wsdl:operation name="manageUser" parameterOrder="ManageUser">
<wsdl:input message="impl:manageUserRequest" name="manageUserRequest" />
<wsdl:output message="impl:manageUserResponse" name="manageUserResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="UserServiceSoapBinding" type="impl:UserService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="addUser">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addUserRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addUserResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="findUser">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="findUserRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="findUserResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="manageUser">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="manageUserRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="manageUserResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConfigImplService">
<wsdl:port binding="impl:UserServiceSoapBinding" name="UserService">
<wsdlsoap:address location="https://47.134.206.174:8443/sipxconfig/services/UserService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Note
wsdlsoap:address location specified at the end of the WSDL will be specific to your system.
Add Users
Name: addUser
Description: Add a new user to the system.
Input Parameters:
Name |
Value type |
Required/Optional |
Description |
Editable/Read only |
userName |
string |
Required |
The name of the user to add. |
Editable |
pinToken |
string |
optional |
Internally generated token that is an encrypted version of the voicemail pin. This should not be specified as it will be internally generated. |
Read Only |
lastName |
string |
Optional |
The last name of the user. |
Editable |
firstName |
string |
Optional |
The first name of the user. |
Editable |
sipPassword |
string |
Optional |
The SIP password for the user. |
|
aliases |
array |
Array of strings, each representing membership in defined groups. |
||
permissions |
array |
Array of strings, each representing a permission name that is granted to the user. Permissions can be general or call permissions. See findPermission |
||
pin |
string |
Required |
The PIN for the user. |
Editable |
branchName |
string |
Optional |
User branch |
Editable |
Output Parameters: Empty response.
Example: Add a new user 223 to the system with sip password 4567, pin 1234, along with various permissions and group memberships in the branch Berlin.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:AddUser>
<user>
<userName>223</userName>
<lastName>Einstein</lastName>
<firstName>Albert</firstName>
<sipPassword>4567</sipPassword>
<emailAddress>albertE@yahoo.com</emailAddress>
<branchName>Berlin</branchName>
<groups>Managers</groups>
<permissions>FreeswitchVoicemailServer</permissions>
<permissions>InternationalDialing</permissions>
<permissions>LocalDialing</permissions>
<permissions>LongDistanceDialing</permissions>
<permissions>Mobile</permissions>
<permissions>TollFree</permissions>
<permissions>Voicemail</permissions>
<permissions>music-on-hold</permissions>
<permissions>perm_8</permissions>
<permissions>personal-auto-attendant</permissions>
<permissions>tui-change-pin</permissions>
</user>
<pin>1234</pin>
</con:AddUser>
</soapenv:Body>
</soapenv:Envelope>
Find Users
Name: findUser
Description: Find defined user(s) in the system.
Input Parameters: Either null for a listing of all users, or one of the following optional parameters.
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
byUserName |
string |
Optional |
The name of the user to find. |
Editable |
byFuzzyUserNameOrAlias |
string |
Optional |
A partial user name or alias to search for, a type of wildcard search. |
Editable |
byGroup |
string |
Optional |
The users which are members of a particular defined group. |
Editable |
Output parameters: An array of 0 or more of the following.
Name |
Value Type |
Description |
userName |
string |
The name of the user to add. |
pinToken |
string |
Internally generated token that is an encrypted version of the pin. |
lastName |
string |
The last name of the user. |
firstName |
string |
The first name of the user. |
sipPassword |
string |
The SIP password for the user. |
aliases |
array |
Array of strings, each representing a user alias. |
emailAddress |
string |
The email address of the user. |
groups |
array |
Array of strings, each representing membership in defined groups. |
pin |
string |
The PIN for the user. |
branchName |
string |
Users branch. |
Example: Find all defined users in the system.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindUser>
</con:FindUser>
</soapenv:Body>
</soapenv:Envelope>
Example: Find all users that are members of the group “Managers”.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindUser>
<search>
<byGroup>Managers</byGroup>
</search>
</con:FindUser>
</soapenv:Body>
</soapenv:Envelope>
Example: Find the user 223.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindUser>
<search>
<byUserName>223</byUserName>
</search>
</con:FindUser>
</soapenv:Body>
</soapenv:Envelope>
Example: Find users whose userName begins with 22.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindUser>
<search>
<byFuzzyUserNameOrAlias>22</byFuzzyUserNameOrAlias>
</search>
</con:FindUser>
</soapenv:Body>
</soapenv:Envelope>
Manage Users
Name: manageUser
Description: Manage (update or delete) users defined in the system.
Input Paramters: Either null to list all, or one of the following optional parameters.
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
byUserName |
string |
Optional |
The name of the user to find. |
Editable |
byFuzzyUserNameOrAlias |
string |
Optional |
A partial username or alias to search for. A type of wildcard search. |
Editable |
byGroup |
string |
Optional |
The users which are members of a particular defined group. |
Editable |
property |
string |
Optional |
Name of the user field to edit. |
Editable |
value |
string |
Optional |
Value to use for the user field being edited. |
Editable |
deleteUser |
boolean |
Optional |
Indicates to delete (true) user(s). Dependent upon search results. |
Editable |
addGroup |
string |
Optional |
The name of the group to add the user(s) to. Dependent upon search results. |
Editable |
removeGroup |
string |
Optional |
The name of the group to remove the user(s) from. Dependent upon search results. |
Editable |
updateBranch |
string |
Optional |
The name of the branch to update the user(s) to. |
Editable |
Output Parameters: Empty response
Example: Remove all users in the system beginning with 22 from group Managers
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManageUser>
<search>
<byFuzzyUserNameOrAlias>22</byFuzzyUserNameOrAlias>
</search>
<removeGroup>Managers</removeGroup>
</con:ManageUser>
</soapenv:Body>
</soapenv:Envelope>
Example: Add user with username 211 to the group Managers
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManageUser>
<byUserName>211</byUserName>
</search>
<addGroup>Managers</addGroup>
</con:ManageUser>
</soapenv:Body>
</soapenv:Envelope>
Example: Change all users from group Managers to have a lastName of “SuperDog” and firstName of “I am”
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManageUser>
<search>
<!-Optional:->
<byGroup>Managers</byGroup>
</search>
<!-1 or more repetitions:->
<edit>
<!-You may enter the following 2 items in any order->
<property>lastName</property>
<value>SuperDog</value>
</edit>
<edit>
<!-You may enter the following 2 items in any order->
<property>firstName</property>
<value>I am</value>
</edit>
</con:ManageUser>
</soapenv:Body>
</soapenv:Envelope>
Example: Update user with username 211 to the branch Berlin
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManageUser>
<byUserName>211</byUserName>
</search>
<updateBranch>Berlin</updateBranch>
</con:ManageUser>
</soapenv:Body>
</soapenv:Envelope>
Park Orbits
The park orbit web services are SOAP based services. These services use the Web Service Definition Language (WSDL) to define the interfaces supported.
URI
https://host.domain:8443/sipxconfig/services/ParkOrbitService
WSDL
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:intf="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="ParkOrbit">
<sequence>
<element name="name" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="extension" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="description" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="enabled" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="music" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="AddParkOrbit">
<sequence>
<element name="parkOrbit" type="impl:ParkOrbit" />
</sequence>
</complexType>
<element name="AddParkOrbit" type="impl:AddParkOrbit" />
<complexType name="ArrayOfParkOrbit">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:ParkOrbit" />
</sequence>
</complexType>
<complexType name="GetParkOrbitsResponse">
<sequence>
<element name="parkOrbits" type="impl:ArrayOfParkOrbit" />
</sequence>
</complexType>
<element name="GetParkOrbitsResponse" type="impl:GetParkOrbitsResponse" />
</schema>
</wsdl:types>
<wsdl:message name="addParkOrbitRequest">
<wsdl:part element="impl:AddParkOrbit" name="AddParkOrbit" />
</wsdl:message>
<wsdl:message name="addParkOrbitResponse" />
<wsdl:message name="getParkOrbitsResponse">
<wsdl:part element="impl:GetParkOrbitsResponse" name="GetParkOrbitsResponse" />
</wsdl:message>
<wsdl:message name="getParkOrbitsRequest" />
<wsdl:portType name="ParkOrbitService">
<wsdl:operation name="addParkOrbit" parameterOrder="AddParkOrbit">
<wsdl:input message="impl:addParkOrbitRequest" name="addParkOrbitRequest" />
<wsdl:output message="impl:addParkOrbitResponse" name="addParkOrbitResponse" />
</wsdl:operation>
<wsdl:operation name="getParkOrbits">
<wsdl:input message="impl:getParkOrbitsRequest" name="getParkOrbitsRequest" />
<wsdl:output message="impl:getParkOrbitsResponse" name="getParkOrbitsResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ParkOrbitServiceSoapBinding" type="impl:ParkOrbitService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="addParkOrbit">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addParkOrbitRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addParkOrbitResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getParkOrbits">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="getParkOrbitsRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="getParkOrbitsResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConfigImplService">
<wsdl:port binding="impl:ParkOrbitServiceSoapBinding" name="ParkOrbitService">
<wsdlsoap:address location="https://47.134.206.174:8443/sipxconfig/services/ParkOrbitService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Add Park Orbits
Name: addParkOrbit
Description: Add a new call park orbit to the system.
Input Parameters: Either null to list all users, or provide one of the following optional parameters.
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
name |
string |
Required |
The name of the call park orbit to add. |
Editable |
extension |
string |
Optional |
Dialable extension to be used. |
Editable |
description |
string |
Optional |
Description of the call park orbit. |
Editable |
enabled |
boolean |
Optional |
Indicates if the call park is enabled (true) or disabled (false) |
Editable |
music |
path |
Optional |
Path to a wav file to play as background music for parked calls. |
Editable |
Note
wav files must be in the appropriate format of RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
Output parameters: Empty response.
Example: Add a new call park orbit with the name ParkSales at extension 46 and is enabled.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:AddParkOrbit>
<parkOrbit>
<name>ParkSales</name>
<!-Optional:->
<extension>46</extension>
<!-Optional:->
<description>Sales calls park orbit</description>
<!-Optional:->
<enabled>true</enabled>
</parkOrbit>
</con:AddParkOrbit>
</soapenv:Body>
</soapenv:Envelope>
Get Park Orbits
Name: getParkOrbits
Description: Queries information on all call park orbits defined in the system.
Input Parameters: None
Output Parameters:
Name |
Value Type |
Description |
name |
string |
The name of the call park orbit. |
extension |
string |
The dialable extension. |
description |
string |
A description of the call park orbit. |
enabled |
boolean |
Indicates if the call park orbit is enabled (true) or disabled (false). |
music |
Path to a wav file to play as background music for parked calls. |
Note
wav files must be in the appropriate format of RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
Example: Query the call park orbits defined in the system.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body/>
</soapenv:Envelope>
Phones
The phone web services are SOAP based services. These services use the Web Service Definition Language (WSDL) to define the interfaces supported.
URI
https://host.domain/sipxconfig/services/PhoneService
WSDL
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:intf="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="Line">
<sequence>
<element name="userId" type="xsd:string" />
<element name="uri" type="xsd:string" />
</sequence>
</complexType>
<complexType name="Phone">
<sequence>
<element name="serialNumber" type="xsd:string" />
<element name="modelId" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="description" nillable="true" type="xsd:string" />
<element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="xsd:string" />
<element maxOccurs="unbounded" minOccurs="0" name="lines" nillable="true" type="impl:Line" />
<element maxOccurs="1" minOccurs="0" name="deviceVersion" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="AddPhone">
<sequence>
<element name="phone" type="impl:Phone" />
</sequence>
</complexType>
<element name="AddPhone" type="impl:AddPhone" />
<complexType name="PhoneSearch">
<sequence>
<element maxOccurs="1" minOccurs="0" name="bySerialNumber" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="byGroup" type="xsd:string" />
</sequence>
</complexType>
<complexType name="FindPhone">
<sequence>
<element name="search" type="impl:PhoneSearch" />
</sequence>
</complexType>
<element name="FindPhone" type="impl:FindPhone" />
<complexType name="ArrayOfPhone">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Phone" />
</sequence>
</complexType>
<complexType name="FindPhoneResponse">
<sequence>
<element name="phones" type="impl:ArrayOfPhone" />
</sequence>
</complexType>
<element name="FindPhoneResponse" type="impl:FindPhoneResponse" />
<complexType name="Property">
<sequence>
<element name="property" type="xsd:string" />
<element name="value" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="AddExternalLine">
<sequence>
<element name="userId" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="displayName" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="password" type="xsd:string" />
<element name="registrationServer" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="voiceMail" type="xsd:string" />
</sequence>
</complexType>
<complexType name="ManagePhone">
<sequence>
<element name="search" type="impl:PhoneSearch" />
<element maxOccurs="unbounded" name="edit" type="impl:Property" />
<element maxOccurs="1" minOccurs="0" name="deletePhone" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="addGroup" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="removeGroup" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="addLine" nillable="true" type="impl:Line" />
<element maxOccurs="1" minOccurs="0" name="addExternalLine" nillable="true" type="impl:AddExternalLine" />
<element maxOccurs="1" minOccurs="0" name="removeLineByUserId" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="removeLineByUri" nillable="true" type="xsd:string" />
<element maxOccurs="1" minOccurs="0" name="generateProfiles" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="restart" nillable="true" type="xsd:boolean" />
</sequence>
</complexType>
<element name="ManagePhone" type="impl:ManagePhone" />
</schema>
</wsdl:types>
<wsdl:message name="findPhoneRequest">
<wsdl:part element="impl:FindPhone" name="FindPhone" />
</wsdl:message>
<wsdl:message name="managePhoneResponse" />
<wsdl:message name="addPhoneResponse" />
<wsdl:message name="managePhoneRequest">
<wsdl:part element="impl:ManagePhone" name="ManagePhone" />
</wsdl:message>
<wsdl:message name="addPhoneRequest">
<wsdl:part element="impl:AddPhone" name="AddPhone" />
</wsdl:message>
<wsdl:message name="findPhoneResponse">
<wsdl:part element="impl:FindPhoneResponse" name="FindPhoneResponse" />
</wsdl:message>
<wsdl:portType name="PhoneService">
<wsdl:operation name="addPhone" parameterOrder="AddPhone">
<wsdl:input message="impl:addPhoneRequest" name="addPhoneRequest" />
<wsdl:output message="impl:addPhoneResponse" name="addPhoneResponse" />
</wsdl:operation>
<wsdl:operation name="findPhone" parameterOrder="FindPhone">
<wsdl:input message="impl:findPhoneRequest" name="findPhoneRequest" />
<wsdl:output message="impl:findPhoneResponse" name="findPhoneResponse" />
</wsdl:operation>
<wsdl:operation name="managePhone" parameterOrder="ManagePhone">
<wsdl:input message="impl:managePhoneRequest" name="managePhoneRequest" />
<wsdl:output message="impl:managePhoneResponse" name="managePhoneResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PhoneServiceSoapBinding" type="impl:PhoneService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="addPhone">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addPhoneRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addPhoneResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="findPhone">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="findPhoneRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="findPhoneResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="managePhone">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="managePhoneRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="managePhoneResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConfigImplService">
<wsdl:port binding="impl:PhoneServiceSoapBinding" name="PhoneService">
<wsdlsoap:address location="https://47.134.206.174/sipxconfig/services/PhoneService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Note
wsdlsoap:address location specified at the end of the WSDL will be specific to your system.
Add Phones
Name: addPhone
Description: Add a new phone to the system.
Input Parameters:
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
serialNumber |
string |
Required |
The MAC address of the phone. |
Editable |
modelId |
string |
Required |
A supported model ID. |
Editable |
description |
string |
Optional |
A description of the phone. |
Editable |
groups |
string |
Optional |
The phone group(s) the new phone will be a member of. |
Editable |
lines |
string |
Optional |
String representing assigned lines to the phone. |
Editable |
deviceVersion |
string |
Optional |
The version of the phone. |
Editable |
Output Parameters: Empty response.
Example: Add a new polycom spip 321 phone to the system, assign line 221, and add to phone group FirstPhoneGroup.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:AddPhone>
<phone>
<serialNumber>000000000002</serialNumber>
<modelId>polycom321</modelId>
<!-Optional:->
<description>SOAP added phone</description>
<!-Zero or more repetitions:->
<groups>FirstPhoneGroup</groups>
<!-Zero or more repetitions:->
<lines>
<userId>221</userId>
<uri>221@Uniteme.ezuce.com</uri>
</lines>
<!-Optional:->
</phone>
</con:AddPhone>
</soapenv:Body>
</soapenv:Envelope>
List of supported phones:
aastra53i
aastra55i
aastra57i
aastra560m
aastra sip ip 53i
audiocodesMP112_FXS
audiocodesMP114_FXS
audiocodesMP118_FXS
audiocodesMP124_FXS
avaya-1210
avaya-1220
avaya-1230
bria
ciscoplus7911G
ciscoplus7941G
ciscoplus7945G
ciscoplus7961G
ciscoplus7965G
ciscoplus7970G
ciscoplus7975G
cisco7960
cisco7940
cisco7912
cisco7905
cisco18x
clearone
gtekAq10x
gtekHl20x
gtekVt20x
gsPhoneBt100
gsPhoneBt200
gsPhoneGxp2020
gsPhoneGxp2010
gsPhoneGxp2000
gsPhoneGxp1200
gsPhoneGxv3000
gsFxsGxw4004
gsFxsGxw4008
gsHt286
gsHt386
gsHt486
gsHt488
gsHt496
hitachi3000
hitachi5000
hitachi5000A
ipDialog
isphone
karelIP116
karelIP112
karelIP111
karelNT32I
karelNT42I
linksys901
linksys921
linksys922
linksys941
linksys942
linksys962
linksys2102
linksys3102
linksys8000
SPA501G
SPA502G
SPA504G
SPA508G
SPA509G
SPA525G
mitel
nortel11xx
nortel1535
lip6804
lip6812
lip6830
polycom321
polycom320
polycom330
polycom331
polycom335
polycom430
polycom450
polycom550
polycom560
polycom650
polycom670
polycomVVX1500
polycom5000
polycom6000
polycom7000
snom300
snom320
snom360
snom370
snomM3
unidatawpu7700
Find Phones
Name: findPhone
Description: Find defined phone(s) in the system.
Input Parameters: Either null for a listing of all, or provide one of the following optional parameters.
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
bySerialNumber |
string |
Required |
The MAC address of the phone to find |
Editable |
byGroup |
string |
Optional |
The phones which are members of the specified group. |
Editable |
Output Parameters: An array of 0 or more of the following.
Name |
Value Type |
Description |
serialNumber |
string |
The MAC address of the phone. |
extension |
string |
The dialable extension |
description |
string |
The description of the phone |
Example: List all defined phones.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindPhone>
</con:FindPhone>
</soapenv:Body>
</soapenv:Envelope>
Example: Find all phones that are members of the phone group FirstPhoneGroup.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindPhone>
<search>
<byGroup>FirstPhoneGroup</byGroup>
</search>
</con:FindPhone>
</soapenv:Body>
</soapenv:Envelope>
Example: Find all phones with the MAC address of 000000000001
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:FindPhone>
<search>
<bySerialNumber>000000000001</bySerialNumber>
</search>
</con:FindPhone>
</soapenv:Body>
</soapenv:Envelope>
Manage Phones
Name: managePhone
Description: Update or delete phones defined in the system.
Input Parameters: Either null for a listing of all, or provide one of the following optional parameters.
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
bySerialNumber |
string |
Required |
Search for a phone by MAC address. May be null. |
Editable |
byGroup |
string |
Optional |
Phones which are members of a specified phone group. |
Editable |
property |
The name of the phone field to edit. |
|||
value |
Value to use for the phone field being edited. |
|||
deletePhone |
boolean |
Optional |
Indicates to delete (true) the phone(s). Dependent upon search results. |
|
addGroup |
string |
Optional |
The phone group to add the phone(s) to. Dependent upon search results. |
|
removeGroup |
string |
Optional |
The phone group to remove the phone(s) from. Dependent upon search results. |
|
addLine |
string |
Optional |
userid and uri to add to the phone(s). Dependent upon search results. |
|
addExternalLine |
string |
Optional |
userid, dispalyname, password, registrationserver and voicemail of the external line to add to the phone(s). Dependent upon search results. |
|
userId |
string |
Required |
The user portion of the SIP URI and default value for authorization. |
|
displayName |
string |
Optional |
The display name to use for the userId. |
|
password |
string |
Optional |
The password for the userid. |
|
registrationServer |
string |
Required |
The domain the userid should register to. |
|
voicemail |
string |
Optional |
The voicemail extension for the userid. |
|
removeLineByUserId |
string |
Optional |
The userid of the line to remove from the phone(s). Dependent upon search results. |
|
removeLineByUri |
string |
Optional |
The uri of the line to remove from the phone(s). Dependent upon search results. |
|
restart |
boolean |
Optional |
Indicates to restart (true) the phone(s). Dependent upon search results. |
Output Parameters: Empty Response
Example: Delete all phones which are a part of the group FirstPhoneGroup.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManagePhone>
<search>
<byGroup>FirstPhoneGroup</byGroup>
</search>
<deletePhone>true</deletePhone>
</con:ManagePhone>
</soapenv:Body>
</soapenv:Envelope>
Example: Add line with userid 221 to the phones in FirstPhoneGroup, generate the profiles for the phones and restart them.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManagePhone>
<search>
<byGroup>FirstPhoneGroup</byGroup>
</search>
<addLine>
<userId>221</userId>
<uri>221@Uniteme.ezuce.com</uri>
</addLine>
<generateProfiles>true</generateProfiles>
<restart>true</restart>
</con:ManagePhone>
</soapenv:Body>
</soapenv:Envelope>
Example: Remove all the phones in FirstPhoneGroup.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ManagePhone>
<search>
<byGroup>FirstPhoneGroup</byGroup>
</search>
<removeGroup>FirstPhoneGroup</removeGroup>
</con:ManagePhone>
</soapenv:Body>
</soapenv:Envelope>
Test
The test web services are SOAP based services. These services use the Web Service Definition Language (WSDL) to define the interfaces supported.
URI
https://host.domain/sipxconfig/services/TestService
WSDL
<wsdl:definitions targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:intf="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema targetNamespace="http://www.sipfoundry.org/2007/08/21/ConfigService" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="ResetServices">
<sequence>
<element maxOccurs="1" minOccurs="0" name="callGroup" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="parkOrbit" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="permission" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="phone" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="user" nillable="true" type="xsd:boolean" />
<element maxOccurs="1" minOccurs="0" name="superAdmin" nillable="true" type="xsd:boolean" />
</sequence>
</complexType>
<element name="ResetServices" type="impl:ResetServices" />
</schema>
</wsdl:types>
<wsdl:message name="resetServicesRequest">
<wsdl:part element="impl:ResetServices" name="ResetServices" />
</wsdl:message>
<wsdl:message name="resetServicesResponse" />
<wsdl:portType name="TestService">
<wsdl:operation name="resetServices" parameterOrder="ResetServices">
<wsdl:input message="impl:resetServicesRequest" name="resetServicesRequest" />
<wsdl:output message="impl:resetServicesResponse" name="resetServicesResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TestServiceSoapBinding" type="impl:TestService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="resetServices">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="resetServicesRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="resetServicesResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConfigImplService">
<wsdl:port binding="impl:TestServiceSoapBinding" name="TestService">
<wsdlsoap:address location="https://47.134.206.174:8443/sipxconfig/services/TestService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Reset services
Name: resetServices
Description: Resets (deletes) the data associated with one or more web services.
Warning
This is an extremely dangerous service as it could permanently delete large amounts of configuration data. Use extreme caution!
Input Parameters:
Name |
Value Type |
Required/Optional |
Description |
Editable/Read Only |
callGroup |
boolean |
Optional |
Indicates to delete (true) all callGroup (hunt group) data. |
Editable |
parkOrbit |
boolean |
Optional |
Indicates to delete (true) all call park orbits. |
Editable |
permission |
boolean |
Optional |
Indicates to delete (true) all non-system defined permissions. |
Editable |
phone |
boolean |
Optional |
Indicates to delete (true) all defined phones. |
Editable |
user |
boolean |
Optional |
Indicates to delete (true) all defined users except superadmin. |
Editable |
superadmin |
boolean |
Optional |
Indicates to delete (true) all superadmin data except for the PIN. |
Editable |
Output Parameters: Empty response.
Example: Remove all hunt groups, park orbits, and permissions defined.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.sipfoundry.org/2007/08/21/ConfigService">
<soapenv:Header/>
<soapenv:Body>
<con:ResetServices>
<!-Optional:->
<callGroup>true</callGroup>
<!-Optional:->
<parkOrbit>true</parkOrbit>
<!-Optional:->
<permission>true</permission>
</con:ResetServices>
</soapenv:Body>
</soapenv:Envelope>