Está en la página 1de 17

Manual de Instalacin de Asterisk

CTIC-UNI

Instalacin de Asterisk
Asterisk es el programa Open Source ms reconocido para implementar una PBX. Entre ellas: Registro (Log) de llamadas Grabacin de llamadas Desvo de llamadas Trasferencia de llamadas Conferencias audio Msica en espera Gestin de colas (call center) Soporte para tarjetas y Gateway FXO, FXS, digitales y celulares IVR Buzn de voz La presenta gua se ha testeado con CentOS 6.3 386 minimal con VirtualBox Por favor hacer la instalacin con la versin indicada, en caso de problemas con la tarjeta de red, cambien el tipo de adaptador a brigde y coloquen un ip fijo. Instalacin de paquetes y configuraciones previas: Configuramos la fecha y hora de Per rm /etc/localtime rm: remove regular file `/etc/localtime'? Y Se crea un enlace simblico a la hora de Per: ln -s /usr/share/zoneinfo/America/Peru /etc/localtime se averigua que la hora sea exacta con el comando: date

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

Para que la hora se actualice de manera automtica se instala el servidor NTP (Network Time Protocol): yum install ntp Se configura para que se inicie automticamente al arrancar el servidor Linux: chkconfig ntpd on y se inicia: service ntpd start Starting ntpd: [ OK ]

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

Utilidades, libreras, dependencias Antes de la compilacin de Asterisk, se instalarn una serie de libreras y dependencias que permitirn obtener la instalacin de la mayora de los mdulos de la PBX. Se empieza con Vorbis que es una librera para la compresin/descompresin audio:
yum install libvorbis libvorbis-devel vorbis-tools libogg libogg-devel

se sigue con 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++ compat-libtermcap zlibdevel libtool bison-devel \ bison openssl-devel bzip2-devel wget newtdevel subversion flex gtk2-devel

a seguir para crear y gestionar las bases de datos, MySQL:


yum install mysql mysql-server mysql-devel

UNIXODBC que es la implementacin Linux de los API ODBC 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

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

Una vez terminada esta parte se empieza a instalar una serie de programas desde las fuentes; el primero es 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 zxvf speex-1.2rc1.tar.gz cd speex-1.2rc1 ./configure --prefix=/usr make make install

Se continua con LAME que es utiliza para codificar archivos audio en formato MP3:
cd /usr/src wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame3.99.5.tar.gz tar zxvf lame-3.99.5.tar.gz cd lame-3.99.5 ./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
4

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

./configure --prefix=/usr make make install

Se termina con 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.1/sox14.4.1.tar.gz tar zxvf sox-14.4.1.tar.gz cd sox-14.4.1 ./configure -prefix=/usr make make install

DAHDI 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. Se instala el paquete de desarrollo del Kernel: 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-linuxcurrent.tar.gz tar zxvf dahdi-linux-current.tar.gz
5

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

cd dahdi-linux-2.6.2 make make install

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


cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-toolscurrent.tar.gz tar -xf dahdi-tools-current.tar.gz cd dahdi-tools-2.6.2 ./configure make menuselect

en la ventana que aparece se seleccionan todos los modulos disponibles como indicado en la imagen que sigue:

Se guarda la configuracion presionando la tecla tabulador hasta posicionarse sobre Save & Exit. Se termina con la compilacion e instalacion:
make make install make config

Ya se puede iniciar DAHDI:


/etc/init.d/dahdi start

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

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 ] En el caso del servidor colocado en VirtualBox, no se va a instalar ningun tipo de tarjeta y es buena practica no cargar todos los driver de DAHDI al momento de su arranque para ahorrar recursos de sistema. Esto se hace modificando este archivo:
nano /etc/dahdi/modules

y se anade el caracter # a todas las lineas que no lo tienen. Se guardan las modificaciones y se reinicia DAHDI:
service dahdi restart Unloading DAHDI hardware modules: done Loading DAHDI hardware modules: Running dahdi_cfg: [ OK ]

LIBPRI En el caso que se quiera instalar tarjetas digitales en el servidor Asterisk (E1, T1, ISDN), despues de instalar DAHDI, hay que instalar la libreria libpri.
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.14.tar.gz

se descomprime:
tar -xf libpri-1.4.14.tar.gz

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

se entra en la carpeta:
cd libpri-1.4.14

se compila y se instala:
make make install

Res_fax, GoogleTalk, LibiCAL y SRTP En este parrafo se vera como instalar SpanDSP, un procesador de senales digitales que en Asterisk permite la instalacion del modulo res_fax para la recepcion y envio de FAX, y IKSEMEL que permite implementar el protocolo XMPP en Asterisk y de esta forma conectarse a GoogleTalk y/o a cualquier servidor de tipo XMPP (otro ejemplo es Openfire): Para SpanDSP se necesita instalar primero las librerias libtiff y libxml2: yum install libtiff libtiff-devel libxml2 libxml2-devel se continua con SpanDSP: cd /usr/src wget http://www.soft-switch.org/downloads/spandsp/spandsp0.0.6pre21.tgz tar -xf spandsp-0.0.6pre21.tgz cd spandsp-0.0.6 ./configure --prefix=/usr make make install El protocolo XMPP permite conexione seguras entre cliente y servidor utilizando el protocolo TLS; para ese efecto se instala, antes de IKSEMEL, las relativas librerias: yum install gnutls gnutls-devel gnutls-utils se continua con IKSEMEL:
cd /usr/src wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar -xf iksemel-1.4.tar.gz cd iksemel-1.4

Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

./configure --prefix=/usr make

antes de la instalacion se ejecuta un test para averiguar que la compilacion haya tenido exito: make check PASS: tst-ikstack PASS: tst-iks PASS: tst-sax PASS: tst-dom PASS: tst-sha PASS: tst-md5 PASS: tst-filter PASS: tst-jid ================== All 8 tests passed ================== Ya que todo esta bien, se puede instalar: make install Antes de la instalacion de Asterisk, se termina la preparacion del sistema con unos programas mas. Primero un servidor de correo electronico, SENDMAIL: yum install sendmail sendmail-devel sendmail-cf Se configura para que arranque en automatico: chkconfig sendmail on

En este caso agregamos un dominio (si al configurar la maquina pusimos uno solo le agregamos el nombre del equipo) equipo1.serveruni.com. Ese nombre se pone en la configuracion de red del servidor de la siguiente forma: nano /etc/sysconfig/network si no esta el parmetro HOSTNAME se va al final del archivo se anade la siguiente linea:
Unidad de Capacitacin CTIC-UNI

Manual de Instalacin de Asterisk

CTIC-UNI

HOSTNAME=equipo1.serveruni.com Se guardan los cambios y se reinicia el servicio de red: service network restart
El sub-dominio se utilizara tambien para el envio de los correos electronicos. Por defecto el servidor de correo electronico escucha solamente en la puerto TCP 25 local. Para que sea alcanzable tambien desde remoto hay que abrir el archivo de configuracion de Sendmail: nano /etc/mail/sendmail.mc se busca esta linea: DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl y modificarla como sigue: DAEMON_OPTIONS(`Port=smtp,, Name=MTA')dnl se guardan los cambios y se vuelve a compilar la configuracion de Sendmail: make -C /etc/mail se reinicia el servidor de correo: /etc/init.d/sendmail restart para hacer la prueba de conexion al servidor de correo electronico desde remoto, se abre una ventana terminal en Windows y se escribe: C:\> telnet -a equipo1.serveruni.com 25 De no tener respuesta del equipo1, se coloca el ip del servidor de asterisk y se procede a probar si el servidor de correo esta activo.

Unidad de Capacitacin CTIC-UNI

10

Manual de Instalacin de Asterisk

CTIC-UNI

OpenLDAP es la version open source del protocolo Lightweight Directory Access. Normalmente se utiliza para crear un directorio de usuarios que puede ser consultado y/o modificado desde remoto. Muchos programas implementan la posibilidad de conectarse a un servidor OpenLDAP y Asterisk, desde la version 1.6.X, presenta esta posibilidad: yum install compat-openldap openldap openldap-clients openldap-devel openldap-servers SNMP es el Protocolo Simple de Administracion de Red y sirve para controlar y monitorear el desempeno del servidor Linux. En Asterisk permite monitorear, entre otras cosas, los canales y las llamadas. Se utilizara junto a NAGIOS para controlar el servidor Asterisk y enviar avisos cuando se verifique algun tipo de problema: yum install net-snmp net-snmp-devel net-snmp-libs net-snmputils En Asterisk existe la posibilidad de guardar los registros de las llamadas en un servidor RADIUS a traves de un cliente RADIUS que hay que instalar. En este caso se instala desde las fuentes: cd /usr/src wget http://download.berlios.de/radiusclient-ng/radiusclientng-0.5.6.tar.gz tar -xf radiusclient-ng-0.5.6.tar.gz cd radiusclient-ng-0.5.6 ./configure --prefix=/usr make make install Se continua la preparacion del servidor con la instalacion del lenguaje de programacion LUA que permite escribir el dialplan (o plan de marcado) utilizando este lenguaje. Al terminar la instalacion de Asterisk se encontrara un archivo de ejemplo en la
Unidad de Capacitacin CTIC-UNI

11

Manual de Instalacin de Asterisk

CTIC-UNI

carpeta /etc/asterisk. En este caso se instala desde las fuentes. Primero unas dependencias:
yum install readline-devel luego el programa: cd /usr/src wget http://www.lua.org/ftp/lua-5.1.5.tar.gz tar -xf lua-5.1.5.tar.gz cd lua-5.1.5 Se modifica el archivo Makefile para que el programa se instale por defecto en la carpeta /usr: nano Makefile se modifica esta linea: INSTALL_TOP= /usr/local para que quede: INSTALL_TOP= /usr Se guardan los cambios, se compila e instala: make linux make install Para terminar se compilan los paquetes que permiten utilizar las nuevas funcionalidades de Asterisk 1.8.X. Primero LIBICAL que permite la implementacion del protocolo iCalendar (RFC5546) a travs del modulo res_calendar: cd /usr/src
wget http://downloads.sourceforge.net/project/freeassociation/libical/libical0.48/libical-0.48.tar.gz

tar -xf libical-0.48.tar.gz cd libical-0.48


Unidad de Capacitacin CTIC-UNI

12

Manual de Instalacin de Asterisk

CTIC-UNI

./configure --prefix=/usr make make install Luego NEON que es una libreria que permite la implementacion del protocolo WebDAV en Asterisk: cd /usr/src wget http://webdav.org/neon/neon-0.29.6.tar.gz tar -xf neon-0.29.6.tar.gz cd neon-0.29.6 ./configure --prefix=/usr make make install Por ultimo la libreria LIBSRTP que permite implementar el cifrado del flujo media en Asterisk a travs del protocolo SRTP (RFC3711): cd /usr/src wget http://downloads.sourceforge.net/project/srtp/srtp/1.4.4/srtp1.4.4.tgz tar -xf srtp-1.4.4.tgz cd srtp ./configure --prefix=/usr CFLAGS=-fPIC Make Antes de lanzar el make runtest, para que tenga exito, hay que modificar una linea en el archivo que ejecuta el test: nano test/rtpw_test.sh cambiar esta linea: RTPW=rtpw para que quede: RTPW=./rtpw Se continua con el test: make runtest make install
Unidad de Capacitacin CTIC-UNI

13

Manual de Instalacin de Asterisk

CTIC-UNI

Instalacin de Asterisk Terminada la preparacion del servidor, se inicia con la instalacion de Asterisk. Se descarga la ultima version 1.8.X disponible: cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk1.8.20.1.tar.gz tar -xf asterisk-1.8.20.1.tar.gz cd asterisk-1.8.20.1 ./configure make menuselect Desde la version 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 modulos relacionados con MySQL (menos res_mysql) son deprecated y muy probablemente en las futuras versiones seran eliminados. Se entra en el menu Add-ons y se activan los paquetes que siguen:

En Asterisk 1.8.X esta presente un nuevo menu Channel Event Logging que permite complementar el CDR (call detail record) con nuevas informaciones relacionadas con las llamadas:

Unidad de Capacitacin CTIC-UNI

14

Manual de Instalacin de Asterisk

CTIC-UNI

En Resource modules se controla que los modulos relacionados con las funciones calendario y cifrado del flujo media esten activados:

Se seleccionan todos los modulos en el menu Utilities y AGI Samples:

Unidad de Capacitacin CTIC-UNI

15

Manual de Instalacin de Asterisk

CTIC-UNI

En Core Sound Packages se seleccionan todos los paquetes disponibles:

En Music On Hold File Packages se hace lo mismo:

Unidad de Capacitacin CTIC-UNI

16

Manual de Instalacin de Asterisk

CTIC-UNI

Se guarda la configuracion presionando la tecla tabulador hasta posicionarse sobre Save & Exit. Se termina con la compilacion e instalacion: Make Si a lo largo de la compilacion aparece este error: make[1]: *** [format_mp3.o] Error 1 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 configuracion predefinidos: make samples se configura el script de arranque de Asterisk: make config

Si todo esta ok, ya tendramos instalado, dhadi, libpri y asterisk en el servidor con programas de apoyo.

Unidad de Capacitacin CTIC-UNI

17

También podría gustarte