2017-10-03 edited: Note the HTTP API is no longer available in the latest versions of 3CX, please refer to How to dial out with 3CXPhone for Windows.
This blog will explain how to connect up Acarda Outbound Agent to dial out with 3CX’s IP-PBX. Acarda Outbound can dial out via phone systems that support RESTful API’s and HTTP URL’s; and so with 3CX’s IP-PBX it dials via their HTTP API.
These instructions apply to both the Team and Solo Editions of Acarda Outbound. For Acarda Outbound Team: In Acarda Outbound Agent click on the Tools menu up the top right side of the screen and select the Dialing Device submenu. For Acarda Outbound Solo: Click on the Agent View tab and in the top right, click the Tools menu and select the Dialing Device submenu.
Figure 1: The dialing device configuration.
Once you have selected the dialing device menu from the drop-down, you will be presented with the dialog above. You can then select the “HTTP/Web API” from the current dialing device drop-down to use this dialing method.
The HTTP/Web API only supports commands for dialing a telephone number and for hanging up. Not all systems support the ability to end a call via an API. If your system does not support this then leave the hang up address box blank and it will not be used. You will not be able to use our software to hang up – but you should be able to use the phone systems’ phone or proprietary software to hang up.
Figure 2: The HTTP/Web API configuration.
In the Command URLs you are able to set the URL to be requested as well as the HTTP request method (either GET or POST). Most APIs will use the “Get” verb. The dial setting above also treats the [ph] text in the URL as a placeholder for the telephone number needing to be dialed via Acarda Outbound. Other parameters used in the URL should be set according to the phone system’s documentation. In the case of 3CX’s phone system, the URL would look like the one below:
Where the <pbx> is the IP address of the phone system computer, <ext> is the extension number of the device and <ext pin> is the extensions password. The request verb for this would be GET.
Note: Some phone systems will only accept calls to their respective API’s from the local network. This is for security purposes (and applies to 3cx systems). Often this configuration can be changed but you must understand the potential security risks in doing so.
To read up more on 3CX’s integration with HTTP API please refer to their blog at http://www.3cx.com/blog/docs/3cx-http-api/