telefonica ip con asterisk.pdf

17
Manual de Instalación de Asterisk CTIC-UNI Unidad de Capacitación CTIC-UNI 1 Instalación de Asterisk Asterisk es el programa Open Source más reconocido para implementar una PBX. Entre ellas: Registro (Log) de llamadas Grabación de llamadas Desvío de llamadas Trasferencia de llamadas Conferencias audio Música en espera Gestión de colas (call center) Soporte para tarjetas y Gateway FXO, FXS, digitales y celulares IVR Buzón de voz La presenta guía se ha testeado con CentOS 6.3 386 minimal con VirtualBox Por favor hacer la instalación con la versión indicada, en caso de problemas con la tarjeta de red, cambien el tipo de adaptador a brigde y coloquen un ip fijo. Instalación 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 simbólico 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

Upload: carlos-castro

Post on 30-Dec-2015

43 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 1

Instalación de Asterisk

Asterisk es el programa Open Source más reconocido para

implementar una PBX. Entre ellas:

Registro (Log) de llamadas

Grabación de llamadas

Desvío de llamadas

Trasferencia de llamadas

Conferencias audio

Música en espera

Gestión de colas (call center)

Soporte para tarjetas y Gateway FXO, FXS, digitales y

celulares

IVR

Buzón de voz

La presenta guía se ha testeado con CentOS 6.3 386 minimal con

VirtualBox

Por favor hacer la instalación con la versión indicada, en caso de

problemas con la tarjeta de red, cambien el tipo de adaptador a

brigde y coloquen un ip fijo.

Instalación 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 simbólico 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

Page 2: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 2

Para que la hora se actualice de manera automática se instala el

servidor NTP (Network Time Protocol):

yum install ntp

Se configura para que se inicie automáticamente al arrancar el

servidor Linux:

chkconfig ntpd on

y se inicia:

service ntpd start

Starting ntpd: [ OK ]

Page 3: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 3

Utilidades, librerías, dependencias

Antes de la compilación de Asterisk, se instalarán una serie de

librerías y dependencias que permitirán obtener la instalación de

la mayoría de los módulos de la PBX. Se empieza con Vorbis que

es una librería para la compresión/descompresión 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 librerías y dependencias que se necesitan para

compilar las fuentes:

yum install gcc ncurses-devel make gcc-c++ compat-libtermcap zlib-

devel libtool bison-devel \ bison openssl-devel bzip2-devel wget newt-

devel 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 implementación Linux de los API ODBC

que permiten conectarse a muchos sistemas de gestión 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 español):

yum install festival festival-devel

Page 4: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 4

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 compresión audio específicamente diseñado

para la voz.

IMPORTANTE: Para todos los programas que se instalan

desde las fuentes, antes de descargarlos, averiguar si hay una

versión más 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/lame-3.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

Page 5: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 5

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

Se termina con SOX que es un programa que permite la

manipulación 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/sox-

14.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 (analógicas, digitales, RDSI/ISDN, cancelador de

ECHO).

Asterisk además 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 versión disponible de DAHDI-Linux:

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-

current.tar.gz

tar zxvf dahdi-linux-current.tar.gz

Page 6: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 6

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-tools-

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

Page 7: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 7

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

Page 8: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 8

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/spandsp-

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

Page 9: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 9

./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 parámetro HOSTNAME se va al final del archivo se

anade la siguiente linea:

Page 10: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 10

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.

Page 11: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 11

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-snmp-

utils

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/radiusclient-

ng-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

Page 12: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 12

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 través del modulo res_calendar:

cd /usr/src wget http://downloads.sourceforge.net/project/freeassociation/libical/libical-

0.48/libical-0.48.tar.gz

tar -xf libical-0.48.tar.gz

cd libical-0.48

Page 13: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 13

./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 través del protocolo SRTP (RFC3711):

cd /usr/src

wget http://downloads.sourceforge.net/project/srtp/srtp/1.4.4/srtp-

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

Page 14: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 14

Instalación 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/asterisk-

1.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:

Page 15: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 15

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”:

Page 16: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 16

En “Core Sound Packages” se seleccionan todos los paquetes disponibles:

En “Music On Hold File Packages” se hace lo mismo:

Page 17: Telefonica IP con Asterisk.pdf

Manual de Instalación de Asterisk CTIC-UNI

Unidad de Capacitación CTIC-UNI 17

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 tendríamos instalado, dhadi, libpri y asterisk en el

servidor con programas de apoyo.