SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Configuración – Guía Básica
|Por: Sebastián Cisternas Arenas
Santiago 2013
Índice:
Protocolos VoIP……………………..…………….…………………………………………….…………1
SIP………………………………………………………………………………………………………………2-3
Codec……………………………………………………………………………………………..…….…..4-6
ASTERISK…………………………...………………………………………………………………………….7
Configuración Asterisk…………………………………………………………………………………8
Configuración de Anexos……………………………..……………………………………..….8-12
Plan de llamado……………………………………………………………………………………..13-14
Casilla de voz – VOICEMAIL………………………………………………………………….…15-16
Followme ………………………………………………………………………………………………17-20
Meetme…………………………………………………………………………………………………21-22
Protocolos VoIP
Hay muchos protocolos involucrados en la transmisión de voz sobre IP. Ya de por sí hay
protocolos de red involucrados como el propio protocolo IP y otros protocolos de
transporte como TCP o UDP. Encima de ellos se colocan los protocolos de señalización de
voz y como si esto fuera poco existen además muchas opciones de protocolos de
señalización disponibles lo que puede hacer que todo suene un poco confuso al principio.
Clasificando los protocolos VoIP
Para simplificar las cosas podríamos clasificar a los protocolos utilizados en la VoIP en tres
grupos.
Protocolos de señalización
Los protocolos de señalización en VoIP cumplen funciones similares a sus homólogos en la
telefonía tradicional, es decir tareas de establecimiento de sesión, control del progreso de
la llamada, entre otras. Se encuentran en la capa 5 del modelo OSI, es decir en la capa de
Sesión.
Existen algunos protocolos de señalización, que han sido desarrollados por diferentes
fabricantes u organismos como la ITU o el IETF, y que se encuentran soportados por
Asterisk. Algunos son:
• SIP
• IAX
• H.323
• MGCP
• SCCP
Entre estos los más populares en el ámbito de Asterisk son SIP e IAX.
Protocolos de transporte de voz
No se debe confundir aquí con protocolos de transporte de bajo nivel como TCP y UDP.
Nos referimos aquí al protocolo que transporta la voz propiamente dicha o lo que
comúnmente se denomina carga útil. Este protocolo se llama RTP (Real-time Transport
Protocol) y función es simple: transportar la voz con el menor retrazo posible. Este
protocolo entra a funcionar una vez que el protocolo de señalización ha establecido la
llamada entre los participantes.
Protocolos de plataforma IP
En esta categoría agruparemos a los protocolos básicos en redes IP y que forman la base
sobre la cual se añaden los protocolos de voz anteriores. En estos protocolos podríamos
mencionar a Ethernet, IP, TCP y UDP.
1
Protocolo SIP
Es un protocolo más nuevo que el H.323, de señalización para conferencia, telefonía,
notificación de eventos y mensajería instantánea a través de Internet desarrollado por el
IETF.
Este protocolo se utiliza para iniciar y terminar las llamadas. Los servidores para
conectarse entre si utilizan TCP y UDP, y en la capa de aplicación utiliza el protocolo RTP
para la transmisión en tiempo real de video y audio.
Se utiliza para el intercambio de video, mensajería, voz, juegos on-line y realidad-virtual.
Es un protocolo punto a punto (P2P) y por lo tanto la parte de inteligencia está incluida en
los terminales. Se definen dos elementos fundamentales para implementar las
funcionalidades básicas:
1. User agents-UA: consta de dos partes, el cliente y el servidor. El primero genera
peticiones SIP y recibe las respuestas, el otro genera las respuestas a las distintas
peticiones.
2. Servidores: aquí nos encontramos con una división conceptual de tres tipos de
servidores diferentes. Esta división aporta al conjunto estabilidad y mejora el
rendimiento:
o Proxy Server: tiene la tarea de enrutar las peticiones de otras entidades
más próximas a su destino. Actúa como cliente y servidor para el
establecimiento de llamadas entre usuarios. Existen los stateful que
mantienen el estado de las transacciones durante el procesamiento de las
peticiones y permiten la división de una petición en varias y el otro tipo son
los stateless, que al contrario no mantienen estado únicamente se limitan a
reenviar los mensajes.
o Registrar Server: este servidor acepta peticiones de registro de los usuarios
y guarda la información de estas para suministrar un servicio de localización
y traducción de direcciones en el dominio que controla.
o Redirect Server: este servidor genera respuestas de redirección a las
peticiones que recibe y reencamina las peticiones hacia el próximo
servidor.
2
SIP comparte con HTTP alguno de sus principios de diseño, siguiendo una estructura
petición respuesta con coditos de respuesta similares a los de HTTP. Por ejemplo un
código de retorno 200 significa OK y el 404 es no encontrado. Y la localización la basa en
DNS. Por lo tanto este protocolo esta basado en el intercambio de peticiones y respuestas
que consisten en una línea inicial. Recibe el nombre de request line e incluyen el nombre
de método al que invocan, el identificador del destinatario, el protocolo SIP que se está
utilizando. Métodos a invocar:
1. Invite: utilizado para invitar un usuario para participar en una sesión o para
modificar parámetros.
2. Ack: confirma el establecimiento de una sesión.
3. Option: solicita información sobre las capacidades de un servidor.
4. Bye: indica la terminación de una sesión.
5. Cancel: cancela una petición pendiente.
6. Register: registra un user agent.
3
CODEC
La palabra codec proviene de abreviar las palabras COdificación y DECodficación. Su
función principal es la de adaptar la información digital de la voz para obtener algún
beneficio. Este beneficio en muchos casos es la compresión de la voz de tal manera que
podamos utilizar menos ancho de banda del necesario.
Algunos codecs, soportados por Asterisk y comúnmente usados en comunicaciones de
VoIP, son G.711, G.729, GSM, iLBC, entre otros. Explicaremos brevemente tres de ellos.
G.711
G.711 es uno de los codecs más usados de todos los tiempos y proviene de un estándar
ITU-T que fue liberado en 1972. Viene en dos sabores llamados u-law y a-law. La primera
versión se utiliza en los Estados Unidos y la segunda se utiliza en Europa. Una de sus
características es la calidad de voz debido a que casi no la comprime. Utiliza 64kbit/s, es
decir un muestreo de 8 bits a 8kHz. Es el codec recomendado para redes LAN pero hay que
pensarlo dos veces antes de utilizarlo en enlaces remotos debido al alto consumo de
ancho de banda. El soporte para este codec ya viene habilitado en Elastix.
G.729
También se trata de una recomendación ITU cuyas implementaciones ha sido
históricamente licenciadas, o sea que hay que pagar por ellas. La ventaja en la utilización
de G.729 radica principalmente en su alta compresión y por ende bajo consumo de ancho
de banda lo que lo hace atractivo para comunicaciones por Internet. Pese a su alta
compresión no deteriora la calidad de voz significativamente y por esta razón ha sido
ampliamente usado a través de los años por muchos fabricantes de productos de VoIP.
G.729 utiliza 8kbit/s por cada canal. Si comparamos este valor con el de G.711 notaremos
que consume 8 veces menos ancho de banda, lo cual a simple vista es un ahorro de
recursos significativo.
Nota: Existen variaciones de G.729 que utilizan 6.4kbit/s y 11.8kbit/s.
Para habilitar canales G.729 en Elastix hay que comprar una licencia por cada canal. Esto
se puede adquirir en el sitio Web de Digium.
GSM
Muchas personas suelen preguntar si el codec GSM tiene algo que ver con el estándar de
comunicaciones celulares y la respuesta es que sí. El estándar que define la tecnología
4
celular GSM (Global System for Mobile communications) incluye este codec. La ventaja de
este codec también es su compresión.
GSM comprime aproximadamente a 13kbit/s y ya viene habilitado en Elastix.
Sobrecarga de protocolos
Como ya vimos, para transportar la voz de un lugar a otro, en una red de paquetes,
necesitamos la ayuda de algunos protocolos; pero ya nos habremos dado cuenta de que
estos protocolos transmiten data adicional que ocupa ancho de banda extra a la voz
propiamente dicha. Algunos de ellos son Ethernet, IP, UDP, RTP. En resumen esto hace
que el ancho de banda real para transmitir voz sea mayor al del codec.
Por ejemplo, para transmitir voz usando G.711 en teoría deberíamos usar 64Kbps (peso
del codec) pero en realidad usamos 95.2Kbps de BW. En otros codecs más compresores la
sobrecarga es incluso más significativa (porcentualmente hablando). Hagamos un ejercicio
sencillo usando como ejemplo G.711. Veamos la siguiente figura para ilustrar mejor el
ejercicio.
5
Calculemos el ancho de banda para G.711 basándonos en la figura anterior, la cual nos
muestra el desperdicio de cada protocolo. Sumemos ahora todos estos bytes enviados.
Bytes transmitidos cada 20ms = 38 + 20 + 12 + 8 + 160 = 238 bytes
Bits transmitidos cada 20ms = 238 bytes * 8 bits/byte = 1904 bits
Bits transmitidos cada segundo = 1904 bits/frame * 50 frames/seg. = 95,200
bits/segundo = 95.2Kbps!
Comparativa de codecs
A continuación una tabla que muestra el overhead para algunos de los codecs más
populares soportados por Asterisk.
6
Asterisk
Asterisk es un programa de software libre (bajo licencia GPL) que proporciona
funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar
un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un
proveedor de VoIP o bien a una RDSI tanto básicos 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
añadir novedades y funcionalidades. Originalmente desarrollado para el sistema operativo
GNU/Linux, Asterisk actualmente también se distribuye en versiones para los sistemas
operativos BSD, Mac OS X, Solaris y Microsoft Windows, aunque la plataforma nativa
(GNU/Linux) es la que cuenta con mejor soporte de todas.
Asterisk incluye muchas características que anteriormente sólo estaban disponibles en
costosos sistemas propietarios PBX, como buzón de voz, conferencias, IVR, distribución
automática de llamadas, y otras muchas. Los usuarios pueden crear nuevas
funcionalidades escribiendo un dialplan en el lenguaje de script de Asterisk o añadiendo
módulos escritos en lenguaje C o en cualquier otro lenguaje de programación soportado
en GNU/Linux.
Para conectar teléfonos estándares analógicos son necesarias tarjetas electrónicas
telefónicas FXS o FXO fabricadas por Digium u otros proveedores, ya que para conectar el
servidor a una línea externa no basta con un simple módem.
Quizá lo más interesante de Asterisk es que reconoce 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.
Asterisk se empieza a adoptar en algunos entornos corporativos como una gran solución
de bajo coste junto con SER (Sip Express Router).
7
Configuración Asterisk
Asterisk se configura editando una serie de ficheros de texto que están en el
directorio/etc/asterisk y acaban en la extensión .conf Los ficheros más importantes son
sip.conf y extensions.conf.
Existen interfaces web que configuran estos ficheros en base formularios web, que hacen
más sencilla su configuración, pero con el inconveniente de que generan un exceso de
codigo y macros en lenguaje Asterisk, que impiden comprender la sintaxis de los ficheros
adecuadamente.
Por ahora nos limitaremos a la configuración mediante un editor de texto, para
familiarizarnos con la sintaxis de estos ficheros.
8
Creación de las Extensiones
Las extensiones de tipo SIP se crean en el fichero sip.conf, y las de tipo IAX se crean en el
fichero iax.conf. En los ejercicios se crearan solo extensiones SIP.
Si editamos este fichero, veremos todas las posibles opciones que se pueden configurar.
Solo estas opciones se modificaran cuando sea necesario. En tanto solo siga las
instrucciones de este laboratorio.
Ingresamos en # vi /etc/asterisk/sip.conf
Al final del fichero vamos a incluir una extensión para realizar pruebas de llamadas. Las
extensiones pueden ser alfanuméricas, pero se recomienda que sean numéricas para
asegurarnos que desde los teléfonos antiguos se puedan utilizar, ya que estos no tienen la
posibilidad de introducir letras.
La explicacion de los parametros que hemos introducido es la siguiente:
[1001] Es el nombre del usuario, que tiene correspondencia con la extension
type=friend Es el tipo de extension que estamos creando. Existen 3 tipos de extensiones:
friend = para las llamadas entrantes y salientes
user = para las llamadas entrantes en el plan de llamadas
peer = para las llamadas salientes en el plan de llamadas
host=dynamic Se puede especificar la palabra dynamic que es una dirección ip obtenida
automáticamente o cualquiera dentro de la red, o directamente la dirección IP asignada al
dispositivo
secret=1001 es la password del usuario. Para evitar complicaciones debe ser numérica, ya
que algunos teléfonos no disponen de teclado alfanumérico.
context=users Contexto del plan de llamadas que se va a utilizar.
9
Debemos guardar los cambios una vez creadas las extensiones, debemos de acceder a la
consola de Asterisk y teclear el siguiente comando para que se recargue el fichero de
usuarios
CLI> sip reload
Para ver si realmente ha creado las extensiones tecleamos:
CLI> sip show peers
10
Y nos deben aparecer las extensiones creadas, en este caso la 1001 y la 1000. En este
momento no se puede realizar ninguna llamada, ya que el fichero extensions.conf no esta
configurado, y este es el que incluye el “Dialplan” o plan de llamadas, es decir, como se
van a comunicar las extensiones, como se van a tratar las llamadas entrantes, las salientes,
etc.
Para realizar pruebas de llamadas, vamos a configurar un teléfono de tipo Softphone, es
decir, un teléfono por software.
En el mercado existen varias alternativas, pero la mas usada es X‐Lite, existiendo
versiones para Windows, Mac y Linux. Este softphone se puede descargar de:
http://www.counterpath.net/x‐lite.html
Una vez descargado, procederemos a instalarlo y configurarlo, y los unicos datos que
tenemos que tener de nuestro servidor Asterisk es la direccion IP, el usuario, la extension
y la clave.
11
Debemos especificar las siguientes opciones:
Display Name: Nombre que queremos que aparezca en el teléfono cuando llamamos
User Name: el nombre de usuario (número de la extension)
Password: La clave asignada al usuario
Autorization user name: El nombre del usuario (nombre de la extension)
Domain: Dirección ip o nombre dns de nuestro servidor Asterisk.
Una vez introducidos estos datos y guardándolos, podemos observar en la consola de
Asterisk el registro de la extensión que acabamos de configurar en el teléfono.
12
Creación de Plan de llamados
La primera práctica que vamos a realizar es crear una “extensión” para que nos
reproduzca una de las múltiples locuciones que tiene Asterisk.
Para ello debemos de editar el fichero extensions.conf. Este fichero tiene multiples
opciones y ejemplos de extensiones, pero los elementos básicos son los que se indican a
continuación.
13
En el siguiente paso vamos a crear nuestra propia extension, para poder recibir llamadas.
Guardamos el fichero, y desde la consola de Asterisk recargamos el fichero de
extensiones.
CLI> dialplan reload
Ahora que ya ha configurado Asterisk y lo ha comprobado por medio del uso de un
softphone, cree una nueva extensión y configure un teléfono IP. Finalmente compruebe el
funcionamiento llamando entre los terminales.
14
Casilla de voz – VOICEMAIL
En esta sección vamos a trabajar sobre un fichero de Asterisk denominado
voicemail.conf. En este archivo debemos definir cuáles son extensiones que tienen buzón
de voz (contestador automático).
Modificando el fichero voicemail.conf, indicamos que una extensión tiene buzón de voz,
pero debemos modificar también el fichero de extensiones (sip.conf) para asociar una
extensión a una cuenta de correo y el plan de llamadas (extensions.conf) para indicarle
bajo qué circunstancias saltará el buzón de voz del usuario cuando recibe una llamada.
AL final del archivo voicemail.conf deberá incorporar:
En donde:
1001 -> es el n° que tendrá acceso a la casilla de voz
9999 -> corresponde a la clave que le será solicitada al usuario cuando desee escuchar sus
mensajes
asterisk1 -> corresponde al nombre del usuario de dicho anexo
root@localhost -> corresponde a una casilla de correo valida (la de root en solo un
ejemplo).
Si se modifica este fichero, debemos recargarlo en la consola ejecutando el siguiente
comando:
CLI> module reload app_voicemail.so
A continuación debemos modificar el fichero sip.conf y añadir a cada una de las
extensiones locales que hemos creado el parámetro:
mailbox = NUMEROEXTENSION@default
15
en nuestro caso mailbox = 1001@default. La expresión default identifica el contexto
dentro del fichero voicemail.conf.
Volvemos a recargar el archivo de configuración de extensions.conf desde la consola.
A continuación modificamos el fichero del dialplan (extensions.conf) para indicarle que
en el caso de que no contestemos a una llamada, salga el buzón de voz.
El siguiente paso es crear una extensión en nuestro sistema para que el usuario pueda
leer sus mensajes de voz. Debemos crearla en el dialplan (extensions.conf)
La extensión que crearemos va a tener tres cifras, escogiendo en este caso el 999.
Recargamos archivo de configuración desde la consola ejecutando
CLI> dialplan reload
A partir de este momento, podemos llamar a la extensión 999 y una locución nos
preguntará por el número de la extensión, y la clave. 16
Followme
La posibilidad de estar conectado a pesar de no encontrarse junto a su enexo es factible
gracias a aplicaciones tales como followme, la que permite trazar un mapa de posibles
ubicaciones fisicas, en las que podría estar el usuario.
El archivo followme.conf se utiliza para configurar la aplicación FollowMe (). Este archivo
nos permite hacer una cosa muy sencilla: definir una serie de números (extensiones)
donde desviar la llamada si a la extensión predefinida nadie contesta o si ha sido activada
esta opción. Claramente si el desvío es hacia otras extensiones internas no tendrá ningún
costo, si lo hacemos hacia números fijos y/o móviles para hacer la llamada tendremos que
utilizar proveedores VoIP o la línea de telefonía tradicional (PSTN).
Primero configuraremos nuestros archivos clasicos(sip.conf y extensions.conf), para
comprobar el funcionamiento de muestras extensiones. En esta oportuniad, deberá crear
4 extensiones y todas deberán estar registradas en su asterisk. El objetivo es definir un
orden que usará la llamada (en realidad su asterisk) para intentar localizar al usuario.
Configurar en sip.conf
[111001]
type=friend
host=dynamic
secret=111001
context=users
mailbox=111001@default
[111002]
type=friend
host=dynamic
secret=111002
context=users
mailbox=111002@default
[111003]
type=friend
host=dynamic
secret=111003
context=users
mailbox=111003@default
17
Configurar en extension.conf
; siempre es util tener una forma de probar los anexos
[users]
exten => 111009,1,Answer()
exten => 111009,2,Playback(hello-world)
exten => 111009,3,Playback(digits/1)
exten => 111009,4,Hangup()
; es la siguientes 3 lineas invocaremos al comando “Followme”. Observe el uso de los
argumentos san
; los que indican, “s” se anunciará al llamante el estado de la extensión 111001 antes de
empezar los
; distintos pasos configurados en el archivo followme.conf, “a” el llamante podrá grabar su
propio
; nombre para que sea anunciado al llamado cuando conteste y de esta forma tenga la
posibilidad de
; decidir si quiere o no aceptar la llamada, “n” si una vez que se hayan llamados todos los
números no
; se logre localizar la persona buscada el llamante escuchará una voz que le dirá que no ha
sido posible
; localizar el destinatario de la llamada.
; La secuencia será la siguinte: se llama a la extension 111001, se espera 20 segunsos, si no
contesta se
; invoca el comando followme y se comeinza con la secuencia descrita en followme.conf, si
al final no
; se logra contactar al usuario, se pasa al buzon de voz (previamente configurado)
exten => 111001,1,Dial(SIP/111001,20)
exten => 111001,n,Followme(111001,san)
exten => 111001,n,Voicemail(111001@default)
; repita los 3 comados anteriores para cada extension que configuró
; no olvide el numero para rescatar los mensajes (recuerde configurar el archivo
voicemail.conf)
exten => 111999,1,VoicemailMain()
Ahora vamos a configurar el archivo de configuracion del comando followme.
followme.conf
18
Configurar en followme.conf
[general]
featuredigittimeout=>5000 ; numero de milisegundos que tiene el llamado para
; aceptar o
; rechazar la llamada .
takecall=>1 ; para aceptar la llamada, el llamado, después de
; descolgar, tendrá que presionar la
; tecla 1 del teléfono.
declinecall=>2 ; para rechazarla la tecla 2 .
call-from-prompt=>followme/call-from ; esta es la voz predefinida que escuchará el
; llamadoanunciándole quien lo está llamando
norecording-prompt=>followme/no-recording ; la voz predefinida si el llamante no ha
; registrado el propio nombre o si la opción
; para registrarlo no ha sido activada .
options-prompt=>followme/options ; esta voz anunciará al llamado que tendrá que
; pulsar 1
para aceptar la llamada y dos para
; rechazarla.
pls-hold-prompt=>followme/pls-hold-while-try ; El llamante escuchará esta voz que le
dirá
;que espere mientras se intentará localizar el
; llamado .
status-prompt=>followme/status ; Esta voz anunciará al llamante que la persona
; llamada no se encuentra en ese momento en su
; oficina/casa/etc.
sorry-prompt=>followme/sorry ; si al final de todos los desvíos nadie contesta la
; llamada, esta voz anunciará al llamante que no se
; ha podido localizar la persona buscada.
19
Ahora empieza la configuración específica de cada extensión. En este ejemplo
definiremos a que números llamaremos si la extensión 111001 no contesta.
[111001] ; numero de la extensión que queremos configurar.
musicclass=>default ; tipo de música en espera que escuchará el llamante mientras se
; intentará localizar el destinatario de la llamada.
Context=> users ; el contexto que usará la aplicación followme para localizar el llamado.
; Si es que desearamos tenernúmeros fijos y moviles
; este contexto tiene que tener acceso a las llamadas externas.
number=>111002,15 ; Aquí empieza la lista de números que se intentará llamar para
localizar
; el destinatario de la llamada. En este ejemplo si el destinatario no
; contesta a la extensión 111001 llamaremos como segunda opción la
; extensión 111002 en 15 segundos.
number=> 111003,15 ; si a la extensión 111002 nadie contesta intentaremos llamar al
siguiente
; número y se puede repetir tantas veces se desee.
takecall=>1 ; ahora sigue los mismo parámetros que hemos visto en la parte general.
declinecall=>2 ; Por si queremos personalizarlos para esta extension.
call-from-prompt=>followme/call-from
followme-norecording-prompt=>followme/no-recording
followme-options-prompt=>followme/options
followme-pls-hold-prompt=>followme/pls-hold-while-try
followme-status-prompt=>followme/status
followme-sorry-prompt=>followme/sorry
-Reiniciamos Asterisk
# service asterisk restart
20
Meetme – Sala de conferencia
Asterisk posee la capacidad de establecer salas de conferencias, para lo cual se debe
invocar la aplicación MeetMe. MeetMe() es una de las aplicaciones más notables de
Asterisk. Le permite crear salas de conferencias de audio. Este concepto bastante simple
ha demostrado ser extremadamente costoso de implementar en todas las PBX de otros
vendors, pero lo que parece ser un gran negocio para ellos es fácil en Asterisk. Ya sea
mediante el uso de un servidor dedicado, o mediante el uso de un servicio, Asterisk ofrece
esta funcionalidad como una aplicación estándar.
El archivo de configuracion se llama meetme.conf y esta ubicado en la rura /ec/asterisk.
El archivo conta de un campo “general”, que define el comportamiento global de las salas
y una segunda parte en donde se definen las salas de multiconferencia. t
Configuramos meetme.conf
[general]
audiobuffers=32 ; Numero de paquetes audio de 20ms que serán guardados en un buffer
de
; memoria cuando pertenecen a canales que no son DADHI. Esto permite
; sincronizar el audio de los distintos participantes y evitar retrasos. Puede
; ser un valor entre 2 y 32 .
schedule=yes ; con este parámetro le decimos a Asterisk que las conferencias pueden
; ser programadas (solamente en realtime).
logmembercount=yes ; este parámetro sirve para actualizar el realtime cada vez que un
usuario
; entra/sale de una conferencia.
fuzzystart=300 ; Tenemos una conferencia programada a las 8 de la mañana. Este
; parámetro sirve para definir si un usuario puede o no entrar a la
; conferencia si esta no ha empezado. 300 es el numero de segundos.
; Ejemplo. Si el usuario entra a la 7:55 será aceptado porque puede entrar
; hasta 5 minutos (300 segundos) antes del comienzo de la conferencia. Si
; entra a las 7:50 será rechazado.
earlyalert=3600 ; Este valor (siempre en segundos) define si al usuario que intenta entrar
; en una conferencia programada se le indicará o no si la conferencia aún
; no ha comenzado. Si entra cuando falta menos de una hora recibirá una
; aviso. Si entra más de una hora antes se le anunciará que la conferencia
; no existe.
endalert=120 ; cuando faltarán 120 segundos para terminar la conferencia programada,
; se le anunciará a todos los participantes.
21
[rooms] ; desde esta linea empieza la configuración de las conferencias .
conf => 111501 ; la sintaxis es conf => confno[,pin][,adminpin] y define un cuarto de
; conferencias cuya extensión es 111501 y a todos los usuarios es
; permitido entrar.
conf => 111502,1234 ;Un cuarto de conferencias cuya extensión es la 111502 y para
entrar los
; usuarios tendrán que marcar el PIN 1234.
conf => 111503,1234,5678 ;En esta conferencia los usuarios tendrán que usar el PIN 1234
y los
;administradores el PIN 5678.
Entonces quedaría el script meetme.conf:
[general]
audiobuffers=32
schedule=yes
logmembercount=yes
fuzzystart=300
earlyalert=3600
endalert=120
[rooms]
conf => 111503,1234,5678
Seguimos con la configuración del plan de llamadas. Podemos definir un contexto
dedicado a las conferencias y ahí configurar nuestras salas:
/etc/asterisk/extensions.conf
En este archi vamos a agregar las extensiones necesarias para logar habilitar la
numeracion que utilizará la sala:
exten => 111501,1,Meetme (111501,scM)
exten => 111501,n,Hangup()
Llamando la extensión 111501 entraremos en el cuarto de conferencia 111501 (como
configurado en meetme.conf) y ademas usaremos las tres opciones:
· s - Con esta opción activamos el menú del cuarto de conferencias para usuarios y
administradores. Marcando la tecla asterisco escucharemos el menú.
· c - Al entrar en un cuarto de conferencia se le anunciará al usuario el número de
personas presentes.
· M (default) - Cuando en el cuarto está solamente una persona, ésta escuchara la música
en espera de la clase default”
22

Más contenido relacionado

La actualidad más candente

Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionEduardo J Onofre
 
Capa De Enlace de Datos
Capa De Enlace de DatosCapa De Enlace de Datos
Capa De Enlace de DatosJorge Reyes
 
Cisco Packet Transport Network – MPLS-TP
Cisco Packet Transport Network – MPLS-TPCisco Packet Transport Network – MPLS-TP
Cisco Packet Transport Network – MPLS-TPCisco Canada
 
Meio Físico de transmissão de dados
Meio Físico de transmissão de dadosMeio Físico de transmissão de dados
Meio Físico de transmissão de dadosRafael Vieira
 
Manual de Operação Primme Acesso Henry - LojaTotalseg.com.br
Manual de Operação Primme Acesso Henry - LojaTotalseg.com.brManual de Operação Primme Acesso Henry - LojaTotalseg.com.br
Manual de Operação Primme Acesso Henry - LojaTotalseg.com.brLojaTotalseg
 
Normas y estándares para un sistema de cableado estructurado (SCE)
  Normas y estándares para un sistema de cableado estructurado (SCE)   Normas y estándares para un sistema de cableado estructurado (SCE)
Normas y estándares para un sistema de cableado estructurado (SCE) Remmy Fuentes Telleria
 
ITN_Module_2.pptx
ITN_Module_2.pptxITN_Module_2.pptx
ITN_Module_2.pptxAshok R
 
Internet Protocol Secure (IPSec)
Internet Protocol Secure (IPSec)Internet Protocol Secure (IPSec)
Internet Protocol Secure (IPSec)Saúl Vázquez
 
X25 y frame relay
X25 y frame relayX25 y frame relay
X25 y frame relayJuan Anaya
 
Normas y estándares de cableado estructurado
Normas y estándares de cableado estructuradoNormas y estándares de cableado estructurado
Normas y estándares de cableado estructuradoChris Leyva
 
Estandares y protocolos.pptx
Estandares y protocolos.pptxEstandares y protocolos.pptx
Estandares y protocolos.pptxRam Vazquez
 
Conceptos y Protocolos de Enrutamiento (Capitulo 10)
Conceptos y Protocolos de Enrutamiento (Capitulo 10)Conceptos y Protocolos de Enrutamiento (Capitulo 10)
Conceptos y Protocolos de Enrutamiento (Capitulo 10)Cristiān Villegās
 

La actualidad más candente (20)

Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
 
Capa De Enlace de Datos
Capa De Enlace de DatosCapa De Enlace de Datos
Capa De Enlace de Datos
 
Fundamentos de Redes. Tema 2 (complementaria)
Fundamentos de Redes. Tema 2 (complementaria)Fundamentos de Redes. Tema 2 (complementaria)
Fundamentos de Redes. Tema 2 (complementaria)
 
Cisco Packet Transport Network – MPLS-TP
Cisco Packet Transport Network – MPLS-TPCisco Packet Transport Network – MPLS-TP
Cisco Packet Transport Network – MPLS-TP
 
Grupo 3 tecnologias dsl
Grupo 3   tecnologias dslGrupo 3   tecnologias dsl
Grupo 3 tecnologias dsl
 
Capa de Internet Protocolo IPv4 - IPv6
Capa de Internet  Protocolo IPv4 - IPv6Capa de Internet  Protocolo IPv4 - IPv6
Capa de Internet Protocolo IPv4 - IPv6
 
3GPP IMS
3GPP IMS3GPP IMS
3GPP IMS
 
Meio Físico de transmissão de dados
Meio Físico de transmissão de dadosMeio Físico de transmissão de dados
Meio Físico de transmissão de dados
 
Manual de Operação Primme Acesso Henry - LojaTotalseg.com.br
Manual de Operação Primme Acesso Henry - LojaTotalseg.com.brManual de Operação Primme Acesso Henry - LojaTotalseg.com.br
Manual de Operação Primme Acesso Henry - LojaTotalseg.com.br
 
ISDN o RDSI
ISDN o RDSIISDN o RDSI
ISDN o RDSI
 
Normas y estándares para un sistema de cableado estructurado (SCE)
  Normas y estándares para un sistema de cableado estructurado (SCE)   Normas y estándares para un sistema de cableado estructurado (SCE)
Normas y estándares para un sistema de cableado estructurado (SCE)
 
Ethernet
EthernetEthernet
Ethernet
 
ITN_Module_2.pptx
ITN_Module_2.pptxITN_Module_2.pptx
ITN_Module_2.pptx
 
Tipos de redes de agregación y troncales
Tipos de redes de agregación y troncalesTipos de redes de agregación y troncales
Tipos de redes de agregación y troncales
 
Internet Protocol Secure (IPSec)
Internet Protocol Secure (IPSec)Internet Protocol Secure (IPSec)
Internet Protocol Secure (IPSec)
 
VoIP
VoIPVoIP
VoIP
 
X25 y frame relay
X25 y frame relayX25 y frame relay
X25 y frame relay
 
Normas y estándares de cableado estructurado
Normas y estándares de cableado estructuradoNormas y estándares de cableado estructurado
Normas y estándares de cableado estructurado
 
Estandares y protocolos.pptx
Estandares y protocolos.pptxEstandares y protocolos.pptx
Estandares y protocolos.pptx
 
Conceptos y Protocolos de Enrutamiento (Capitulo 10)
Conceptos y Protocolos de Enrutamiento (Capitulo 10)Conceptos y Protocolos de Enrutamiento (Capitulo 10)
Conceptos y Protocolos de Enrutamiento (Capitulo 10)
 

Similar a Configuración básica asterisk sixbell - v2.0

Similar a Configuración básica asterisk sixbell - v2.0 (20)

Introduccion a la voip
Introduccion a la voipIntroduccion a la voip
Introduccion a la voip
 
Introducción a la vo ip
Introducción a la vo ipIntroducción a la vo ip
Introducción a la vo ip
 
Manual Asterisk en FreeBSD
Manual Asterisk en FreeBSDManual Asterisk en FreeBSD
Manual Asterisk en FreeBSD
 
Tecnología IP Leccion 2
Tecnología IP Leccion 2Tecnología IP Leccion 2
Tecnología IP Leccion 2
 
Semana 14 -_servicios_sobre_ip
Semana 14 -_servicios_sobre_ipSemana 14 -_servicios_sobre_ip
Semana 14 -_servicios_sobre_ip
 
VOiP
VOiPVOiP
VOiP
 
Introduccion telefonia ip
Introduccion telefonia ipIntroduccion telefonia ip
Introduccion telefonia ip
 
Vo ip con_qos[1]
Vo ip con_qos[1]Vo ip con_qos[1]
Vo ip con_qos[1]
 
Redes neldo
Redes neldoRedes neldo
Redes neldo
 
Voz Ip
Voz IpVoz Ip
Voz Ip
 
0. trabajo-de-investigación (1)
0. trabajo-de-investigación (1)0. trabajo-de-investigación (1)
0. trabajo-de-investigación (1)
 
Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)
 
Práctica VOIP
Práctica VOIPPráctica VOIP
Práctica VOIP
 
Voz ip qos
Voz ip qosVoz ip qos
Voz ip qos
 
VOIP I - Marzo 2010
VOIP I - Marzo 2010VOIP I - Marzo 2010
VOIP I - Marzo 2010
 
Presentacion Voip
Presentacion VoipPresentacion Voip
Presentacion Voip
 
Consulta vo ip
Consulta vo ipConsulta vo ip
Consulta vo ip
 
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
 
Fundamentos de telefonia ip
Fundamentos de telefonia ipFundamentos de telefonia ip
Fundamentos de telefonia ip
 
Fundamentos20de20telefonia20ip 131006193600-phpapp02
Fundamentos20de20telefonia20ip 131006193600-phpapp02Fundamentos20de20telefonia20ip 131006193600-phpapp02
Fundamentos20de20telefonia20ip 131006193600-phpapp02
 

Configuración básica asterisk sixbell - v2.0

  • 1. Configuración – Guía Básica |Por: Sebastián Cisternas Arenas Santiago 2013
  • 2. Índice: Protocolos VoIP……………………..…………….…………………………………………….…………1 SIP………………………………………………………………………………………………………………2-3 Codec……………………………………………………………………………………………..…….…..4-6 ASTERISK…………………………...………………………………………………………………………….7 Configuración Asterisk…………………………………………………………………………………8 Configuración de Anexos……………………………..……………………………………..….8-12 Plan de llamado……………………………………………………………………………………..13-14 Casilla de voz – VOICEMAIL………………………………………………………………….…15-16 Followme ………………………………………………………………………………………………17-20 Meetme…………………………………………………………………………………………………21-22
  • 3. Protocolos VoIP Hay muchos protocolos involucrados en la transmisión de voz sobre IP. Ya de por sí hay protocolos de red involucrados como el propio protocolo IP y otros protocolos de transporte como TCP o UDP. Encima de ellos se colocan los protocolos de señalización de voz y como si esto fuera poco existen además muchas opciones de protocolos de señalización disponibles lo que puede hacer que todo suene un poco confuso al principio. Clasificando los protocolos VoIP Para simplificar las cosas podríamos clasificar a los protocolos utilizados en la VoIP en tres grupos. Protocolos de señalización Los protocolos de señalización en VoIP cumplen funciones similares a sus homólogos en la telefonía tradicional, es decir tareas de establecimiento de sesión, control del progreso de la llamada, entre otras. Se encuentran en la capa 5 del modelo OSI, es decir en la capa de Sesión. Existen algunos protocolos de señalización, que han sido desarrollados por diferentes fabricantes u organismos como la ITU o el IETF, y que se encuentran soportados por Asterisk. Algunos son: • SIP • IAX • H.323 • MGCP • SCCP Entre estos los más populares en el ámbito de Asterisk son SIP e IAX. Protocolos de transporte de voz No se debe confundir aquí con protocolos de transporte de bajo nivel como TCP y UDP. Nos referimos aquí al protocolo que transporta la voz propiamente dicha o lo que comúnmente se denomina carga útil. Este protocolo se llama RTP (Real-time Transport Protocol) y función es simple: transportar la voz con el menor retrazo posible. Este protocolo entra a funcionar una vez que el protocolo de señalización ha establecido la llamada entre los participantes. Protocolos de plataforma IP En esta categoría agruparemos a los protocolos básicos en redes IP y que forman la base sobre la cual se añaden los protocolos de voz anteriores. En estos protocolos podríamos mencionar a Ethernet, IP, TCP y UDP. 1
  • 4. Protocolo SIP Es un protocolo más nuevo que el H.323, de señalización para conferencia, telefonía, notificación de eventos y mensajería instantánea a través de Internet desarrollado por el IETF. Este protocolo se utiliza para iniciar y terminar las llamadas. Los servidores para conectarse entre si utilizan TCP y UDP, y en la capa de aplicación utiliza el protocolo RTP para la transmisión en tiempo real de video y audio. Se utiliza para el intercambio de video, mensajería, voz, juegos on-line y realidad-virtual. Es un protocolo punto a punto (P2P) y por lo tanto la parte de inteligencia está incluida en los terminales. Se definen dos elementos fundamentales para implementar las funcionalidades básicas: 1. User agents-UA: consta de dos partes, el cliente y el servidor. El primero genera peticiones SIP y recibe las respuestas, el otro genera las respuestas a las distintas peticiones. 2. Servidores: aquí nos encontramos con una división conceptual de tres tipos de servidores diferentes. Esta división aporta al conjunto estabilidad y mejora el rendimiento: o Proxy Server: tiene la tarea de enrutar las peticiones de otras entidades más próximas a su destino. Actúa como cliente y servidor para el establecimiento de llamadas entre usuarios. Existen los stateful que mantienen el estado de las transacciones durante el procesamiento de las peticiones y permiten la división de una petición en varias y el otro tipo son los stateless, que al contrario no mantienen estado únicamente se limitan a reenviar los mensajes. o Registrar Server: este servidor acepta peticiones de registro de los usuarios y guarda la información de estas para suministrar un servicio de localización y traducción de direcciones en el dominio que controla. o Redirect Server: este servidor genera respuestas de redirección a las peticiones que recibe y reencamina las peticiones hacia el próximo servidor. 2
  • 5. SIP comparte con HTTP alguno de sus principios de diseño, siguiendo una estructura petición respuesta con coditos de respuesta similares a los de HTTP. Por ejemplo un código de retorno 200 significa OK y el 404 es no encontrado. Y la localización la basa en DNS. Por lo tanto este protocolo esta basado en el intercambio de peticiones y respuestas que consisten en una línea inicial. Recibe el nombre de request line e incluyen el nombre de método al que invocan, el identificador del destinatario, el protocolo SIP que se está utilizando. Métodos a invocar: 1. Invite: utilizado para invitar un usuario para participar en una sesión o para modificar parámetros. 2. Ack: confirma el establecimiento de una sesión. 3. Option: solicita información sobre las capacidades de un servidor. 4. Bye: indica la terminación de una sesión. 5. Cancel: cancela una petición pendiente. 6. Register: registra un user agent. 3
  • 6. CODEC La palabra codec proviene de abreviar las palabras COdificación y DECodficación. Su función principal es la de adaptar la información digital de la voz para obtener algún beneficio. Este beneficio en muchos casos es la compresión de la voz de tal manera que podamos utilizar menos ancho de banda del necesario. Algunos codecs, soportados por Asterisk y comúnmente usados en comunicaciones de VoIP, son G.711, G.729, GSM, iLBC, entre otros. Explicaremos brevemente tres de ellos. G.711 G.711 es uno de los codecs más usados de todos los tiempos y proviene de un estándar ITU-T que fue liberado en 1972. Viene en dos sabores llamados u-law y a-law. La primera versión se utiliza en los Estados Unidos y la segunda se utiliza en Europa. Una de sus características es la calidad de voz debido a que casi no la comprime. Utiliza 64kbit/s, es decir un muestreo de 8 bits a 8kHz. Es el codec recomendado para redes LAN pero hay que pensarlo dos veces antes de utilizarlo en enlaces remotos debido al alto consumo de ancho de banda. El soporte para este codec ya viene habilitado en Elastix. G.729 También se trata de una recomendación ITU cuyas implementaciones ha sido históricamente licenciadas, o sea que hay que pagar por ellas. La ventaja en la utilización de G.729 radica principalmente en su alta compresión y por ende bajo consumo de ancho de banda lo que lo hace atractivo para comunicaciones por Internet. Pese a su alta compresión no deteriora la calidad de voz significativamente y por esta razón ha sido ampliamente usado a través de los años por muchos fabricantes de productos de VoIP. G.729 utiliza 8kbit/s por cada canal. Si comparamos este valor con el de G.711 notaremos que consume 8 veces menos ancho de banda, lo cual a simple vista es un ahorro de recursos significativo. Nota: Existen variaciones de G.729 que utilizan 6.4kbit/s y 11.8kbit/s. Para habilitar canales G.729 en Elastix hay que comprar una licencia por cada canal. Esto se puede adquirir en el sitio Web de Digium. GSM Muchas personas suelen preguntar si el codec GSM tiene algo que ver con el estándar de comunicaciones celulares y la respuesta es que sí. El estándar que define la tecnología 4
  • 7. celular GSM (Global System for Mobile communications) incluye este codec. La ventaja de este codec también es su compresión. GSM comprime aproximadamente a 13kbit/s y ya viene habilitado en Elastix. Sobrecarga de protocolos Como ya vimos, para transportar la voz de un lugar a otro, en una red de paquetes, necesitamos la ayuda de algunos protocolos; pero ya nos habremos dado cuenta de que estos protocolos transmiten data adicional que ocupa ancho de banda extra a la voz propiamente dicha. Algunos de ellos son Ethernet, IP, UDP, RTP. En resumen esto hace que el ancho de banda real para transmitir voz sea mayor al del codec. Por ejemplo, para transmitir voz usando G.711 en teoría deberíamos usar 64Kbps (peso del codec) pero en realidad usamos 95.2Kbps de BW. En otros codecs más compresores la sobrecarga es incluso más significativa (porcentualmente hablando). Hagamos un ejercicio sencillo usando como ejemplo G.711. Veamos la siguiente figura para ilustrar mejor el ejercicio. 5
  • 8. Calculemos el ancho de banda para G.711 basándonos en la figura anterior, la cual nos muestra el desperdicio de cada protocolo. Sumemos ahora todos estos bytes enviados. Bytes transmitidos cada 20ms = 38 + 20 + 12 + 8 + 160 = 238 bytes Bits transmitidos cada 20ms = 238 bytes * 8 bits/byte = 1904 bits Bits transmitidos cada segundo = 1904 bits/frame * 50 frames/seg. = 95,200 bits/segundo = 95.2Kbps! Comparativa de codecs A continuación una tabla que muestra el overhead para algunos de los codecs más populares soportados por Asterisk. 6
  • 9. Asterisk Asterisk es un programa de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto básicos 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 añadir novedades y funcionalidades. Originalmente desarrollado para el sistema operativo GNU/Linux, Asterisk actualmente también se distribuye en versiones para los sistemas operativos BSD, Mac OS X, Solaris y Microsoft Windows, aunque la plataforma nativa (GNU/Linux) es la que cuenta con mejor soporte de todas. Asterisk incluye muchas características que anteriormente sólo estaban disponibles en costosos sistemas propietarios PBX, como buzón de voz, conferencias, IVR, distribución automática de llamadas, y otras muchas. Los usuarios pueden crear nuevas funcionalidades escribiendo un dialplan en el lenguaje de script de Asterisk o añadiendo módulos escritos en lenguaje C o en cualquier otro lenguaje de programación soportado en GNU/Linux. Para conectar teléfonos estándares analógicos son necesarias tarjetas electrónicas telefónicas FXS o FXO fabricadas por Digium u otros proveedores, ya que para conectar el servidor a una línea externa no basta con un simple módem. Quizá lo más interesante de Asterisk es que reconoce 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. Asterisk se empieza a adoptar en algunos entornos corporativos como una gran solución de bajo coste junto con SER (Sip Express Router). 7
  • 10. Configuración Asterisk Asterisk se configura editando una serie de ficheros de texto que están en el directorio/etc/asterisk y acaban en la extensión .conf Los ficheros más importantes son sip.conf y extensions.conf. Existen interfaces web que configuran estos ficheros en base formularios web, que hacen más sencilla su configuración, pero con el inconveniente de que generan un exceso de codigo y macros en lenguaje Asterisk, que impiden comprender la sintaxis de los ficheros adecuadamente. Por ahora nos limitaremos a la configuración mediante un editor de texto, para familiarizarnos con la sintaxis de estos ficheros. 8
  • 11. Creación de las Extensiones Las extensiones de tipo SIP se crean en el fichero sip.conf, y las de tipo IAX se crean en el fichero iax.conf. En los ejercicios se crearan solo extensiones SIP. Si editamos este fichero, veremos todas las posibles opciones que se pueden configurar. Solo estas opciones se modificaran cuando sea necesario. En tanto solo siga las instrucciones de este laboratorio. Ingresamos en # vi /etc/asterisk/sip.conf Al final del fichero vamos a incluir una extensión para realizar pruebas de llamadas. Las extensiones pueden ser alfanuméricas, pero se recomienda que sean numéricas para asegurarnos que desde los teléfonos antiguos se puedan utilizar, ya que estos no tienen la posibilidad de introducir letras. La explicacion de los parametros que hemos introducido es la siguiente: [1001] Es el nombre del usuario, que tiene correspondencia con la extension type=friend Es el tipo de extension que estamos creando. Existen 3 tipos de extensiones: friend = para las llamadas entrantes y salientes user = para las llamadas entrantes en el plan de llamadas peer = para las llamadas salientes en el plan de llamadas host=dynamic Se puede especificar la palabra dynamic que es una dirección ip obtenida automáticamente o cualquiera dentro de la red, o directamente la dirección IP asignada al dispositivo secret=1001 es la password del usuario. Para evitar complicaciones debe ser numérica, ya que algunos teléfonos no disponen de teclado alfanumérico. context=users Contexto del plan de llamadas que se va a utilizar. 9
  • 12. Debemos guardar los cambios una vez creadas las extensiones, debemos de acceder a la consola de Asterisk y teclear el siguiente comando para que se recargue el fichero de usuarios CLI> sip reload Para ver si realmente ha creado las extensiones tecleamos: CLI> sip show peers 10
  • 13. Y nos deben aparecer las extensiones creadas, en este caso la 1001 y la 1000. En este momento no se puede realizar ninguna llamada, ya que el fichero extensions.conf no esta configurado, y este es el que incluye el “Dialplan” o plan de llamadas, es decir, como se van a comunicar las extensiones, como se van a tratar las llamadas entrantes, las salientes, etc. Para realizar pruebas de llamadas, vamos a configurar un teléfono de tipo Softphone, es decir, un teléfono por software. En el mercado existen varias alternativas, pero la mas usada es X‐Lite, existiendo versiones para Windows, Mac y Linux. Este softphone se puede descargar de: http://www.counterpath.net/x‐lite.html Una vez descargado, procederemos a instalarlo y configurarlo, y los unicos datos que tenemos que tener de nuestro servidor Asterisk es la direccion IP, el usuario, la extension y la clave. 11
  • 14. Debemos especificar las siguientes opciones: Display Name: Nombre que queremos que aparezca en el teléfono cuando llamamos User Name: el nombre de usuario (número de la extension) Password: La clave asignada al usuario Autorization user name: El nombre del usuario (nombre de la extension) Domain: Dirección ip o nombre dns de nuestro servidor Asterisk. Una vez introducidos estos datos y guardándolos, podemos observar en la consola de Asterisk el registro de la extensión que acabamos de configurar en el teléfono. 12
  • 15. Creación de Plan de llamados La primera práctica que vamos a realizar es crear una “extensión” para que nos reproduzca una de las múltiples locuciones que tiene Asterisk. Para ello debemos de editar el fichero extensions.conf. Este fichero tiene multiples opciones y ejemplos de extensiones, pero los elementos básicos son los que se indican a continuación. 13
  • 16. En el siguiente paso vamos a crear nuestra propia extension, para poder recibir llamadas. Guardamos el fichero, y desde la consola de Asterisk recargamos el fichero de extensiones. CLI> dialplan reload Ahora que ya ha configurado Asterisk y lo ha comprobado por medio del uso de un softphone, cree una nueva extensión y configure un teléfono IP. Finalmente compruebe el funcionamiento llamando entre los terminales. 14
  • 17. Casilla de voz – VOICEMAIL En esta sección vamos a trabajar sobre un fichero de Asterisk denominado voicemail.conf. En este archivo debemos definir cuáles son extensiones que tienen buzón de voz (contestador automático). Modificando el fichero voicemail.conf, indicamos que una extensión tiene buzón de voz, pero debemos modificar también el fichero de extensiones (sip.conf) para asociar una extensión a una cuenta de correo y el plan de llamadas (extensions.conf) para indicarle bajo qué circunstancias saltará el buzón de voz del usuario cuando recibe una llamada. AL final del archivo voicemail.conf deberá incorporar: En donde: 1001 -> es el n° que tendrá acceso a la casilla de voz 9999 -> corresponde a la clave que le será solicitada al usuario cuando desee escuchar sus mensajes asterisk1 -> corresponde al nombre del usuario de dicho anexo root@localhost -> corresponde a una casilla de correo valida (la de root en solo un ejemplo). Si se modifica este fichero, debemos recargarlo en la consola ejecutando el siguiente comando: CLI> module reload app_voicemail.so A continuación debemos modificar el fichero sip.conf y añadir a cada una de las extensiones locales que hemos creado el parámetro: mailbox = NUMEROEXTENSION@default 15
  • 18. en nuestro caso mailbox = 1001@default. La expresión default identifica el contexto dentro del fichero voicemail.conf. Volvemos a recargar el archivo de configuración de extensions.conf desde la consola. A continuación modificamos el fichero del dialplan (extensions.conf) para indicarle que en el caso de que no contestemos a una llamada, salga el buzón de voz. El siguiente paso es crear una extensión en nuestro sistema para que el usuario pueda leer sus mensajes de voz. Debemos crearla en el dialplan (extensions.conf) La extensión que crearemos va a tener tres cifras, escogiendo en este caso el 999. Recargamos archivo de configuración desde la consola ejecutando CLI> dialplan reload A partir de este momento, podemos llamar a la extensión 999 y una locución nos preguntará por el número de la extensión, y la clave. 16
  • 19. Followme La posibilidad de estar conectado a pesar de no encontrarse junto a su enexo es factible gracias a aplicaciones tales como followme, la que permite trazar un mapa de posibles ubicaciones fisicas, en las que podría estar el usuario. El archivo followme.conf se utiliza para configurar la aplicación FollowMe (). Este archivo nos permite hacer una cosa muy sencilla: definir una serie de números (extensiones) donde desviar la llamada si a la extensión predefinida nadie contesta o si ha sido activada esta opción. Claramente si el desvío es hacia otras extensiones internas no tendrá ningún costo, si lo hacemos hacia números fijos y/o móviles para hacer la llamada tendremos que utilizar proveedores VoIP o la línea de telefonía tradicional (PSTN). Primero configuraremos nuestros archivos clasicos(sip.conf y extensions.conf), para comprobar el funcionamiento de muestras extensiones. En esta oportuniad, deberá crear 4 extensiones y todas deberán estar registradas en su asterisk. El objetivo es definir un orden que usará la llamada (en realidad su asterisk) para intentar localizar al usuario. Configurar en sip.conf [111001] type=friend host=dynamic secret=111001 context=users mailbox=111001@default [111002] type=friend host=dynamic secret=111002 context=users mailbox=111002@default [111003] type=friend host=dynamic secret=111003 context=users mailbox=111003@default 17
  • 20. Configurar en extension.conf ; siempre es util tener una forma de probar los anexos [users] exten => 111009,1,Answer() exten => 111009,2,Playback(hello-world) exten => 111009,3,Playback(digits/1) exten => 111009,4,Hangup() ; es la siguientes 3 lineas invocaremos al comando “Followme”. Observe el uso de los argumentos san ; los que indican, “s” se anunciará al llamante el estado de la extensión 111001 antes de empezar los ; distintos pasos configurados en el archivo followme.conf, “a” el llamante podrá grabar su propio ; nombre para que sea anunciado al llamado cuando conteste y de esta forma tenga la posibilidad de ; decidir si quiere o no aceptar la llamada, “n” si una vez que se hayan llamados todos los números no ; se logre localizar la persona buscada el llamante escuchará una voz que le dirá que no ha sido posible ; localizar el destinatario de la llamada. ; La secuencia será la siguinte: se llama a la extension 111001, se espera 20 segunsos, si no contesta se ; invoca el comando followme y se comeinza con la secuencia descrita en followme.conf, si al final no ; se logra contactar al usuario, se pasa al buzon de voz (previamente configurado) exten => 111001,1,Dial(SIP/111001,20) exten => 111001,n,Followme(111001,san) exten => 111001,n,Voicemail(111001@default) ; repita los 3 comados anteriores para cada extension que configuró ; no olvide el numero para rescatar los mensajes (recuerde configurar el archivo voicemail.conf) exten => 111999,1,VoicemailMain() Ahora vamos a configurar el archivo de configuracion del comando followme. followme.conf 18
  • 21. Configurar en followme.conf [general] featuredigittimeout=>5000 ; numero de milisegundos que tiene el llamado para ; aceptar o ; rechazar la llamada . takecall=>1 ; para aceptar la llamada, el llamado, después de ; descolgar, tendrá que presionar la ; tecla 1 del teléfono. declinecall=>2 ; para rechazarla la tecla 2 . call-from-prompt=>followme/call-from ; esta es la voz predefinida que escuchará el ; llamadoanunciándole quien lo está llamando norecording-prompt=>followme/no-recording ; la voz predefinida si el llamante no ha ; registrado el propio nombre o si la opción ; para registrarlo no ha sido activada . options-prompt=>followme/options ; esta voz anunciará al llamado que tendrá que ; pulsar 1 para aceptar la llamada y dos para ; rechazarla. pls-hold-prompt=>followme/pls-hold-while-try ; El llamante escuchará esta voz que le dirá ;que espere mientras se intentará localizar el ; llamado . status-prompt=>followme/status ; Esta voz anunciará al llamante que la persona ; llamada no se encuentra en ese momento en su ; oficina/casa/etc. sorry-prompt=>followme/sorry ; si al final de todos los desvíos nadie contesta la ; llamada, esta voz anunciará al llamante que no se ; ha podido localizar la persona buscada. 19
  • 22. Ahora empieza la configuración específica de cada extensión. En este ejemplo definiremos a que números llamaremos si la extensión 111001 no contesta. [111001] ; numero de la extensión que queremos configurar. musicclass=>default ; tipo de música en espera que escuchará el llamante mientras se ; intentará localizar el destinatario de la llamada. Context=> users ; el contexto que usará la aplicación followme para localizar el llamado. ; Si es que desearamos tenernúmeros fijos y moviles ; este contexto tiene que tener acceso a las llamadas externas. number=>111002,15 ; Aquí empieza la lista de números que se intentará llamar para localizar ; el destinatario de la llamada. En este ejemplo si el destinatario no ; contesta a la extensión 111001 llamaremos como segunda opción la ; extensión 111002 en 15 segundos. number=> 111003,15 ; si a la extensión 111002 nadie contesta intentaremos llamar al siguiente ; número y se puede repetir tantas veces se desee. takecall=>1 ; ahora sigue los mismo parámetros que hemos visto en la parte general. declinecall=>2 ; Por si queremos personalizarlos para esta extension. call-from-prompt=>followme/call-from followme-norecording-prompt=>followme/no-recording followme-options-prompt=>followme/options followme-pls-hold-prompt=>followme/pls-hold-while-try followme-status-prompt=>followme/status followme-sorry-prompt=>followme/sorry -Reiniciamos Asterisk # service asterisk restart 20
  • 23. Meetme – Sala de conferencia Asterisk posee la capacidad de establecer salas de conferencias, para lo cual se debe invocar la aplicación MeetMe. MeetMe() es una de las aplicaciones más notables de Asterisk. Le permite crear salas de conferencias de audio. Este concepto bastante simple ha demostrado ser extremadamente costoso de implementar en todas las PBX de otros vendors, pero lo que parece ser un gran negocio para ellos es fácil en Asterisk. Ya sea mediante el uso de un servidor dedicado, o mediante el uso de un servicio, Asterisk ofrece esta funcionalidad como una aplicación estándar. El archivo de configuracion se llama meetme.conf y esta ubicado en la rura /ec/asterisk. El archivo conta de un campo “general”, que define el comportamiento global de las salas y una segunda parte en donde se definen las salas de multiconferencia. t Configuramos meetme.conf [general] audiobuffers=32 ; Numero de paquetes audio de 20ms que serán guardados en un buffer de ; memoria cuando pertenecen a canales que no son DADHI. Esto permite ; sincronizar el audio de los distintos participantes y evitar retrasos. Puede ; ser un valor entre 2 y 32 . schedule=yes ; con este parámetro le decimos a Asterisk que las conferencias pueden ; ser programadas (solamente en realtime). logmembercount=yes ; este parámetro sirve para actualizar el realtime cada vez que un usuario ; entra/sale de una conferencia. fuzzystart=300 ; Tenemos una conferencia programada a las 8 de la mañana. Este ; parámetro sirve para definir si un usuario puede o no entrar a la ; conferencia si esta no ha empezado. 300 es el numero de segundos. ; Ejemplo. Si el usuario entra a la 7:55 será aceptado porque puede entrar ; hasta 5 minutos (300 segundos) antes del comienzo de la conferencia. Si ; entra a las 7:50 será rechazado. earlyalert=3600 ; Este valor (siempre en segundos) define si al usuario que intenta entrar ; en una conferencia programada se le indicará o no si la conferencia aún ; no ha comenzado. Si entra cuando falta menos de una hora recibirá una ; aviso. Si entra más de una hora antes se le anunciará que la conferencia ; no existe. endalert=120 ; cuando faltarán 120 segundos para terminar la conferencia programada, ; se le anunciará a todos los participantes.
  • 24. 21 [rooms] ; desde esta linea empieza la configuración de las conferencias . conf => 111501 ; la sintaxis es conf => confno[,pin][,adminpin] y define un cuarto de ; conferencias cuya extensión es 111501 y a todos los usuarios es ; permitido entrar. conf => 111502,1234 ;Un cuarto de conferencias cuya extensión es la 111502 y para entrar los ; usuarios tendrán que marcar el PIN 1234. conf => 111503,1234,5678 ;En esta conferencia los usuarios tendrán que usar el PIN 1234 y los ;administradores el PIN 5678. Entonces quedaría el script meetme.conf: [general] audiobuffers=32 schedule=yes logmembercount=yes fuzzystart=300 earlyalert=3600 endalert=120 [rooms] conf => 111503,1234,5678 Seguimos con la configuración del plan de llamadas. Podemos definir un contexto dedicado a las conferencias y ahí configurar nuestras salas: /etc/asterisk/extensions.conf En este archi vamos a agregar las extensiones necesarias para logar habilitar la numeracion que utilizará la sala: exten => 111501,1,Meetme (111501,scM) exten => 111501,n,Hangup() Llamando la extensión 111501 entraremos en el cuarto de conferencia 111501 (como configurado en meetme.conf) y ademas usaremos las tres opciones: · s - Con esta opción activamos el menú del cuarto de conferencias para usuarios y administradores. Marcando la tecla asterisco escucharemos el menú. · c - Al entrar en un cuarto de conferencia se le anunciará al usuario el número de personas presentes. · M (default) - Cuando en el cuarto está solamente una persona, ésta escuchara la música en espera de la clase default” 22