PDF de programación - Instalación y configuración de Asterisk

Imágen de pdf Instalación y configuración de Asterisk

Instalación y configuración de Asteriskgráfica de visualizaciones

Publicado el 7 de Junio del 2021
509 visualizaciones desde el 7 de Junio del 2021
124,9 KB
17 paginas
Creado hace 14a (21/05/2009)
Instalación y Configuración de Asterisk

<Moisés Silva> [email protected]

TODO:

Tipo de Propuesta: Taller - 4 Horas

Track: Aplicaciones

Resumen:

Es importante que las comunicaciones sean abiertas. Por lo tanto es importante apoyar el software libre.
Mas aún el software libre que se encarga de hacer posible la comunicación. Asterisk se ha posicionado en pocos
años como algo mas que un PBX; es un servidor de comunicaciones increiblemente flexible. Durante este taller
mostraremos como configurar Asterisk para poner en marcha tu propio PBX. Explicaremos las diferencias y el papel
que juegan los distintos protocolos que pueden ser utilizados para VoIP.

Durante esta sesión técnica se tocarán los siguientes puntos:
* Instalación de Asterisk en GNU/Linux (preferentemente Gentoo Linux)
* Configuración de extensiones SIP, IAX (si hay recursos, Zap, Unicall)
* Configuración de los patrones de marcado.
* Configuración de transferencia asistida y otros servicios (features.conf)
* Uso de los manejadores CDR.
* Uso apropiado de los CODECs
* Ejemplo de uso de diversas aplicaciones (Voicemail, MeetMe etc)
* Conexiones IAX2, tipos de autorización (RSA, plain, md5)

1. Instalación de Asterisk (y otros paquetes necesarios) (1 hora)

Asterisk es un PBX (Private Branch Exchange) basado completamente en software. Funcionalidad que
durante mucho tiempo se hacia utilizando circuitos electrónicos de conmutación ha empezado a desarrollarse en
software, volviendo los equipos mas flexibles, configurables y baratos. La instalación de Asterisk en GNU/Linux no
difiere mucho de la instalación de cualquier otro servicio. Antes de instalarlo veremos como esta constituida la
arquitectura general de Asterisk. En el siguiente diagrama he plasmado los conceptos que considero mas importantes
y que tocaremos a lo largo de este taller.

Si nuestro deseo fuera unicamente instalar Asterisk para servicios puramente VoIP. La parte del diagrama
que involucra chan_zap, chan_unicall y los drivers de zaptel desaparecerían. Sin embargo normalmente es necesario
conectarnos a redes tradicionales como la red telefónica pública conmutada, RTPC o PSTN por sus siglas en inglés.
Por esta razón necesitamos algunas dependencias mas. Los siguientes paquetes son necesarios para nuestra
instalación.

sqlite 2.x ( utilizaremos el sencillo manejador de CDR para SQLite)
zaptel-1.2.5 (drivers para el funcionamiento de tarjetas telefónicas PCI )
asterisk-1.2.7.1
kiax, kphone (o cualquier otro par de softphones SIP e IAX)

En gentoo basta utilizar los "use flags" apropiados y ejecutar el comando "emerge asterisk". Para ver las banderas
disponibles y cuales se encuentran habilitadas ejecuta "emerge asterisk -pv", cualquier bandera extra que desees
agregar o eliminar puedes hacerlo editando el archivo "/etc/portage/package.use". Dependiendo de las banderas
gentoo decidira las dependencias adecuadas para Asterisk y los softphones.

Para instalarlo a mano, descomprime los archivos .tar.gz con el comando

tar -xvpzf <nombre del archivo>
Para el caso de zaptel el siguiente comando lo instalará:
make linux26
make install
Asterisk necesita:
make install

La compilación puede tomar minutos mas, minutos menos dependiendo de la velocidad de tu procesador, o de si
compartes la compilación utilizando servicios como distcc. Mientras se compila, pasemos a revisar los archivos de
configuración y directorios mas importantes que se instalarán.

/etc/asterisk
En este directorio se encuentran todos los archivos necesarios para configurar la gran cantidad de servicios que
Asterisk provee. Tomaría mucho tiempo revisar todos estos servicios, por lo que nos concentraremos en los mas
importantes.

asterisk.conf > configuraciones generales de la ubicación de directorios de configuraciones, módulos
compilados, voicemails etc. En general es buena idea no modificar estas configuraciones, salvo casos
especiales.
cdr.conf > Configuraciones referentes al "Call Detail Record". Los CDR son sumamente importantes para
las compañias telefónicas. Modificar datos en este archivo puede repercutir en la integridad de los CDR si
no estás seguro de lo que haces. Si tu instalación es unicamente de prueba, o los CDR no son materia
importante, no hay problema.
codecs.conf > A menos que utilices SPEEX, o quieras hacer cosas especiales con la forma en la que los
codecs se comportan, es mejor no modificar este archivo.
extconfig.conf > Archivo para mapear archivos de configuración hacia tablas en alguna base de datos, de
forma que no es necesario guardar las configuraciones en archivos. Mas adelante hablaremos un poco mas
acerca de esto.
extensions.conf > Tal vez el archivo mas importante de Asterisk. En este archivo se toman las decisiones de
ruteo de las llamadas. Mas adelante veremos la sintaxis de este archivo y hablaremos sobre extensions.ael
features.conf > Este archivo es también muy importante. Permite habilitar y configurar servicios genéricos
de un PBX como la transferencia asistida y monitoreo de llamadas.
iax.conf > Importante archivo para el funcionamiento del canal chan_iax que le permite a Asterisk
interactuar con otros dispositivos IAX, incluyendo otros PBX Asterisk.
indications.conf > Configuraciones para los grupos de frequencias a utilizar para la indicacion del proceso
de las llamadas. Los defaults suelen ser suficiente.
logger.conf > Que nivel de verbosidad deben tener los mensajes de log y a donde deben ser enviados.

manager.conf > Configuración del importante servicio AMI (Asterisk Manager Interface) que permite
conectarnos a un socket TCP y manejar el PBX. De cierta forma se encuentra relacionado con el archivo
http.conf, que provee de una interface para programar aplicaciones con AJAX que se comuniquen
directamente con AMI.
modules.conf > Archivo sumamente importante. Determina que módulos serán cargados por Asterisk al
iniciar. Es frecuente que cuando se instala asterisk por primera vez, no arranque debido a que no puede
cargar un módulo para el que no tenemos soporte. Esto se soluciona comentando la línea del módulo en
este archivo.
sip.conf > Análogo del archivo iax.conf para el protocolo SIP

zapata.conf > Configuración de los canales Zap. Las configuraciones de este archivo deben coincidir con el
hardware instalado y la configuración del driver zaptel. Existe un archivo muy similar a este llamado
unicall.conf, no incluido directamente con Asterisk.

/var/log/asterisk

Cuando hay problemas, este es el lugar en donde debemos buscar. En esta carpeta se encuentran los

archivos de registro de las operaciones de Asterisk. Veamos que archivos podemos encontrar.

cdr,db > Este archivo se encuentra disponible si se cuenta con el CDR handler para la base de datos SQLite.
El archivo contiene la base de datos de los registros de las llamadas.
event_log > Registro de eventos sucedidos en el PBX.

full > Creado con la intencion de contener todos los mensajes de debug del sistema.

messages > Contiene un listado de los mensajes de warning, debug y demas niveles de logeo.

queue_log > Archivo utilizado principalmente por la aplicacion app_queue.

/var/lib/asterisk

Directorio con archivos de audio, llaves RSA, scripts AGI (Asterisk Gateway Interface), base de datos
astdb y archivos para el pequeño servidor HTTP para AJAM (Asynchronus Javascript Asterisk Manager). Aqui
veremos una descripción de cada uno de los directorios, ya que los archivos pueden ser irrelevantes.

agi-bin/ > Aqui se contienen programas en C, PHP, Python o cualquier otro lenguaje con el que se pretenda
interactuar desde Asterisk. Al final de este taller revisaremos con mas detalle AGI.
keys/ > Directorio que contiene llaves RSA para la autenticación de llamadas con el protocolo IAX2

sounds/ > Directorio con todos los sonidos que serán utilizados por aplicaciones como Playback() y
Background()
mohmp3 > Archivos MP3 para MusicOnHold

Bien, ahora que la compilación ha terminado, y hemos terminado de revisar los archivos que fueron

instalados, podemos proceder a iniciar Asterisk. Varias distribuciones de GNU/Linux incluyen su propia forma de
iniciar servicios. Para gentoo: /etc/init.d/asterisk start

Haciendolo a pata no es tan difícil. Iniciaremos el servicio como "root" (no intenten esto en casa!).

asterisk -vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvc

Si se equivocan en la cantidad de "v" vale queso y provocamos "kernel panic", asi que cuentenle bien todas

las v, :p , ya hablando en serio, solo estamos usando dos opciones para iniciarlo. La "v" indica 1 incremento en la
verbosidad (que tantos mensajes de notificaciones se observan en la consola), asi que mientras mas letras "v" más
mensajes tenemos. La letra "c" nos proporciona una consola donde podemos ver mensajes de lo que sucede en el
PBX y podemos ejecutar comandos de Asterisk. La linea de comandos en Asterisk es muy similar a bash, asi que es
sencilla de usar. Si presionamos <TAB>, veremos los comandos disponibles, y desde luego también podemos
completarlos. Ahora estrenemos nuestra linea de comandos ejecutando:

*CLI> sip show peers

Este comando nos muestra los "peers" disponibles en el sistema. No revisaremos con detalle lo que

significa un "peer". De momento digamos que nos muestra las extensiones dadas de alta en el sistema que hablan el
protocolo SIP. Existe un comando análogo para IAX2. Con esto ya tenemos un PBX instalado en nuestra
computadora!. En la siguiente sección veremos como hacer algo útil con él :D

2. Patrones de marcado y configuración de extensiones SIP/IAX (1 hora)

Para los impacientes iremos directo a la acción y luego las explicaciones. Abre el archivo

/etc/asterisk/extensions.conf con tu editor favorito (sugiero VIM ampliamente) y escribe:
[hello-world]
exten => _XX,1,Answer()
exten => _XX,2,Playback(hello-world)
exten => _XX,3,Hangup()

Guarda el archivo, abre sip.conf y escribe:

[general]
[general]
bindport=5060
bindaddr = 0.0.0.0
localnet = 192.168.1.0/24 ; aqui va la
  • Links de descarga
http://lwp-l.com/pdf19276

Comentarios de: Instalación y configuración de Asterisk (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad