The SOAP API for sipXconfig lets you perform many operations offered by sipXconfig in a programmatic way and without interacting with the sipXconfig WEB UI. The sipXconfig API is extended all the time and offers most of the functionality available in the Web UI.
I can think of at least 3 cases where you might want to use it:
You can use SOAP in may ways: Usually it involves getting WSDL, which is a formal API definition, and generate bindings in your favorite language (Python, Perl, Ruby, Java, etc.). Pick the language with good SOAP client support. Strictly speaking you can also send low level SOAP requests but most modern SOAP client libraries let you operate on a higher level.
sipxecs 4.4: Every sipXconfig installation already publishes the SOAP API on URLs
https://yourdomain:8443/sipxconfig/services/*Service. See the documentation above to get a list of all the services
From the WSDL, you can use the SOAP4R project to build client bindings.
Here is a sample script that adds 10 users to a system. You can adapt the sample script to your needs. This script requires SOAP support for perl to be installed on your machine. The script can be modified to run from any host.
To install SOAP support for perl, CentOS systems will need to install rpmforge first. NOTE: Alternative approach using
CPAN to install of SOAP::Lite consistently failed.
yum install perl-libwww-perl perl-SOAP-Lite
wsdldoc from bluetetra is used to generate the API documention from the WSDL
java -jar $WsdlDocDir/wsdldoc.jar \ -title "sipXconfig SOAP API v3.2" \ -dir `pwd`"/ws-api-3.2" \ http://sipxecs.sipfoundry.org/rep/sipXecs/main/sipXconfig/web/src/org/sipfoundry/sipxconfig/api/sipxconfig.wsdl