Está en la página 1de 8

LABORATORIO 3 DE SISTEMAS DE TELECOMUNICACIONES

INFORME DE LA PRÁCTICA DE AGI

PRESENTADO A:

ING. EDWIN FERNEY CASTILLO

PRESENTADOR POR:

ANDERSSON STIVEN DÍAZ LUCIO


OSCAR ALEXANDER LÓPEZ COBO

UNIVERSIDAD DEL CAUCA

FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES

POPAYÁN 

2020
ASTERISK:
Asterisk es una opción de software libre que proporciona todas las características
de una central telefónica (PBX), como cualquier central puede conectar un número
determinado de teléfonos que pueden implementar el servicio de llamadas entre sí
todo esto dentro de una misma organización e incluso acceder a comunicaciones
fuera de la misma. El creador de Asterisk es Mark Spence (Digium), fue el
iniciador del proyecto y actualmente su principal programador. Se desarrolló
inicialmente para el sistema operativo GNU/Linux pero se encuentra soportado en
los demás sistemas operativos aunque la plataforma nativa (GNU/Linux) es la que
cuenta con mejor soporte de todas.
Asterisk permite un acceso a grandes características que antes solo eran
disponibles por un pago a los propietarios PBX, como es el caso de buzón de voz,
conferencias, IVR, distribución automática de llamadas, etc. Sin embargo, al ser
un software de código abierto los usuarios pueden hacer modificaciones con el
objetivo de agregar funcionalidades escribiendo un dial plan en todo lenguaje de
programación soportado por GNU/Linux. Asterisk cuenta con reconocimiento a un
gran número de protocolos VoIP como SIP, H.323, IAX y MGCP, una de las
principales características tambien es que permite la unificación de tecnologías
como VoIP, GSM y PSTN.

AGI (ASTERISK GATEWAY INTERFACE):


AGI proporciona una interfaz entre el plan de marcado de Asterisk y un programa
externo que quiere manipular un canal en el plan de marcado. AGI es solo una
forma que le permite (como desarrollador de software) crear fácilmente
aplicaciones de telefonía que asterisk se ejecutará de alguna manera a lo largo del
plan de marcado. A través de AGI, puede leer la entrada del usuario, reproducir
archivos de sonido, controlar la llamada y su flujo, y casi todo lo que se necesita
para hacer un IVR (Respuesta de voz interactiva) exitoso en prácticamente
cualquier lenguaje de programación.

LENGUAJE DE PROGRAMACION PHP


El lenguaje de programación PHP Hypertext Pre-processor, fue desarrollado
puntualmente para diseñar páginas web dinámicas programando scripts del lado
del servidor. El lenguaje PHP siempre va incrustado dentro del HTML y
generalmente se le relaciona con el uso de servidores Linux.
PHP se caracteriza por ser un lenguaje gratuito y multiplataforma. Además de su
posibilidad de acceso a muchos tipos de bases de datos, también es importante
destacar su capacidad de crear páginas dinámicas, así como la posibilidad de
separar el diseño del contenido de una web.
Por las anteriores razones descritas se utiliza el lenguaje de programación PHP
para realizar el script, ademas es el lenguaje más conocido y de alto nivel.

BITACORA DE CONFIGURACION:

1. Se realiza la descarga de la librería PHPAGI en el siguiente link


https://sourceforge.net/projects/phpagi/files/phpagi/2.20/

2. En este paso procedemos dirigirnos a la carpeta donde se descargó


PHPAGI para proceder a descomprimirlo.

3. necesario dar permisos 755 para emplear los archivos que usa phpagi en la
implementación de nuestro servicio.
4. Se procede a mover el archivo phpagiexample.conf ubicado en docs de la
carpeta phpagi a la carpeta de asterisk ubicada en /etc/asterisk, de la
siguiente forma:

5. Se instala php y se actualiza el sistema dado a que los repositorios que


tiene la máquina virtual solo instalan versiones anteriores a la 7.3
agregando un nuevo repositorio:
6. Se descarga una versión igual o superior a 7.3 necesaria para el servicio y
verificamos luego la versión instalada.

7. Para el correcto funcionamiento del servicio es necesario dar unos


permisos a la carpeta de sonidos de asterisk, de la siguiente forma:

Cuando ya terminamos la configuración de AGI y sus librerías creamos la


aplicación php en la carpeta agi-bin y se llama la extensión en el archivo
extensions.conf en /etc, la cual tiene una función para llamar aplicaciones
mediante AGI, además se le asigna las extensiones 720000, 720001, 720002.
Posteriormente se procede a programar la aplicación en el lenguaje de
programación PHP, como se muestra en las siguientes imágenes.
En estas líneas se realiza se utiliza la función text2wav(), la cual permite utilizar el
servicio FESTIVAL de asterisk, que permite reproducir con el texto escrito,
también se utiliza la función get_data(), la cual permite obtener los números que el
usuario digita. Posteriormente la sentencia while con el fin de verificar que el id de
los usuarios sea igual al que se encuentra guardo en el sistema, si esto es así se
procede a entrar a realizar la sentencia if. Por ultimo se coloca la sentencia else if
con el fin de verificar que digito el usuario para salir del sistema y colgar.
Con el código de PHP finalizado se realiza las pruebas necesarias para verificar
su correcto funcionamiento utilizando el inicio de sesión en el softphone Zoiper.
PROBLEMAS ENCONTRADOS:

Durante el desarrollo de la práctica se tuvo inconvenientes con la configuración de


AGI ya que para descomprimir la librería PHPAGI no permitía abrir la carpeta
descomprimida. Tambien se tuvo inconvenientes en el desarrollo del código en el
lenguaje de programación PHP ya que en inicio no quería leer el archivo
prueba.php y tampoco reproducir los audios que se configuraron en el código.

SUGERENCIAS:

Se debe seguir los pasos de forma ordena encontrados en internet con el fin de
poder realizar la correcta configuración de AGI ya que esto permitirá el correcto
funcionamiento de del sistema, los permisos de super usuario y los archivos deben
ir ubicados en el lugar correcto de lo contrario no se podrá realizar las respectivas
llamadas a la extensión configurada.

REFERENCIAS:

 https://sourceforge.net/projects/phpagi/files/phpagi/2.20/

 https://www.sinologic.net/2014-09/programa-tus-propias-aplicaciones-de-
asterisk-en-php.html

 https://www.voip-info.org/asterisk-agi/

 https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=32375589

También podría gustarte