asterisk

Upload: leo-vasquez-blas

Post on 11-Oct-2015

24 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/20/2018 Asterisk

    1/28

    Ing. Carlos Acua Ramos

    Centrales Telefonicas IP

    basadas en Asterisk

    Ing. Carlos Acua Ramos

  • 5/20/2018 Asterisk

    2/28

    CAPITULO1

    Introduccin

    Asterisk

    Qu es Asterisk?

    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 llamadasentre 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, Asteriskactualmente 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 costosospropietarios PBX como buzn de voz, conferencias, IVR, distribucin automtica de llamadas, y otrasmuchas ms. Los usuarios pueden crear nuevas funcionalidades escribiendo un dialplan en ellenguaje de script de Asterisk o aadiendo mdulos escritos en lenguaje C o en cualquier otro lenguajede programacin soportado por Linux.

    Para conectar telfonos estndar analgicos son necesarias tarjetas electrnicas telefnicas FXS oFXO fabricadas por Digium u otros proveedores, ya que para conectar el servidor a una lnea externano 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 ycomo gateway entre ambos.

    Lejos de poder competir con las compaas que comercializan soluciones de VoIP Hw/Sw de altacalidad como AlcatelLucent, Cisco, Avaya Nortel, Asterisk se empieza a adoptar en algunosentornos corporativos como solucin de bajo coste junto con SER (Sip Express Router).

    Ing. Carlos Acua Ramos

  • 5/20/2018 Asterisk

    3/28

    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 vozemail.

    Diagramas (Topologa Arquitectura)

    Figura N1

    Figura N2

  • 5/20/2018 Asterisk

    4/28

    Figura N3

    Figura N4

    Figura N5

    Ing. Carlos Acua Ramos

  • 5/20/2018 Asterisk

    5/28

    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 elIETF MMUSIC Working Group con la intencin de ser el estndar para la iniciacin, modificacin yfinalizacin de sesiones interactivas de usuario donde intervienen elementos multimedia como elvideo, voz, mensajera instantnea, juegos online y realidad virtual. En Noviembre del ao 2000, SIPfue aceptado como el protocolo de sealizacin de 3GPP y elemento permanente de la arquitecturaIMS (IP Multimedia Subsystem). SIP es uno de los protocolos de sealizacin para voz sobre IP, otroes H.323.

    IAX2 (Inter-Asterisk eXchange protocol)

    IAX (InterAsterisk eXchange protocol) es uno de los protocolos utilizado por Asterisk, un servidorPBX (centralita telefnica) de cdigo abierto patrocinado por Digium. Es utilizado para manejarconexiones 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. Elprotocolo original ha quedado obsoleto en favor de IAX2.

  • 5/20/2018 Asterisk

    6/28

    Codecs (G711, G729, GSM, IBLC)

    Ing. Carlos Acua Ramos

  • 5/20/2018 Asterisk

    7/28

    Ing. Carlos Acua Ramos

    Dispositivos VoIP

    Telfonos IP

    Softphone

    Adaptadores (ATA)

  • 5/20/2018 Asterisk

    8/28

    Ing. Carlos Acua Ramos

    Gateways (E1-SIP, GSM-SIP)

    Hadware Digium

  • 5/20/2018 Asterisk

    9/28

    Ing. Carlos Acua Ramos

    CAPITULO2

    Seleccin Hardware Servidor e

    Instalacin S.O

    Este captulo nos ayudara a preparar el sistema para la instalacin de Asterisk. Este funciona enmuchas 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 eneste curso. Las instrucciones realizadas en este curso pueden funcionar con otras distribuciones, peroestas 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 estuvieseconstruyendo 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 unPentium IV 800Mhz con 128 MB RAM es suficiente para un sistema de pruebas que soporte hasta 5llamadas 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 denter comunicarnos con la red publica de telefonia (PSTN) necesitaremos de una tarjeta telefnica dehasta 4 canales ZAP, preferente mente una TDM400P con 4 mdulos FXO correspondientes a 4lineas 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 losde Counterpath (XLite) y realizar entroncamiento hacia proveedores de telefona IP.

    Algunas aplicaciones de Asterisk como el Meetme requieren una fuente de clock para proveer latemporizacin. Normalmente la fuente de clock de Asterisk es una placa TDM. Si su sistema no tieneuna placa TDM, usted puede usar un driver ztdummy que usa el USB como fuente de temporizacin.

  • 5/20/2018 Asterisk

    10/28

    Ing. Carlos Acua Ramos

    Hardware Minimo-Mediano

    Un servidor con un procesador Sempron o Celeron de 1 Ghz con 256 MB de RAM seria suficientepara un sistema asterisk que podra soportar de 5 a 10 llamadas simultaneas con mximo dos tarjetasde 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 conprocesador Pentium 4 o Athlon de 3 Ghz con 512 MB RAM y en ese una tarjeta de hasta 24 canalescomo 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 sobresistemas Xeon con opcin de segunda CPU adems de tarjetas Digium TE120P y hasta la TE410P osimilares (Tarjetas digitales capaces de soporta de 30 a 120 canales digitales de comunicacin). Paraarquitecturas 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 llamadassimultneas 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 devdeo sofisticada o perifricos adicionales. Puertos seriales, paralelos y USB pueden sercompletamente deshabilitados desde la BIOS. Una buena tarjeta de red es esencial para nuestrosistema. Si usted estuviese usando una de las tarjetas de telefona de Digium, seria bueno verificar lasinstrucciones 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 deinterrupciones (IRQ's) son una fuente potencial de problemas de calidad de audio en Asterisk. Unamanera de liberar IRQs es deshabilitar desde el BIOS todo lo que no fuera necesario.

  • 5/20/2018 Asterisk

    11/28

    Ing. Carlos Acua Ramos

    Escogiendo una distribucion de Linux.

    Asterisk fue originalmente desarrollado para ejecutarse bajo plataformas con sistema operativoLinux, Ahora puede ser usado en BSD y OS X. No obstante esto, las tarjetas telefonicas Digiumfueron 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 usadascon 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 elsistema 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 particionamientodebera 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

    20G55G

    5G10G

    15G45M

    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.

    mailto:root@asteriskmailto:root@asterisk
  • 5/20/2018 Asterisk

    12/28

    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 yreadlinedevel que no son necesarios hoy. No existe hardware especial tal como una placa de sonido yel nico paquete necesario es el propio Asterisk. Si usted estuviera usando hardware de Digium oztdummy, usted va a precisar del paquete zaptel. El paquete zaptel es necesario para que algunasaplicaciones sean includas en tiempo de compilacin. Si usted escoge compilar Asterisk y no elzaptel, pero descubre que esta faltando una aplicacin relacionada al paquete zaptel (Como elMeetme()), usted tendra que compilar el zaptel y entonces sera necesario recompilar Asterisk paraque la aplicacin sea includa. Para interfaces T1 y E1 el paquete libpri es necesario. Bison esnecesario para compilar el Asterisk. Los paquetes de desarrollo ncurses y ncursesdevelopment sonnecesarios si usted quisiera construir nuevas herramientas (Como el astman). Las bibliotecas zlib yzlibdevel 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 openssldev o libssldev

    libnewt (para aplicaciones tal como zttool)

    lib y zlibdevel

    La recomendacin es que durante el proceso de instalacin del sistema operativo se debernseleccionar los siguientes paquetes:

    Seccin Desarrollo:* Herramientas de Desarrollo (TODO)* Desarrollo de Software Anticuado (TODO)

    Como herramientas adicionales tambin se podr instalar:

    - Seccin Servidores:

    * ServidorWeb

    * Servidor de Correo* Servidor de Bases de Datos (MySQL y/o Postgres)

  • 5/20/2018 Asterisk

    13/28

    Ing. Carlos Acua Ramos

    Asterisk > asterisk-1.4.x.tar.gz

    Zaptel > zaptel1.4.x.tar.gz

    Libpri > libpri1.4.x.tar.gz

    Asteriskaddons > asterisk-addons-1.4.x.tar.gz

    CAPITULO 3

    Descarga, Compilacin Instalacin de Asterisk

    Anteriormente en el capitulo 2 vimos detalles respecto a la preparacin de un sistema para instalarAsterisk 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 utilizandouna 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, asteriskaddons 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.* Asteriskaddons: 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 requerirutilidades que necesiten fuente de temporizacin y no tengamos hardware Zaptel instalado, esrequerido 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 descargarestos archivos los podemos encontrar en:

    http://ftp.digium.com/pub/

    La nomenclatura de estos paquetes seraasteriskversion.tar.gz por ejemplo:

    http://ftp.digium.com/pub/http://ftp.digium.com/pub/http://ftp.digium.com/pub/
  • 5/20/2018 Asterisk

    14/28

    Ing. Carlos Acua Ramos

    Instalacin Asterisk 1.8

    Vorbis que es una librera para la compresin/descompresin audio:

    yum install libvorbis libvorbis-devel vorbis-tools libogg libogg-devel

    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

    wgethttp://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz

    tar -xf speex-1.2rc1.tar.gz

    cd speex-1.2rc1

    ./configure --prefix=/usr

    makemake install

    LAME que es utiliza para codificar archivos audio en formato MP3:

    cd /usr/src

    wgethttp://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gz

    http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gzhttp://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gzhttp://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gzhttp://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gzhttp://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
  • 5/20/2018 Asterisk

    15/28

    Ing. Carlos Acua Ramos

    tar -xf lame-3.99.5.tar.gz

    cd lame-3.99.5

    ./configure --prefix=/usr

    makemake install

    LIBMAD que es un MPEG audio decodificador de alta calidad:

    cd /usr/src

    wgethttp://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

    makemake install

    WAVPACK es un compresor audio de alto rendimiento sin perdida de calidad:

    cd /usr/src

    wgethttp://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

    makemake 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

    wgethttp://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 sepodrn manipular con SOX:

    http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gzhttp://www.wavpack.com/wavpack-4.60.1.tar.bz2http://downloads.sourceforge.net/project/sox/sox/14.4.0/http://downloads.sourceforge.net/project/sox/sox/14.4.0/http://www.wavpack.com/wavpack-4.60.1.tar.bz2http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
  • 5/20/2018 Asterisk

    16/28

    Ing. Carlos Acua Ramos

    Se termina con la compilacin e instalacin:

    makemake install

    1.4 LIBPRI

    En el caso que se quiera instalar tarjetas digitales en el servidor Asterisk (E1, T1, ISDN), antes deinstalar DAHDI, hay que instalar la librera libpri

    cd /usr/src

    wgethttp://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.12.tar.gz

    se descomprime:

    tar -xf libpri-1.4.12.tar.gz

    se entra en la carpeta:

    cd libpri-1.4.12

    se compila y se instala:

    make

    make install

    http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.12.tar.gzhttp://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.12.tar.gzhttp://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.12.tar.gz
  • 5/20/2018 Asterisk

    17/28

    Ing. Carlos Acua Ramos

    1.5 DAHDI

    El paquete DADHI (Digium Asterisk Hardware Device Interface) permite cargar los drivers yconfigurar 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 eltrunking IAX2 (tema tratado en la configuracin del archivo iax.conf). Se instala el paquete dedesarrollo:

    yum install kernel-devel

    Se continua con la ultima versin disponible de DAHDI-Linux:

    cd /usr/src

    wgethttp://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

    makemake install

    Se termina con la ultima versin disponible de DAHDI-Tools:

    cd /usr/src

    wgethttp://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 imagenque sigue:

    http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gzhttp://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gzhttp://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gzhttp://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz
  • 5/20/2018 Asterisk

    18/28

    Ing. Carlos Acua Ramos

    Se guarda la configuracin presionando la tecla tabulador hasta posicionarse sobre Save & Exit. Setermina con la compilacin e instalacin:

    makemake install

    make config

    Ya se puede iniciar DAHDI:

    /etc/init.d/dahdi startLoading 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_dummyRunning dahdi_cfg: [ OK ]

    1.7 Instalacin de Asterisk

    Terminada la preparacin del servidor, se inicia con la instalacin de Asterisk. Se descarga la ltimaversin 1.8.X disponible:

    cd /usr/src

    wgethttp://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

    http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.14.1.tar.gzhttp://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.14.1.tar.gz
  • 5/20/2018 Asterisk

    19/28

    Ing. Carlos Acua Ramos

    ./configuremake menuselect

    Desde la versin 1.8.X lo que antes era un paquete a parte (asterisk-addons) ahora es presente en elpaquete 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 elmen Add-onsy se activan los paquetes que siguen:

    En Asterisk 1.8.X est presente un nuevo men Channel Event Logging que como se ver msadelante, permite complementar el CDR (call detail record) con nuevas informaciones relacionadascon las llamadas:

    En Resource modules se controla que los mdulos relacionados con las funciones calendario ycifrado del flujo media estn activados:

    Se seleccionan todos los mdulos en el men Utilitiesy AGI Samples:

  • 5/20/2018 Asterisk

    20/28

    Ing. Carlos Acua Ramos

    En Core Sound Packagesse seleccionan todos los paquetes disponibles:

    En Music On Hold File Packagesse hace lo mismo:

  • 5/20/2018 Asterisk

    21/28

    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. Setermina con la compilacin e instalacin:

    make

    Si a lo largo de la compilacin aparece este error:

    make[1]: *** [format_mp3.o] Error 1

  • 5/20/2018 Asterisk

    22/28

    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 latabla 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): sesamoOK, successfully used password, moving on...

    Change the root password? [Y/n] n... skipping.

    Remove anonymous users? [Y/n] y

  • 5/20/2018 Asterisk

    23/28

    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 MySQLinstallation 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 bigin t(20) NOT NUL L auto_increment,call date datetime NOT NULL defaul t ' 0000-00-00 00:00:00',clid varchar(80) NOT NUL L default ' ' ,src varchar (80) NOT NUL L defaul t '' , dst

    varchar(80) NOT NUL L defaul t '' , dcontext

    varchar(80) NOT NUL L default '' , channel

    varchar(80) NOT NUL L default ' ' ,dstchannel varchar(80) NOT NUL L defaul t '' ,

    lastapp varchar(80) NOT NULL defaul t '' ,

    lastdata varchar(80) NOT NULL defaul t '' ,

    duration int(11) NOT NULL default ' 0',

    bill sec int(11) NOT NUL L default '0' ,dispositi on varchar (45) NOT NULL defaul t '' ,

    amaflags int(11) NOT NUL L default '0' ,

  • 5/20/2018 Asterisk

    24/28

    Ing. Carlos Acua Ramos

    accountcode varchar(20) NOT NULL defaul t ' ' ,

    peeraccount varchar(20) NOT NULL defaul t ' ' ,

    uniqueid varchar(32) NOT NULL default ' ' ,

    li nkedid varchar(80) NOT NUL L default ' ',

    userf ield varchar(255) NOT NULL default '' ,

    PRIMARY KEY (`id`),KEY call eri d (cli d)

    );

    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 elarchivo cdr_mysql.conf. Se renombra el predefinido:

    mv /etc/asterisk/cdr_mysql.conf /etc/asterisk/cdr_mysql.conf.old

    se crea uno nuevo:

    nano /etc/asterisk/cdr_mysql.conf

    se aaden las siguientes lineas:

    [global]

    hostname=localhost

    dbname=asteriskcdr

    table=cdrpassword=sesamo

    user=asterisk

    port=3306

  • 5/20/2018 Asterisk

    25/28

    Ing. Carlos Acua Ramos

    sock=/var/lib/mysql/mysql.sock

    Los datos:1. [global]etiqueta inicial del bloque2. hostname - nombre de dominio o IP del servidor MySQL

    3. dbname - nombre de la base de datos4. table - nombre de la tabla5. password - contrasea del usuario que tiene los permisos para acceder a la base de datos6. user - nombre del usuario que tiene los permisos para acceder a la base de datos7. portpuerto donde MySQL recibir las conexiones (predefinido 3306)8. sockarchivo que se crea cuando se inicia MySQL y que se necesita indicar para una correctaconexin

    Se guardan los cambios y se inicia Asterisk:

    /etc/init.d/asterisk start

    se averigua que est corriendo:

    /etc/init.d/asterisk statusasterisk (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 statusConnected to asteriskcdr@localhost,port 3306 using table cdr for 59 seconds.

    Wrote 0 records since last restart.

    Se sale de la consola:

    CLI> quitExecuting last minute cleanups

    Directorios Usados

    A continuacin los archivos y directorios mas importantes creados en el proceso de instalacin.

    /etc/asteriskEn este directorio se encuentran todos los archivos necesarios para configurar la gran cantidad deservicios que Asterisk provee.Revisaremos los mas importantes.

    asterisk.confConfiguraciones generales de la ubicacin de directorios de archivos de configuracion, mduloscompilados, voicemails etc. En general es buena idea no modificar estas configuraciones, salvo

    mailto:asteriskcdr@localhostmailto:asteriskcdr@localhost
  • 5/20/2018 Asterisk

    26/28

    Ing. Carlos Acua Ramos

    casos especiales.

    cdr.confConfiguraciones 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 losCDR si no se esta seguro de lo que se hace. Si la instalacin es nicamente de prueba, o los CDR noson materia importante, no hay problema.

    codecs.confA menos que utilices SPEEX, o quieras hacer cosas especiales con la forma en la que los codecs secomportan, 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 delas llamadas. Mas adelante veremosla sintaxis de este archivo.

    features.confEste archivo es tambin muy importante. Permite habilitar y configurar servicios genricos de unPBX como la transferencia asistida y monitoreo de llamadas.

    iax.confImportante archivo para el funcionamiento del canal chan_iax que le permite a Asterisk interactuar

    con otros dispositivos IAX, incluyendo otros PBX Asterisk.

    logger.confQue 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 aun 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 comuniquendirectamente con AMI.

    modules.confArchivo sumamente importante. Determina que mdulos sern cargados por Asterisk al iniciar. Esfrecuente que cuando se instala asterisk por primera vez, no arranque debido a que no puede cargar unmdulo para el que no tenemos soporte. Esto se soluciona comentando la lnea del mdulo en estearchivo.

    sip.confAnlogo del archivo iax.conf para el protocolo SIP

    zapata.conf

  • 5/20/2018 Asterisk

    27/28

    Ing. Carlos Acua Ramos

    Configuracin de los canales Zap. Las configuraciones de este archivo deben coincidir con elhardware instalado y la configuracin del driverzaptel.

    voicemail.conf

    Configuracin de las casillas de voz creadas para los respectivos anexos.

    meetme.confConfiguracin de las salas de conferencias.

    /var/log/asteriskEn este directorio se encuentran los archivos de registro de las operaciones de Asterisk. Definamoscada uno de los archivos encontrados dentro de este directorio.

    cdr.db

    Este archivo se encuentra disponible si se cuenta con el CDR handler para labase de datos SQLite.

    El archivocontiene labase de datos de los registros delasllamadas.

    event_log

    Registro de eventos sucedidos enel PBX.

    full

    Creado con laintencindecontener todos losmensajes dedebug delsistema.

    messages

    Contiene un listadode losmensajes de warning,debug y dems niveles de logeo.

    queue_log

    Archivo utilizado principalmenteporla aplicacin app_queue.

    /var/lib/asteriskDirectorio con archivos de audio, llaves RSA, scripts AGI (Asterisk Gateway Interface), base de datosastdb y archivos para el pequeo servidor HTTP para AJAM (Asynchronus Javascript AsteriskManager). Aqui veremos una descripcin de cada uno de los directorios, ya que los archivos puedenser irrelevantes.

    agibin/

    Aqui se contienen programas en C, PHP, Python o cualquier otro lenguaje con el que sepretenda

    interactuardesde Asterisk.

    keys/

    Directorio que contiene llavesRSA paralaautenticacin de llamadas con elprotocoloIAX2

  • 5/20/2018 Asterisk

    28/28

    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 yen caso de reinicio del S.O completo y para el proceso de inicio o detencin de formamanual 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:

    # asterisk -r