3CX Phone System permite controlar la operación de las extensiones mediante una muy simple interfaz de programación HTTP. Dada su simplicidad, es ideal para una integración rápida y sencilla con aplicaciones externas mediante HTTP.

Las funciones disponibles son:

  • Realizar una llamada desde una extensión hacia cualquier número (interno o externo)
  • Deshabilitar una extensión
  • Habilitar una extensión
  • Deshabilitar llamadas externas para una extensión
  • Habilitar llamadas externas para una extensión
  • Deshabilitar la grabación de llamadas para una extensión
  • Habilitar la grabación de llamadas para una extensión

Cada una de las funciones requiere una invocación HTTP GET con una serie de parámetros de configuración. A continuación se muestran ejemplos para cada una de las funciones disponibles, donde deberán ajustarse los valores correspondientes a los siguientes parámetros:

Parámetro Descripción
<pbx> Dirección IP de la PC donde se encuentra instalado 3CX Phone System
<ext> Número de la extensión sobre la que se desea operar
<dest> Número de destino para realizar una llamada saliente
<ext_pin> Contraseña para la extensión
<pbxpass> Contraseña para la interfaz de administración de 3CX Phone System

 

Realizar una llamada

http://<pbx>:5481/ivr/PbxAPI.aspx?func=make_call&from=<ext>&to=<dest>&pin=<ext_pin>

Deshabilitar una extensión

http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable=1

Habilitar una extensión

http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable=0

Deshabilitar llamadas externas para una extensión

http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable_external=1

Habilitar llamadas externas para una extensión

http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable_external=0

Deshabilitar la grabación de llamadas para una extensión

http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&record_calls=0

Habilitar la grabación de llamadas para una extensión

http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&record_calls=1

Concatenación de comandos

Es posible enviar varias instrucciones en una sola invocación. Por ejemplo, supongamos que necesita que la extensión 100 no pueda realizar llamadas externas, y que todas sus llamadas sean grabadas. El comando a utilizar sería como el siguiente:

http://10.172.0.15:5481/ivr/PbxAPI.aspx?func=upd_ext&extnum=100&pwd=admin&disable=0&disable_external=1&record_calls=1

Implementación de referencia

Puede ver aquí una implementación sencilla que utiliza la HTTP API. Abra la página desde su navegador y seleccione “Ver código fuente” para ver cómo está hecho.