Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Samantha Santin: ola me pueden ayudar con lo basico para un examen de linux , estoy en 10 mo de basica , por favor , gracias  
  • alexandra: hola...tengo problemas para configurar las llamadas y crear los troncales....uso elastix 2.0.3 con asterisk 1.6...y soy nueva en esto..puedo relizar llamadas dentro de una misma oficina, pero no puedo sacarlas fuera, es decir locales e internacionales...necesito asesoria...gracias  
  • Ben: Welcome to visit www.vogue4biz.com and www.seekjersey.com! Wholesale Jordan Shoes and NFL/NHL jerseys!New Arrival ! Free Shipping !
    Consequently, a Avirex jacket variety evolved into winner fashion4biz already in the market, mainly with their variety of air travel puma shoes women jackets which in turn for the most part mimics those of journey outdoor jackets put on around WWII. Due to its results, Avirex make have in addition enhanced by jackets to other common attire outlines including t shirts, hoodies, along with jeans.
    A great number of completely new attire lines also gained plenty of celebrity inside entertainment world. To its captivating pattern in addition to level of quality attire, Avirex includes received its own head connected with celebrity followers which include: Ruben Travolta, Will certainly Henderson, Puffy Hair combs, Chad Good ole', Shaquille O'Neal, Busta Rhymes,, puma shoes ladies Sylvester Stallone, Missy Elliott, Eminem, Nas, All 5, Procedure Guy,, Make Nubian, Lmost all Awesome L, David Cena, as well as Georgio Armani. Start off your individual from suppliers avirex company by www.vogue4biz.com
    Avirex regarding todayIn women s puma shoes 2008, this Avirex make has been bought in 3 entire ladies puma shoes suede puma shoes world districts, United states of america, European countries puma shoe sale along with The japanese. A brand new owner of Avirex brand in the us cat puma shoes can be Draw Ecko Corporation. According to a lot of people, each one districts possess their own libraries regarding Avirex garments range. Not really a pair of parts get identical types associated with outfits. His or her just likeness is with their particular usage of brand.
    Even puma ladies shoes so, the availability associated with flight handling outdoor jackets were quit afterwards that year. In line with Mark, all of Avirex printed government and timeless apparel had been discontinued along with used a new Clymans firm, Cockpit U . s .. Start out your own from suppliers avirex company by Sevenwholesale.com.  
  • Fernando Hernández: Hey! Ya no estan disponibles los posts sobre facturación electrónica en México, podrías pasarme el tutorial o la clase en php? Por favoooor. Gracias  
  • daniel nuñez: buenas soy de venezuela y tengo una duda yo lo que quiero es hacer una iso debian que tenga todos los paquetes necesarios completos y programas como synaptis fortran java los pluging de video y sonido ya instalados osea que tenga todo lo necesario instalado pero sin que sea una instalacion con un cd netinst, es posible ?  
  • Cesar villegas: Buenas!!! oye no tienes programado algún curso?  
  • Urbano: Hola soy de Argentina.
    Desde hace un tiempo tengo instaldo Asterbilling SL y me parece un rpoyecto útil e interesante. Ahora me compré un AT 530 con la intension de pasar la tarifa al telefono pero seguramente algo estoy haciendo mal ya que despues de configurar el script con los datos del AMI; MySQL y ejecutar el comando que indica el manual.. no pasa nada, todo sigue igual y no se muestra la tarifa en la pantalla del telefono. Tal vez deba configurar algo tambien en el telefono.. la verdad no se, es que tampoco soy un experto en la materia. Les dejo algunos datos que talvez sean utilespara que me puedan ayudar: Tengo Elastíx 2.0.3 con Asterisk 1.6; FreePBX 2.7.0.3; A2Billing 1.8.1; Astercc 1.4 y Asterbilling SL. Espero que me puedan ayudar; desde ya muchas gracias.  
  • kike: Oye filein.. necesito una cotización de unas FxO para analógicas porfa..
    saludos  
  • cristy: hola por favor tengo problemas para conectar agi con asterisk me sale un error de broken pipe, sabes de que se trata???  
  • Jose: Heyu como podria funcionar con el CM15?
    Gracias  

Escribe el código Captcha que estás viendo

Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

Un par de años atras desarrollé una aplicación para la empresa de un conocido que se integró a un conmutador de Voz sobre IP para poder dar mayor atención a sus clientes . Esta aplicación permitía dar información telefónica hablada de forma automática a diversos clientes, cuándo ellos llamaban a una de las líneas del conmutador había una opción dentro del IVR(Interactive Voice Response) que los llevaba a una extensión dónde tenía configurada la aplicación, esta aplicación permitía recibir el ID del cliente y darle información de sus pedidos, envíos, facturas, y de la información de saldos todo esto lo podía hacer el cliente solo usando su teléfono.
Esta aplicación lo que hacía era pedir la información del cliente a traves del teléfono y luego esa información digitada por el cliente, era consultada en una base de datos de MySQL, y regresaba la información de forma hablada usando Festival usando la tecnología que se le conoce como Text to Speech.
El uso de los AGIs me permitió implementar esta funcionalidad dentro del conmutador de Voz sobre IP y tener una interacción oral entre el cliente y el conmutador de Voz sobre IO, explico todo esto ya que hace unos días me llegó un correo dónde me preguntaba un amigo como implementar un AGI en Asterisk por lo que a continuación pongo un How To en base al procedimiento que use hace un par de años y que ahora puede ser que haya quedado obsoleto.
Antes de usar este How To, también es recomendable darle un ojo al How To que puse de como configurar Festival para usarlo con Asterisk

http://phylevn.mexrom.net/index.php/blog/show/_Como_configurar_Festival_en_Asterisk_.html

Aunque el uso de AGIs se puede implementar en cualquier lenguaje de programación que funcione sobre linux, he preferido usar PHP en este caso.
También el desarrollo de los AGIs puede ser manual, es decir usando las interfaces de entrada, salida y depuración definidas por al API de asterisk, aunque esto no es recomendable por el hecho simple que puede ser más tardado programarlo, por lo que recomiendo una clase PHPAGI que ya lleva algunos años de desarrollo y que puede obtenerse la última versión desde la siguiente URL, la cuál contiene un sin fin de funciones bastante prácticas.
http://phpagi.sourceforge.net/
De ahí he descargado los siguientes archivos:
phpagi-2.14.tgz       34851      5128      Platform-Independent      .gz
phpagi-examples-2.14.tgz     670707     3601     Platform-Independent     .gz
phpagi-2.14.tgz este archivo contiene todos los métodos de la clase PHPAGI para echar andar los AGis con Asterisk
phpagi-examples-2.14.tgz Este archivo contiene ejemplos para usar la clase PHPAGI
Despues de la descarga de los archivos descomprimir las librerías dentro del directorio de agi-bin de Asterisk
cd /var/lib/asterisk/agi-bin
phylevn@linuxmovil:/var/lib/asterisk/agi-bin$
#Descomprimir  el archivo de phpagi-2.14.tgz
phylevn@linuxmovil$ sudo tar -xzvf ~/asterisk/phpagi-2.14.tgz
#renombrar el directorio generado
phylevn@linuxmovil$ sudo mv phpagi-2.14 phpagi
#Crear un archivo .php dónde implementemos un AGI demo
sudo emacs demoagi.php
#Dentro este archivo añadimos lo siguiente:
 
//*****************
#!/usr/bin/php -q
<?php
//llamamos a las librerías de phpagi
 require("phpagi/phpagi.php");
//activamos la bandera de enviar todo lo que se realice a consola como modo depuracion
 error_reporting(E_ALL);
//creamos una instancia de la clase AGI
$agi = new AGI();
//generamos el comando Answer de Asterisk, este comando siempre lo ejecutamos al inicio de un AGI
$agi->answer();
//Este demo consultará información en una base de datos y regresará la información de forma hablada por lo que generamos una conexion a la base de datos de sql
$conexion = mysql_connect("localhost","pruebas","pruebas") or die("Error: El servidor no puede conectar con la base de datos");
//Referenciamos el cursor a la base de datos
mysql_select_db("pruebas",$conexion);
 
//obtenemos el caller id de quién realiza la llamada
$_cid = $agi->parse_callerid();
//enviamos un mensaje de voz por medio de festival que está configurado en idioma espanol
$agi->text2wav("Hola, Tu número es {$_cid['name']}.");
 do {
//enviamos otro mensaje para que introduzca un código de producto seguido por # o 999# para salir
       $agi->text2wav('Cual es la clave del producto  ?  Presiona la tecla gato despues de introducir la clave del producto.  Presiona 999 seguido de la tecla gato para salir.');
//enviamos un beep y esperamos 20 segundos en la espera de una respuesta
  $_result = $agi->get_data('beep', 3000, 20);
//obtenemos la información introducida desde el telefono
  $keys = $_result['result'];
//si introdujo un valor el cliente entonces creamos el string la consulta sql y la ejecutamos
  if($keys!=""){
    $query = "select descripcion, precio from productos where clave_producto=\"$keys\" ";
    $_result = mysql_query($query, $conexion);
    //verificamos si existe un resultado
    if($_re = mysql_fetch_array($_result)) {
       //Regresamos de forma hablada la informacion encontrada
        $agi->text2wav("El producto es $_re[description], y su precio $_re[price]");
    }else{
       //de lo contrario enviamos un mensaje de que el producto no pudo ser encontrado
       $agi->text2wav("El producto no pudo ser encontrado en nuesta base de datos");
   }
  }
 
} while($keys != '999');
 $agi->text2wav('Goodbye');
//al finalizar el script del AGI siempre es recomendable ejecutar esta función para no dejar el canal abierto.
 $agi->hangup();
?>
//
*****************
 
#Despues de agregar lo anterior guardamos el archivo demoagi.php
#le damos permisos de ejecucion
sudo chmod +x demoagi.php
#Creamos el archivo phpagi.conf en el directorio de archivos de configuración de Asterisk.
sudo emacs /etc/asterisk/phpagi.conf
#Y en ese archivo introducimos lo siguiente
[festival]
text2wave=/usr/bin/text2wave
tempdir=/var/lib/asterisk/sounds/tmp/
#ojo solo verificar la ruta de instalacion de text2wave, con whereis text2wave sabremos su directorio
# si no se encuentra el directorio /var/lib/asterisk/sounds/tmp/,  creamos el directorio, y le asignamos el usuario de ejecución del pbx de asterisk
#Despues de guardar los cambios al archivo editado anteriormente, creamos una extension dentro del archivo extensions_custom.conf en el directorio de configuración Asterisk
sudo emacs /etc/asterisk/extensions_custom.conf
#y agregamos algo como esto
[custom-agiphp]
exten=>101,1,Answer
exten=>101,2,agi(demoagi.php)
exten=>101,3,Hangup
#guardamos el archivo y reiniciamos asterisk, este modo de reinicio es pensando que tenemos FreePBX instalado.
sudo amportal restart
#Si tenemos instalado FreePBX en nuestro servidor de Voz sobre IP, esto también se puede configurar en la parte de configuración de extensión para Aplicaciones.
#Despues de que Asterisk haya inicializado, solo desde alguna extensión marcamos la extensión 101 y podremos notar que nuestra aplicación comienza a funcionar.
 
El uso de los AGIs también se puede implementar con la librería comercial de LumenVox para poder incorporar la tecnología de reconocimiento de voz, por lo que la comunicación entre nuestra aplicación y el usuario sería completamente Oral.

#1 Re: Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

Johan Serrato, <E-Mail> / 22 May, 10:58am  
avatar

Hola a todos y antes que nada gracias por este manual.
Yo estoy intentando implementar esta misma AGI en Trixbox.
Cambiando algunos comandos logre hacer funcionar el
Festival. Sin embargo no he podido escuchar información
obtenida desde una Base de Datos. Segui las instrucciones
del manual pero cada vez que marco desde una extensión al 101 obtengo un mensaje que dice "La persona que esta llamando no
esta disponible, por favor intente mas tarde".
Al ingresar al Asterisk CLI no aparece nada al marcar al 101.
Agradezco cualquier ayuda o consejo que me puedan brindar para
resolver mi problema.

[ Responder (1) ]

#1.1 Re: Re: Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

victor, <E-Mail> / 8 October, 11:27am  
avatar

amigo, sou nuevo en asterisk y en linux, me gustaria me pudieras ayudar a hacer funcionar festival en trixbox.
gracias.

[ Responder (0) ]

#2 Re: Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

Phylevn, <E-Mail> / 30 May, 5:57pm  
avatar

Humm.. ya diste de alta la extension 101 en extensions_custom.conf ?
extensions_custom.conf en freepbx, es un archivo adicional a extensions.conf, ahí configuras de forma manual tús extensiones, ya que si las das de alta dentro de extensions.conf al reiniciar amportal (el daemon de freepbx ) elimina las configuraciones manuales en ese archivo, por eso revisa cuál es el nombre del archivo para las configuraciones manuales de las extensiones en trixbox, en algunos casos es extensions_additional.conf.
Saludos

[ Responder (0) ]

#3 documentacion sobre AGI

dagoberto, <E-Mail> / 31 January, 9:43pm  
avatar

necesito todo lo que pueda de AGI por favor que estoy trabajando en aplicaciones de Voip
garcias

[ Responder (0) ]

#4 Re:Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

Phylevn, <E-Mail> / 1 February, 2:39pm  
avatar

En http://www.voip-info.org puedes encontrar toda la información referente a AGIs. Saludos.

[ Responder (0) ]

#5 Como implementar un AGI con PHP en un conmutador de VoIP sobre Asterisk

Jose Tapia, <E-Mail> / 16 March, 3:41pm  
avatar

Gracias por el aporte se te agradece mucho :D

[ Responder (0) ]

Dejar un comentario

Escribe el código Captcha que estás viendo

Fuentes XML de comentario: RSS | Atom

Emblemas

Energizado por Jaws Project
Soporta RSS2
Energizado por Software Libre
Energizado por Mozila Firefox
Energizado por Ubuntu Linux
Energizado por PHP
Energizado por Apache Web Server
Energizado por MySQL
Energizado por SQLite
atom

¿ Where The Hell Am I ?

Mi Flickr







Aquí Mis Mejores Fotos

Eventos

Encuesta

¿Que medio de comunicación usas más ?

Comentarios Recientes