Asterisk es una aplicacin de software libre (bajo licencia GPL) de una central telefnica (PBX). Como cualquier PBX, se puede conectar un nmero determinado de telfonos para hacer llamadas entre s e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto bsicos como primarios.
Mark Spencer, de Digium, inicialmente cre Asterisk y actualmente es su principal desarrollador, junto con otros programadores que han contribuido a corregir errores y aadir novedades y funcionalidades. Originalmente desarrollado para el sistema operativo GNU/Linux, Asterisk actualmente tambin se distribuye en versiones para los sistemas operativos BSD, MacOSX y otros, aunque la plataforma nativa (GNU/Linux) es la mejor soportada de todas.
Asterisk incluye muchas caractersticas anteriormente slo disponibles en sistemas costosos propietarios PBX como buzn de voz, conferencias, IVR, distribucin automtica de llamadas, y otras muchas ms. Los usuarios pueden crear nuevas funcionalidades escribiendo un dialplan en el lenguaje de script de Asterisk o aadiendo mdulos escritos en lenguaje C o en cualquier otro lenguaje de programacin soportado por Linux.
Para conectar telfonos estndar analgicos son necesarias tarjetas electrnicas telefnicas FXS o FXO fabricadas por Digium u otros proveedores, ya que para conectar el servidor a una lnea externa no basta con un simple mdem.
Quiz lo ms interesante de Asterisk es que soporta muchos protocolos VoIP como pueden ser SIP, H.323, IAX y MGCP. Asterisk puede interoperar con terminales IP actuando como un registrador y como gateway entre ambos.
Lejos de poder competir con las compaas que comercializan soluciones de VoIP Hw/Sw de alta calidad como Alcatel-Lucent, Cisco, Avaya Nortel, Asterisk se empieza a adoptar en algunos entornos corporativos como solucin de bajo coste junto con SER (Sip Express Router).
Ing. Carlos Acua Ramos Ing. Carlos Acua Ramos
Algunas caractersticas de Asterisk Creacin de anexos IP (SIP). Control, Monitoreo en tiempo real, CDR. Acceso a base de datos (AstDB, MySQL para almacenar el CDR) Interfaz Grfica. Respuesta Interactiva de Voz (IVR) Grabacin de conversaciones. Correo de voz e-mail.
Diagramas (Topologa Arquitectura)
Figura N1
Figura N2
Figura N3
Figura N4
Figura N5
Ing. Carlos Acua Ramos Ing. Carlos Acua Ramos
Protocolos y Codecs usados Telefona IP
Protocolos (SIP, IAX)
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP o Protocolo de Inicio de Sesiones) es un protocolo desarrollado por el IETF MMUSIC Working Group con la intencin de ser el estndar para la iniciacin, modificacin y finalizacin de sesiones interactivas de usuario donde intervienen elementos multimedia como el video, voz, mensajera instantnea, juegos online y realidad virtual. En Noviembre del ao 2000, SIP fue aceptado como el protocolo de sealizacin de 3GPP y elemento permanente de la arquitectura IMS (IP Multimedia Subsystem). SIP es uno de los protocolos de sealizacin para voz sobre IP, otro es H.323.
IAX2 (Inter-Asterisk eXchange protocol)
IAX (Inter-Asterisk eXchange protocol) es uno de los protocolos utilizado por Asterisk, un servidor PBX (centralita telefnica) de cdigo abierto patrocinado por Digium. Es utilizado para manejar conexiones VoIP entre servidores Asterisk, y entre servidores y clientes que tambin utilizan protocolo IAX.
El protocolo IAX ahora se refiere generalmente al IAX2, la segunda versin del protocolo IAX. El protocolo original ha quedado obsoleto en favor de IAX2.
Codecs (G711, G729, GSM, IBLC)
Ing. Carlos Acua Ramos Ing. Carlos Acua Ramos
Dispositivos VoIP
Telfonos IP
Softphone
Adaptadores (ATA)
Ing. Carlos Acua Ramos
Gateways (E1-SIP, GSM-SIP)
Hadware Digium
Ing. Carlos Acua Ramos
CAPITULO 2
Seleccin Hardware Servidor e Instalacin S.O
Este captulo nos ayudara a preparar el sistema para la instalacin de Asterisk. Este funciona en muchas plataformas y sistemas operativos, mas nosotros elegimos mantener las cosas simples y permanecer en una nica plataforma y distribucin de Linux. Vamos usar la distribucin CentOS en este curso. Las instrucciones realizadas en este curso pueden funcionar con otras distribuciones, pero estas no han sido testeadas por nosotros.
Hardware Mnimo
Asterisk puede ser intensivo en el uso de procesador, pues usa el propio procesador del servidor (PC) donde fue instalado para realizar el procesamiento de los canales de voz. Si usted estuviese construyendo un sistema complejo con carga elevada es importante entender este concepto.
Para construir su primer PBX Asterisk un procesador compatible con Intel igual o superior a un Pentium IV 800Mhz con 128 MB RAM es suficiente para un sistema de pruebas que soporte hasta 5 llamadas simultaneas y donde podamos explorar todas las funcionalidades de Asterisk, respecto al sistema operativo podramos optar por una distribucin de Linux como Centos 5.8, con el objetivo de nter comunicarnos con la red publica de telefonia (PSTN) necesitaremos de una tarjeta telefnica de hasta 4 canales ZAP, preferente mente una TDM400P con 4 mdulos FXO correspondientes a 4 lineas analogas.
Asterisk no requiere mucho espacio en disco, cerca de 200 MB se calcula para el sistema calculado, donde SI requerimos espacio es para el almacenamiento de mensajes de voz, llamadas grabadas, CDR (Bases de datos).
Si usted usa nicamente VOIP, ningn otro hardware es necesario. Se puede usar softfones como los de Counterpath (X-Lite) y realizar entroncamiento hacia proveedores de telefona IP.
Algunas aplicaciones de Asterisk como el Meetme requieren una fuente de clock para proveer la temporizacin. Normalmente la fuente de clock de Asterisk es una placa TDM. Si su sistema no tiene una placa TDM, usted puede usar un driver ztdummy que usa el USB como fuente de temporizacin. Ing. Carlos Acua Ramos
Hardware Minimo-Mediano
Un servidor con un procesador Sempron o Celeron de 1 Ghz con 256 MB de RAM seria suficiente para un sistema asterisk que podra soportar de 5 a 10 llamadas simultaneas con mximo dos tarjetas de telefona de 4 canales analgicos cada uno y un S.O Linux kernel versin 2.6 (CentOS 5.8).
Hardware Mediano-Grande
Para un sistema mayor que logre soportar de 10 a 24 llamadas simultaneas lo ideal es un servidor con procesador Pentium 4 o Athlon de 3 Ghz con 512 MB RAM y en ese una tarjeta de hasta 24 canales como la Digium TDM2406B que posee 24 mdulos FXO para 24 lineas anlogas.
Hardware Mediano-Grande
Para un sistema que realice 30 llamadas simultaneas a mas lo mas recomendable es soportarse sobre sistemas Xeon con opcin de segunda CPU adems de tarjetas Digium TE120P y hasta la TE410P o similares (Tarjetas digitales capaces de soporta de 30 a 120 canales digitales de comunicacin). Para arquitecturas superiores es necesario el uso de mltiples servidores y una arquitectura distribuida.
En definitiva la medicin del hardware a utilizar tiene directa relacin con la cantidad de llamadas simultneas a realizar y la cantidad de canales ya sea anloga o digital a usar en nuestro servidor.
Montando su sistema
Elegir hardware necesario para Asterisk no es muy complicado. Usted no precisa de una tarjeta de vdeo sofisticada o perifricos adicionales. Puertos seriales, paralelos y USB pueden ser completamente deshabilitados desde la BIOS. Una buena tarjeta de red es esencial para nuestro sistema. Si usted estuviese usando una de las tarjetas de telefona de Digium, seria bueno verificar las instrucciones de su tarjeta madre para determinar si los Slots PCI soportan estas tarjetas de telefona. Muchas tarjetas madres compartirn interrupciones (IRQ's) en slots PCI. Los conflictos de interrupciones (IRQ's) son una fuente potencial de problemas de calidad de audio en Asterisk. Una manera de liberar IRQs es deshabilitar desde el BIOS todo lo que no fuera necesario. Ing. Carlos Acua Ramos
Escogiendo una distribucion de Linux.
Asterisk fue originalmente desarrollado para ejecutarse bajo plataformas con sistema operativo Linux, Ahora puede ser usado en BSD y OS X. No obstante esto, las tarjetas telefonicas Digium fueron diseadas para trabajar con Linux i386. Si usted fuese nuevo con Asterisk procure usar Linux.
Requisitos de Linux
Vrias distribuciones como RedHat, Mandrake, Fedora, Debian, Slackware y Gentoo fueron usadas con Asterisk.
Diseo tabla de particionamiento tentativa para instalacin de Asterisk
Asterisk como sistema no requiere mucho espacio en disco, cerca de 200 MB se calcula para el sistema compilado e instalado, donde SI requerimos espacio es para el almacenamiento de mensajes de voz, llamadas grabadas, CDR (Bases de datos). Por lo tanto nuestra tabla de particionamiento debera contar como mnimo con 4 particiones (Tomando como ejemplo un disco de 80 GB):
[root@asterisk ~]$ df -h S.ficheros Tamao Usado Disp Uso% Montado en /dev/sda1 100M 15M 85M 15% /boot /dev/sda2 /dev/sda3 20G 55G 5G 10G 15G 45M 25% / 70% /var tmpfs
248M 0 248M 0% /dev/shm
En el proceso de instalacin se debe considerar una particin ms asignada para memoria de intercambio SWAP, el tamao de esta deber ser el doble de la memoria RAM existente. Ing. Carlos Acua Ramos
Eleccin paquetes y dependencias necesarias para compilacin de asterisk.
Antiguamente existan algunos paquetes que eran necesarios para instalar Asterisk como el readline y readline-devel que no son necesarios hoy. No existe hardware especial tal como una placa de sonido y el nico paquete necesario es el propio Asterisk. Si usted estuviera usando hardware de Digium o ztdummy, usted va a precisar del paquete zaptel. El paquete zaptel es necesario para que algunas aplicaciones sean includas en tiempo de compilacin. Si usted escoge compilar Asterisk y no el zaptel, pero descubre que esta faltando una aplicacin relacionada al paquete zaptel (Como el Meetme()), usted tendra que compilar el zaptel y entonces sera necesario recompilar Asterisk para que la aplicacin sea includa. Para interfaces T1 y E1 el paquete libpri es necesario. Bison es necesario para compilar el Asterisk. Los paquetes de desarrollo ncurses y ncurses-development son necesarios si usted quisiera construir nuevas herramientas (Como el astman). Las bibliotecas zlib y zlib-devel son necesarias ahora para compilar. Esto se debe a la adhesin del protocolo DUNDi (Distributed Universal Number Discovery).
Los paquetes necesitados parael sistema operativo Linux CentOS sern:
Kernel sources y headers gcc y sus dependencias bison (necesario para los archivos de configuracion. ncurses (necesario para la consola CLI) openssl y openssl-dev o libssl-dev libnewt (para aplicaciones tal como zttool) lib y zlib-devel
La recomendacin es que durante el proceso de instalacin del sistema operativo se debern seleccionar los siguientes paquetes:
Seccin Desarrollo: * Herramientas de Desarrollo (TODO) * Desarrollo de Software Anticuado (TODO)
Como herramientas adicionales tambin se podr instalar: - Seccin Servidores: * Servidor Web * Servidor de Correo * Servidor de Bases de Datos (MySQL y/o Postgres) Ing. Carlos Acua Ramos
Anteriormente en el capitulo 2 vimos detalles respecto a la preparacin de un sistema para instalar Asterisk en el, adems de observaciones y consideraciones importantes a la hora de elegir hardware, en el presente capitulo veremos como obtener e instalar Asterisk en el sistema elegido y utilizando una distribucin de Linux basada en RedHat (CentOS) ya que es la mas comn y tambin utilizada por el equipo de desarrolladores de Digium.
Paquetes requeridos relacionados con Asterisk
La instalacin de Asterisk esta compuesta por diversos paquetes bsicos que pueden ser por ejemplo: asterisk, zaptel, libpri, asterisk-addons entre otros detallaremos 4 de stos
* Asterisk: Incluye el programa principal de asterisk. * Zaptel: Incluye los drivers para las tarjetas telefnicas Zaptel. * LibPri: Incluye las libreras PRI necesarias para conectarse al RTPC. * Asterisk-addons: Incluye mdulos adicionales a asterisk, como por ejemplo el modulo MySQL para conexin a bases de datos de este tipo.
El nico paquete estrictamente necesario es asterisk, ya que libpri solo se necesitara en caso de que vallamos a utilizar interfaces PRI y zaptel en caso de utilizar tarjetas ZAPTEL, en caso de requerir utilidades que necesiten fuente de temporizacin y no tengamos hardware Zaptel instalado, es requerido instalar el paquete zaptel activando por defecto el modulo ztdummy.
Descarga paquetes de Asterisk
La descarga de asterisk y sus librerias pueden realizarse en forma de archivos tar.gz, para descargar estos archivos los podemos encontrar en:
http://ftp.digium.com/pub/
La nomenclatura de estos paquetes seraasterisk-version.tar.gz por ejemplo: Ing. Carlos Acua Ramos
Instalacin Asterisk 1.8
Vorbis que es una librera para la compresin/descompresin audio:
CURL que es un cliente que permite recibir o enviar archivos utilizando los protocolos HTTP, HTTPS, FTP, GOPHER, DICT, TELNET:
yum install curl curl-devel libidn-devel
Se instalan todas las libreras y dependencias que se necesitan para compilar las fuentes:
yum install gcc ncurses-devel make gcc-c++ libtermcap-devel zlib-devel libtool bison bison-devel yum install openssl-devel bzip2-devel wget newt-devel subversion flex gtk2-devel Bases de datos MySQL:
yum install mysql mysql-server mysql-devel
UNIXODBC que permiten conectarse a muchos sistemas de gestin de base de datos (ej: MySQL):
yum install unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel Se instala FESTIVAL, que es un sistema de text to speech (disponible en espaol): yum install festival festival-devel SPEEX que es un programa para la compresin audio especficamente diseado para la voz.
IMPORTANTE: Para todos los programas que se instalan desde las fuentes, antes de descargarlos, averiguar si hay una versin ms reciente disponible.
cd /usr/src
wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz tar -xf speex-1.2rc1.tar.gz cd speex-1.2rc1
./configure --prefix=/usr make make install
LAME que es utiliza para codificar archivos audio en formato MP3:
cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gz Ing. Carlos Acua Ramos
tar -xf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --prefix=/usr make make install
LIBMAD que es un MPEG audio decodificador de alta calidad:
cd /usr/src
wget http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz tar -xf libmad-0.15.1b.tar.gz cd libmad-0.15.1b
./configure --prefix=/usr make make install
WAVPACK es un compresor audio de alto rendimiento sin perdida de calidad:
cd /usr/src
wget http://www.wavpack.com/wavpack-4.60.1.tar.bz2 tar -xf wavpack-4.60.1.tar.bz2 cd wavpack-4.60.1
./configure --prefix=/usr make make install
SOX que es un programa que permite la manipulacin de archivos audio y la posibilidad de pasarlos de un formato a otro:
cd /usr/src
wget http://downloads.sourceforge.net/project/sox/sox/14.4.0/sox-14.4.0.tar.gz tar -xf sox-14.4.0.tar.gz cd sox-14.4.0
./configure -prefix=/usr
Al finalizar el configure aparecer esta tabla donde se encontrarn todos los formatos audio que se podrn manipular con SOX: Ing. Carlos Acua Ramos
Se termina con la compilacin e instalacin:
make make install
1.4 LIBPRI
En el caso que se quiera instalar tarjetas digitales en el servidor Asterisk (E1, T1, ISDN), antes de instalar DAHDI, hay que instalar la librera libpri
El paquete DADHI (Digium Asterisk Hardware Device Interface) permite cargar los drivers y configurar distintos tipos de tarjetas en Asterisk (analgicas, digitales, RDSI/ISDN, cancelador de ECHO). Asterisk adems se apoya en DAHDI para las conferencias audio (modulo app_meetme) y el trunking IAX2 (tema tratado en la configuracin del archivo iax.conf). Se instala el paquete de desarrollo:
yum install kernel-devel
Se continua con la ultima versin disponible de DAHDI-Linux:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz tar -xf dahdi-linux-current.tar.gz cd dahdi-linux-2.6.1
make make install
Se termina con la ultima versin disponible de DAHDI-Tools:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz tar -xf dahdi-tools-current.tar.gz cd dahdi-tools-2.6.1
./configure
make menuselect
en la ventana que aparece se seleccionan todos los mdulos disponibles como indicado en la imagen que sigue: Ing. Carlos Acua Ramos
Se guarda la configuracin presionando la tecla tabulador hasta posicionarse sobre Save & Exit. Se termina con la compilacin e instalacin:
make make install make config
Ya se puede iniciar DAHDI:
/etc/init.d/dahdi start Loading DAHDI hardware modules: wct4xxp: [ OK ] wcte12xp: [ OK ] wct1xxp: [ OK ] wcte11xp: [ OK ] wctdm24xxp: [ OK ] wcfxo: [ OK ] wctdm: [ OK ] wcb4xxp: [ OK ] wctc4xxp: [ OK ] xpp_usb: [ OK ]
No hardware timing source found in /proc/dahdi, loading dahdi_dummy Running dahdi_cfg: [ OK ]
1.7 Instalacin de Asterisk
Terminada la preparacin del servidor, se inicia con la instalacin de Asterisk. Se descarga la ltima versin 1.8.X disponible:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.14.1.tar.gz tar -xf asterisk-1.8.14.1.tar.gz cd asterisk-1.8.14.1 Ing. Carlos Acua Ramos
./configure make menuselect
Desde la versin 1.8.X lo que antes era un paquete a parte (asterisk-addons) ahora es presente en el paquete principal de Asterisk. Como se puede notar, los mdulos relacionados con MySQL (menos res_mysql) son deprecated y en las versiones futuras de Asterisk sern eliminados. Se entra en el men Add-ons y se activan los paquetes que siguen:
En Asterisk 1.8.X est presente un nuevo men Channel Event Logging que como se ver ms adelante, permite complementar el CDR (call detail record) con nuevas informaciones relacionadas con las llamadas:
En Resource modules se controla que los mdulos relacionados con las funciones calendario y cifrado del flujo media estn activados:
Se seleccionan todos los mdulos en el men Utilities y AGI Samples: Ing. Carlos Acua Ramos
En Core Sound Packages se seleccionan todos los paquetes disponibles:
En Music On Hold File Packages se hace lo mismo: Ing. Carlos Acua Ramos
Como se hace lo mismo en Extra Sound Packages:
Se guarda la configuracin presionando la tecla tabulador hasta posicionarse sobre Save & Exit. Se termina con la compilacin e instalacin:
make
Si a lo largo de la compilacin aparece este error:
make[1]: *** [format_mp3.o] Error 1 Ing. Carlos Acua Ramos
make: *** [addons] Error 2 se continua con: contrib/scripts/get_mp3_source.sh y luego otra vez el make: make
se instala Asterisk:
make install
se instalan los archivos de configuracin predefinidos:
make samples
se configura el script de arranque de Asterisk:
make config
Terminada la instalacin, se procede a la configuracin de MySQL para crear la base de datos y la tabla donde se guardarn los registros de las llamadas.
/etc/init.d/mysqld start
se configura para que arranque en automtico:
chkconfig mysqld on
y se crea una contrasea para el usuario root de MySQL (sesamo): IMPORTANTE: para un sistema en produccin utilizar siempre contraseas fuertes mysqladmin -u root password sesamo
Para asegurar el servidor MySQL se ejecuta el programa:
mysql_secure_installation
Se contestan las preguntas somo sigue:
Enter current password for root (enter for none): sesamo OK, successfully used password, moving on...
Change the root password? [Y/n] n ... skipping.
Remove anonymous users? [Y/n] y Ing. Carlos Acua Ramos
... Success!
Disallow root login remotely? [Y/n] y ... Success!
Remove test database and access to it? [Y/n] y - Dropping test database...
Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! Se reinicia el servidor MySQL:
service mysqld restart
Se crea la base de datos para guardar los registros de las llamadas. Se entra en el cliente de MySQL:
mysql -u root -psesamo
se crea la base de datos asteriskcdr: mysql> create database asteriskcdr; se selecciona: mysql> use asteriskcdr
se crea la tabla cdr (copiando y pegando las lineas que siguen):
mysql> CREATE TABLE cdr ( id bigint(20) NOT NULL auto_increment, calldate datetime NOT NULL default '0000-00-00 00:00:00', clid varchar(80) NOT NULL default '', src varchar(80) NOT NULL default '', dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', channel varchar(80) NOT NULL default '', dstchannel varchar(80) NOT NULL default '', lastapp varchar(80) NOT NULL default '', lastdata varchar(80) NOT NULL default '', duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0', Ing. Carlos Acua Ramos
accountcode varchar(20) NOT NULL default '', peeraccount varchar(20) NOT NULL default '', uniqueid varchar(32) NOT NULL default '', linkedid varchar(80) NOT NULL default '', userfield varchar(255) NOT NULL default '', PRI MARY KEY (`id`), KEY callerid (clid) );
Con la versin 1.8 de Asterisk se han aadido dos nuevos campos a la tabla CDR:
linkedid peeraccount
que permiten tener informaciones ms detalladas de cada llamada.
Se otorgan los permisos de acceso a la base de datos creada al usuario asterisk, desde local
mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'localhost' IDENTIFIED BY 'sesamo';
desde remoto:
mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'%' IDENTIFIED BY 'sesamo';
se actualizan los permisos: mysql> flush privileges; se sale del cliente: mysql> quit
En Asterisk la conexin a la base de datos y la tabla de los registros de las llamadas, se configura en el archivo cdr_mysql.conf. Se renombra el predefinido:
[global] hostname=localhost dbname=asteriskcdr table=cdr password=sesamo user=asterisk port=3306 Ing. Carlos Acua Ramos
sock=/var/lib/mysql/mysql.sock
Los datos: 1. [global] etiqueta inicial del bloque 2. hostname - nombre de dominio o IP del servidor MySQL 3. dbname - nombre de la base de datos 4. table - nombre de la tabla 5. password - contrasea del usuario que tiene los permisos para acceder a la base de datos 6. user - nombre del usuario que tiene los permisos para acceder a la base de datos 7. port puerto donde MySQL recibir las conexiones (predefinido 3306) 8. sock archivo que se crea cuando se inicia MySQL y que se necesita indicar para una correcta conexin
Se guardan los cambios y se inicia Asterisk:
/etc/init.d/asterisk start
se averigua que est corriendo:
/etc/init.d/asterisk status asterisk (pid 2403) is running...
se entra en la consola:
asterisk -rvvvvvvvvvvvvvvvv se controla que la conexin a la base de datos est activa: CLI> cdr mysql status Connected to asteriskcdr@localhost, port 3306 using table cdr for 59 seconds. Wrote 0 records since last restart. Se sale de la consola: CLI> quit Executing last minute cleanups
Directorios Usados
A continuacin los archivos y directorios mas importantes creados en el proceso de instalacin.
/etc/asterisk En este directorio se encuentran todos los archivos necesarios para configurar la gran cantidad de servicios que Asterisk provee.Revisaremos los mas importantes.
asterisk.conf Configuraciones generales de la ubicacin de directorios de archivos de configuracion, mdulos compilados, voicemails etc. En general es buena idea no modificar estas configuraciones, salvo Ing. Carlos Acua Ramos
casos especiales.
cdr.conf Configuraciones referentes al "Call Detail Record". Los CDR son sumamente importantes para las compaas telefnicas. Modificar datos en este archivo puede repercutir en la integridad de los CDR si no se esta seguro de lo que se hace. Si la instalacin es nicamente 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.
extensions.conf Tal vez el archivo mas importante de Asterisk. En este archivo se toman las decisiones de ruteo de las llamadas. Mas adelante veremosla sintaxis de este archivo.
features.conf Este archivo es tambin muy importante. Permite habilitar y configurar servicios genricos 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.
logger.conf Que nivel de verbosidad debentener los mensajes de log y a donde deben ser enviados.
manager.conf Configuracin 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 interfaces para programar aplicaciones con AJAX que se comuniquen directamente con AMI.
modules.conf Archivo sumamente importante. Determina que mdulos sern cargados por Asterisk al iniciar. Es frecuente que cuando se instala asterisk por primera vez, no arranque debido a que no puede cargar un mdulo para el que no tenemos soporte. Esto se soluciona comentando la lnea del mdulo en este archivo.
sip.conf Anlogo del archivo iax.conf para el protocolo SIP
zapata.conf Ing. Carlos Acua Ramos
Configuracin de los canales Zap. Las configuraciones de este archivo deben coincidir con el hardware instalado y la configuracin del driverzaptel.
voicemail.conf Configuracin de las casillas de voz creadas para los respectivos anexos.
meetme.conf Configuracin de las salas de conferencias.
/var/log/asterisk En este directorio se encuentran los archivos de registro de las operaciones de Asterisk. Definamos cada uno de los archivos encontrados dentro de este directorio.
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 intencin de contener todos los mensajes de debug del sistema.
messages Contiene un listado de los mensajes de warning,debug y dems niveles de logeo.
queue_log Archivo utilizado principalmente por la aplicacin 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 pequeo servidor HTTP para AJAM (Asynchronus Javascript Asterisk Manager). Aqui veremos una descripcin 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. keys/ Directorio que contiene llaves RSA para la autenticacin de llamadas con el protocolo IAX2 Ing. Carlos Acua Ramos
sounds/ Directorio con todos los sonidos que sern utilizados por aplicaciones como Playback() y Background()
Para asegurarnos que el proceso de asterisk inicia de forma automtica con el arranque del servidor y en caso de reinicio del S.O completo y para el proceso de inicio o detencin de forma manual del servicio debemos ejecutarlos siguientes comandos en la interfaz de linea de comandos:
# service asterisk start # chkconfig asterisk on
Para acceder al monitor del sistema o tambien conosido como 'CLI>' ejecutamos el siguiente comando: