{expand: Table of contents.}{toc}{expand}
h2. Introduction
_VoiceWorks sipXworks PHP API_ encapsulates a subset of sipXconfig and sipXconfig-agent (ACD) SOAP API.
The project offers a single [noarch RPM|^sipxworks-phpapi-1.0-194.noarch.rpm] for download that works with all RedHat's family distros both with sipXecs 3.10 and 4.0 (I hope) ;)
h2. Extras
PHP API comes with a few example scripts and a httpd context with [example page that shows ACD Queue Statistics|vwost:sipXworks example queue stats screen]
h2. Features
* sipXconfig (a lot of missing features)
** User management
*** Add/Del user
*** Add/Remove user to/from group
*** Search for users
** Phone management
*** Restart phone
*** Add lines
*** Add Polycom phones
* sipXacd
** Access Queue Statistics
** Access Agent History
h2. Installation
* Download the [RPM|^sipxworks-phpapi-1.0-194.noarch.rpm]
* Install it
{code}yum install --nogpgcheck sipxworks-phpapi-1.0-183.noarch.rpm{code}
{note:title=sipXecs 4.0 ISO}sipXecs 4.0 ISO has no centos-release package installed hence no way to install sipxworks-phpapi dependencies. If You happen to hit this problem with yum not being able to fetch php then install the missing repository data with:
{code}
rpm -ivh http://mirrors.kernel.org/centos/5.3/os/i386/CentOS/centos-release-5-3.el5.centos.1.i386.rpm
{code}
or for X86_64 ISOs :
{code}
rpm -ivh http://mirrors.kernel.org/centos/5.2/os/x86_64/CentOS/centos-release-5-2.el5.centos.x86_64.rpm
{code}
{note}
* restart sipXecs (restarting httpd should be enough)
{code}service sipxecs restart{code}
* modify {{/usr/local/sipxworks-phpapi/php/api/sipxglobals.php}}
{code}
<?php
class SIPXAPIGLOBALS {
public static $password = 'changeme';
public static $sipXconfigWSDL = '/usr/local/sipxworks-phpapi/php/api/wsdl/sipxconfig.wsdl';
public static $sipXconfigAgentWSDL = '/usr/local/sipxworks-phpapi/php/api/wsdl/sipxconfig-agent.wsdl';
public static $fakestats = false;
}
?>
{code}
{note}set {{$password}} with Your supervisor account password
set {{$faksestats}} to {{false}}{note}
* play with examples @ /usr/local/sipxworks-phpapi/php/examples
{code}
[root@sip1 examples]# php cli_testapi.php
Cleaning up..
Adding user sipXworks001
Adding user sipXworks002
Adding user sipXworks003
Adding user sipXworks002 to group voiceworksapitest
Removing user sipXworks002 from group voiceworksapitestother
Deleting user sipXworks001
Deleting user sipXworks002
Deleting user sipXworks003
{code}
* Go to [http://localhost:8112/acd/queuestats.php] for some queue stats.
localhost can be Your sipxecs IP/FQDN.
[!queuestats.png!|vwost:sipXworks example queue stats screen]
{tip}[There is a wiki page dedicated to this ACD wallboard|vwost:sipXworks example queue stats screen]{tip}
h2. Changelog
* 1.0-194 : 2009-05-13
*# added missing sipxsql.php,logger.php,pgsql.php to the RPM
*# fixed sipxglobals.php template to include fakestats constant
* 1.0-186 : 2009-05-06
*# added SIPXSQL class for direct access to sipXconfig SQL storage
*# added ?user=xyz parameter to example ACD wallboard page show only the user's queues
* 1.0-184 : 2009-05-02
*# added page refresh of 30seconds
*# added queue list filtering
* 1.0-183 : 2009-05-01
*# initial release
h2. Introduction
_VoiceWorks sipXworks PHP API_ encapsulates a subset of sipXconfig and sipXconfig-agent (ACD) SOAP API.
The project offers a single [noarch RPM|^sipxworks-phpapi-1.0-194.noarch.rpm] for download that works with all RedHat's family distros both with sipXecs 3.10 and 4.0 (I hope) ;)
h2. Extras
PHP API comes with a few example scripts and a httpd context with [example page that shows ACD Queue Statistics|vwost:sipXworks example queue stats screen]
h2. Features
* sipXconfig (a lot of missing features)
** User management
*** Add/Del user
*** Add/Remove user to/from group
*** Search for users
** Phone management
*** Restart phone
*** Add lines
*** Add Polycom phones
* sipXacd
** Access Queue Statistics
** Access Agent History
h2. Installation
* Download the [RPM|^sipxworks-phpapi-1.0-194.noarch.rpm]
* Install it
{code}yum install --nogpgcheck sipxworks-phpapi-1.0-183.noarch.rpm{code}
{note:title=sipXecs 4.0 ISO}sipXecs 4.0 ISO has no centos-release package installed hence no way to install sipxworks-phpapi dependencies. If You happen to hit this problem with yum not being able to fetch php then install the missing repository data with:
{code}
rpm -ivh http://mirrors.kernel.org/centos/5.3/os/i386/CentOS/centos-release-5-3.el5.centos.1.i386.rpm
{code}
or for X86_64 ISOs :
{code}
rpm -ivh http://mirrors.kernel.org/centos/5.2/os/x86_64/CentOS/centos-release-5-2.el5.centos.x86_64.rpm
{code}
{note}
* restart sipXecs (restarting httpd should be enough)
{code}service sipxecs restart{code}
* modify {{/usr/local/sipxworks-phpapi/php/api/sipxglobals.php}}
{code}
<?php
class SIPXAPIGLOBALS {
public static $password = 'changeme';
public static $sipXconfigWSDL = '/usr/local/sipxworks-phpapi/php/api/wsdl/sipxconfig.wsdl';
public static $sipXconfigAgentWSDL = '/usr/local/sipxworks-phpapi/php/api/wsdl/sipxconfig-agent.wsdl';
public static $fakestats = false;
}
?>
{code}
{note}set {{$password}} with Your supervisor account password
set {{$faksestats}} to {{false}}{note}
* play with examples @ /usr/local/sipxworks-phpapi/php/examples
{code}
[root@sip1 examples]# php cli_testapi.php
Cleaning up..
Adding user sipXworks001
Adding user sipXworks002
Adding user sipXworks003
Adding user sipXworks002 to group voiceworksapitest
Removing user sipXworks002 from group voiceworksapitestother
Deleting user sipXworks001
Deleting user sipXworks002
Deleting user sipXworks003
{code}
* Go to [http://localhost:8112/acd/queuestats.php] for some queue stats.
localhost can be Your sipxecs IP/FQDN.
[!queuestats.png!|vwost:sipXworks example queue stats screen]
{tip}[There is a wiki page dedicated to this ACD wallboard|vwost:sipXworks example queue stats screen]{tip}
h2. Changelog
* 1.0-194 : 2009-05-13
*# added missing sipxsql.php,logger.php,pgsql.php to the RPM
*# fixed sipxglobals.php template to include fakestats constant
* 1.0-186 : 2009-05-06
*# added SIPXSQL class for direct access to sipXconfig SQL storage
*# added ?user=xyz parameter to example ACD wallboard page show only the user's queues
* 1.0-184 : 2009-05-02
*# added page refresh of 30seconds
*# added queue list filtering
* 1.0-183 : 2009-05-01
*# initial release