API de registros VoIP
Sumario
¿Qué es la API de registros VoIP?
Descripción de API
Este servicio web nos permite listar los registros VoIP de un número virtual, una extensión de centralita o un siptrunk.
Si no sabe lo que es una API lea ¿Qué son las APIs de Mi Oficina Web?
Forma de uso
Lista de registros
Devuelve la lista de registros VoIP (en XML).
La URL debe ser:
https://scgi.duocom.es/cgi-bin/oficinaweb/apiregistrosvoip?usuario_voip=xxxxxxxxx&password_voip=xxxxxxxx
donde:
- 'usuario_voip' es el número de usuario VoIP (ejemplos: 902009000, 902009009.1234).
- 'password_voip' es la contraseña del usuario VoIP , establecida en el momento de activarlo.
Respuesta del servicio API
El servicio web retorna todas las respuestas en formato XML. Todas las respuestas están encerradas en la raíz 'registros', y contiene siempre un campo 'error' que será 0 si el comando o petición enviado al servidor se ejecutó con éxito, o 1 si hubo algún error, en cuyo caso habrá también un campo 'msgerr' que explica dicho error.
Por ejemplo, una respuesta afirmativa sería:
HTTP/1.1 200 OK Date: Mon, 20 Feb 2012 11:43:37 GMT Server: Apache Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/xml <?xml version="1.0" encoding="UTF-8" ?> <registros> <error>0</error> </registros>
Una respuesta de error sería:
HTTP/1.1 200 OK Date: Mon, 20 Feb 2012 11:43:37 GMT Server: Apache Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/xml <?xml version="1.0" encoding="UTF-8" ?> <registros> <error>1</error> <msgerr>Usuario incorrecto.</msgerr> </registros>
Ejemplos de uso API
Ejemplo de llamada al servicio web en PHP + CURL
Tenga presente que, aunque la aplicación web es accesible mediante una URL, no debe poner nunca enlaces a esta aplicación directamente en el código fuente de sus páginas web, ya que sus visitantes podrían descubrir datos sensibles como su número de usuario y su contraseña simplemente mirando el código HTML.
La aplicación web debe ser llamada siempre desde el servidor, usando para ello alguna de las librerías que permite llamadas a servicios HTTPS.
He aquí un ejemplo en PHP usando cURL, cortesía de tuayudainformatica.com:
<?php $usuario = '911010009'; $pass = 'miClaveSecreta'; $curl = curl_init("https://scgi.duocom.es/cgi-bin/{{DIR_CGI}}/apiregistrosvoip? usuario_voip=${usuario}&password_voip=${pass}"); // LLAMADA DE LA URL curl_setopt($curl, CURLOPT_HEADER, false); // PARA EVITAR DEVOLUCION DE CABEZERAS HTTP curl_setopt($curl, CURLOPT_TIMEOUT, 5); // TIEMPO DE ESPERA $output = curl_exec($curl); // EJECUTAMOS LA LLAMADA curl_close($curl); $output = substr($output, 0, 1); // XML ?>
Ejemplo de listado de registros en XML
<?xml version="1.0" encoding="UTF-8" ?> <registros> <error>0</error> <registro> <pos>1</pos> <estado>valido</estado> <nombre>"902955955.1234"</nombre> <user_agent>Cisco/SPA504G-7.5.5 mac=ddff596ea515</user_agent> <ip>83.126.132.62</ip> <pais>ES</pais> <ip_privada>172.26.0.101</ip_privada> <puerto_cliente>16044</puerto_cliente> <puerto_servidor>TCP</puerto_servidor> <expira>Lun 26/09/2016 15:49:25</expira> </registro> <registro> <pos>2</pos> <estado>valido</estado> <nombre>"902955955.1234"</nombre> <user_agent>Linksys/SPA942-6.1.5(a) mac=000aaaabbbaa</user_agent> <ip>185.55.126.82</ip> <pais>ES</pais> <ip_privada>192.168.1.101</ip_privada> <puerto_cliente>16400</puerto_cliente> <puerto_servidor>16080 (m2sip)</puerto_servidor> <expira>Lun 26/09/2016 15:15:26</expira> </registro> <registro> <pos>3</pos> <estado>expirado</estado> <nombre></nombre> <user_agent>Voip Duocom Europe SL. Android 2.0.1 mac=0123456789ab red=wifi Nexus 6 6.0.1</user_agent> <ip>83.126.132.62</ip> <pais>ES</pais> <ip_privada>192.168.1.122</ip_privada> <puerto_cliente>46336</puerto_cliente> <puerto_servidor>TLS</puerto_servidor> <expira>Jue 22/09/2016 21:17:32</expira> </registro> <registro> <pos>4</pos> <estado>expirado</estado> <nombre></nombre> <user_agent>Voip Duocom Europe SL. Windows32 2.0.0 mac=ba9876543210 red=eth Windows 7 (build 7601, Service</user_agent> <ip>83.126.132.62</ip> <pais>ES</pais> <ip_privada>10.0.2.15</ip_privada> <puerto_cliente>48046</puerto_cliente> <puerto_servidor>TLS</puerto_servidor> <expira>Jue 04/08/2016 13:41:36</expira> </registro> <registro> <pos>5</pos> <estado>expirado</estado> <nombre>"902955955.1234"</nombre> <user_agent>Cisco/SPA504G-7.5.5 mac=ddff596ea515</user_agent> <ip>82.33.222.153</ip> <pais>ES</pais> <ip_privada>172.26.0.101</ip_privada> <puerto_cliente>16046</puerto_cliente> <puerto_servidor>TCP</puerto_servidor> <expira>Mie 22/06/2016 16:08:11</expira> </registro> </registros>
Indice
Página principal >> Desarrolladores >> API de registros VoIP.