Está en la página 1de 7

Instalar y configurar Asterisk en CentOS 6.

Para comenzar voy a dar una breve descripcin de lo que es Asterisk por si
alguien no lo sabe.

Asterisk es un software libre creado por Mark Spencer fundador de la


empresa Digium la principal desarrolladora, que realiza funciones
de PBX. Una PBX resumiendo mucho es una central telfonica.
Asterisk permite gestionar llamadas, buzones de correo, crear
una IVR (Interactive Voice Response) entre muchas otras cosas.

Reconoce un montn de protocolos de VoIP (Voice over IP) entre los


que se encuentran SIP e IAX que son de los ms importantes.

Ahora que ya sabemos sobre Asterisk vamos a instalarlo y configurarlo para un


servidor CentOS 6.6

La parte de la instalacin es diferente segn la distro que usemos pero la


configuracin es la misma tanto para Ubuntu, CentOS, Debian, etc.
Instalacin
Lo primero que vamos a hacer es agregar el repositorio dentro
de /etc/yum.repos.d/ :

El primer repositorio que vamos a introducir ser: centos-


asterisk.repo

[asterisk-tested] name=CentOS-$releasever - Asterisk - Tested


baseurl=http://packages.asterisk.org/centos/$releasever/tested/
$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

[asterisk-current] name=CentOS-$releasever - Asterisk - Current


baseurl=http://packages.asterisk.org/centos/$releasever/current/
$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

El segundo repositorio ser : centos-digium.repo

[digium-tested] name=CentOS-$releasever - Digium - Tested


baseurl=http://packages.digium.com/centos/$releasever/tested/
$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

[digium-current] name=CentOS-$releasever - Digium - Current


baseurl=http://packages.digium.com/centos/$releasever/current/
$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

Una vez terminado esto hacemos un


yum update

Ahora instalaremos el paquete asterisknow-version.noarch

yum install asterisknow-version

Instalando este paquete aadimos el resto de repositorios de Asterisk, con


todas sus versiones disponibles. Ahora veremos que dentro de la carpeta
/etc/yum.repos.d se han creado nuevos ficheros. Nosotros vamos ha instalar la
versin 13 de Asterisk.

Para elegir una versin en concreto (por defecto utiliza el repositorio de la


versin 11) utilizamos el parmetro enablerepo (habilita el repositorio que le
indicamos) en la instalacin con yum, es decir, podemos instalar cualquier
versin indicndole el repositorio adecuado
yum install asterisk asterisk-configs asterisk-sounds-core-es-gsm
--enablerepo=asterisk-13

Como vamos a instalar la ltima versin de Asterisk, habilitaremos que el


repositorio por defecto para actualizar Asterisk sea centos-asterisk-13.repo.

Para ello modificamos el parmetro enabled del repositorio centos-asterisk-


11.repo a 0, para que ste est deshabilitado. Y de la misma forma,
modificamos el parmetro enabled del repositorio centos-asterisk-
13.repo a 1, por lo que pasar a ser el repositorio utilizado para las
actualizaciones de Asterisk. Dependiendo de la versin que hayamos instalado
habilitaremos el repositorio de nuestra versin.
Configuracin
Vamos a la carpeta de configuracin que esta en /etc/asterisk

cd /etc/asterisk/

Encontraremos muchos archivos de los cuales ahora mismo utilizaremos tres:

sip.conf En l se registran los usuarios SIP que vamos a utilizar


extensions.conf En l registramos las extensiones

voicemail.conf En l registramos los buzones de correo

Empezamos con el archivo sip.conf

Bajamos al final del fichero o donde queramos, elegimos el final por comodidad
de saber dnde estn siempre. Y seguimos la siguiente estructura para cada
usuario:

[ejemplo] type=friend
secret=pass
qualify=yes
nat=no
host=dynamic
canreinvite=no
context= contexto
mailbox= buzon

Deberemos poner entre corchetes el nombre del usuario, en este


caso ejemplo
La contrasea del usuario se pone en secret

En host hemos decidido poner dynamic para que el usuario se pueda


conectar desde cualquier IP de la red
Context es el contexto, le ponemos el contexto en el que va a estar

Mailbox es el buzn de voz

Ahora os voy a dejar un ejemplo del que yo he hecho


[rack] type=friend
secret=1234
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=iesjg
mailbox=00@buzon

Sobre la lnea 343 del sip.conf establecemos language=es, con esto hacemos
que todos los usuarios que creemos tengan como lenguaje por defecto espaol.

Ahora vamos a configurar el voicemail.conf

Para configurar los buzones bajamos hasta el fondo y creamos un contexto, por
ejemplo [buzon] y configuramos as los buzones con la siguiente estructura:
nmero => pass,nombre,correo

Y ahora el ejemplo que yo he hecho:

00 => 1234,rack,rack@iesjorgeguillen.es

Ya por ltimo vamos a configurar el extensions.conf

En el fondo del documento, en mi caso, voy a aadir la configuracin

Crearemos un contexto en mi caso [iesjg], recordad que los contextos van entre
corchetes.
Y ahora dentro de ese contexto crearemos extensiones como por ejemplo:
exten => 00,1,Dial(SIP/rack,15,Ttm)
same => n,VoiceMail(00@buzon)
same => n,Hangup()

Lo que hace es cada vez que llamen a la extensin 00 en primer lugar


llama al SIP/rack (que est creado en sip.conf) durante 15 segundos
con una msica de fondo y la llamada se puede reenviar a otro
telfono
Utilizamos same para no tener que estar poniendo por cada lnea
exten => 00

Si no se contesta, en siguiente lugar n salta el correo con la


funcin VoiceMail (00@buzn) configurado anteriormente
en voicemail.conf

Y por ltimo hacemos un Hangup() para colgar

Ahora voy a poner algunas funciones tiles de Asterisk.

1. Dial()

Con esta funcin realiza una llamada a donde le pasemos en este caso SIP/rack

2. VoiceMail()

Con esta funcin se llama al buzn de voz de ese usuario para dejar un mensaje
(nmero_buzn@contexto_en_voicemail.conf)

3. Hangup()

Con esta funcin colgamos.

4. Wait()
Con esta funcin se realiza una espera, el tiempo que queramos pasarle Wait(1), espera 1
segundo.

5. VoiceMailMain()

Llama al men del buzn de voz, te preguntar la extensin y su contrasea para escuchar
los mensajes.

6. Answer()

Con esta funcin la PBX Asterisk responde la llamada.

7. Record()

Con esta funcin se graba un audio. Por ejemplo para crear un men.

8. Background()

Reproduce un audio en background.

Ahora reiniciamos el servicio.


service asterisk restart

Y ahora ejecutamos la consola de asterisk para llevar una monitorizacin.

asterisk -rvvvvvvvvvvv

Cuando conectemos telfonos con los usuarios SIP creados podremos verlos en
la consola ejecutando:

sip show peers