1. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Proyecto GNU
FreeBSD
Linux
Experiencias con Asterisk 1.8 Cert
Dr. Ismael Esquivel Gámez
iesquivel@uv.mx
Eliana O. G. López Collins
ecollins.t16@hotmail.com
Fac. de Administración
Veracruz
2. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Asterisk es un software open source con General
Public License (GPL). Trabaja en arquitecturas x86,
x86_64, ppc bajo BSD, MacOSX o GNU/Linux.
• Funciones principales:
o Asterisk puede trabajar con la mayoría de
estándares de la telefonía tradicional como son:
líneas analógicas o líneas digitales. Asterisk
puede traducir y conmutar distintos protocolos de
VoIP como: SIP, MGCP, IAX2 y H323.
Asterisk
4. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Historia
Asterisk, desarrollado por Mark
Spencer en 1999
Propietario de LSS para dar soporte
técnico requería de un PBX
Su precio era exorbitante y no había
muchas opciones
Decidió construir un PBX con un PC
bajo Linux, utilizando lenguaje C
Luego en 2001, LSS se convirtió en
Digium
5. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Productos
Principalmente hay 2 Productos:
La versión Open Source
1.8 Cert (Usada)
Asterisk Business Edition: edición comercial.
Se basa en la Open Source, pero se eliminan todos
aquellos elementos susceptibles de causar
problemas.
Fuertemente probada.
Al comprarla incluye soporte durante un año.
Licencias.
6. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Funcionalidades
•Llamadas en espera
•Grabación de llamadas
•Recuperación de llamadas
•Guía de llamadas (DID y ANI)
•Transferencia de llamadas
•Llamadas en espera
•Identificación de usuarios
•Video llamadas
•Salas de conferencia
•Follow-me
•Mensajes de Voz
•Correo de Voz
Receptor de alarma
Grabado de mensajes
Asistente automatizado
Autentificación
Listas negras
Transfer oculto
Grabado de llamadas detallado
Monitoreo de llamadas
Estacionamiento de llamadas
Y todas las que un PBX
tradicional tiene…
8. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Aspectos Generales
Asterisk es un demonio (¿daemon=demonio?) que se
ejecuta en segundo plano. Al igual que el resto de
servidores conocidos (apache, openssh, proftpd, ...).
Se distribuye como código fuente para ser compilado
e instalado.
Aunque existen versiones ‘empaquetadas' para las
distribuciones GNU/Linux más comunes
La configuración normalmente se almacena en varios
archivos de texto.
9. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Archivos de configuración
Cada uno para una determinada área
Los más importantes:
Configuración maestro: asterisk.conf
Configuración de módulos: modules.conf
Canales:
iax.conf: Canales/Cuentas Inter Asterisk eXchange
sip.conf: Canales/Cuentas SIP
dahdi_channels.conf: Telefonía analógica y digital
h323.conf: Canales H323
mgcp.conf: Canales MGCP
Plan de marcado
extensions.conf: El propio Dialplan.
features.conf: Métodos complementarios
Configuración de aplicaciones del Dialplan:
meetme.conf: Para salas de conferencias.
musiconhold.conf: Configuración de la música en espera.
queues.conf: Configuración de Colas de llamadas.
voicemail.conf: Configuración de los buzones de Voz.
…
10. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Ejemplo Configuración (sip.conf)
[409]
type=friend
qualify=yes
host=dynamic
username=pablo
secret=secret
callerid="Pablo Allietti" <409>
disallow=all
nat=yes
allow=ulaw
11. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Ejemplo Configuración
(extensions.conf)
[globals]
CONSOLE=Console/dsp ; Console interface for demo
TRUNK=Zap/g1
[local]
; ignorepat => 9
include => default
exten => _XXXXXXXX,1,Dial(${TRUNK}/${EXTEN})
exten => _XXXXXXXX,2,Voicemail(u${EXTEN})
exten => _XXXXXXXXX,1,Dial(${TRUNK}/${EXTEN})
exten => _XXXXXXXXX,2,Voicemail(u${EXTEN})
exten => _XXXXXXXXXX,1,Dial(${TRUNK}/${EXTEN})
exten => 450,1,Wait(1)
exten => 450,2,ResponseTimeout(15)
exten => 450,3,Read(Ramal,enter-ext-of-person,4)
exten => 450,4,GotoIf($["${Ramal:0:1}" = "0"]?6:5)
exten => 450,5,Dial(IAX2/lacnic:splacnic@200.160.1.21/${Ramal},30,r)
exten => 450,6,Hangup
12. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Conexión con la RTPC / RDSI
RTPC
*
X100P
(1FXO)
TDM400P
(4FXO)
TE110P
(30FXO)
BancodeCanales
(modoFXO)
TDM400P
(4FXS)
TE110P
(30FXS)
BancodeCanales
(modoFXS)
ASTERISK
RED RDSI
*RDSI-BRI
Modo TE
RDSI-PRI
Modo TE
ASTERISK
PBX con
extensiones RDSI
RDSI-BRI
Modo TE
PBX con líneas
RDSI primarias
RDSI-BRI
Modo NT
RDSI-BRI
Modo NT
RDSI-PRI
Modo NT
PBX con líneas
RDSI básicas
Terminales
RDSI
13. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Telefonía IP
Protocolo IAX
*
TerminalIAX
TerminalIAX
OperadorIP
PCconSoftPhone
XDSL
*
ASTERISK-2
Asterisk-1
ActuacomoServidorpara
elASTERISK-2así
comoparalosTerminales
ySoftPhone.
ActúacomoCliente
contraelOperadorIP.
ActúacomoClientecontrael
ASTERISK-1.
Protocolo SIP
*
Terminal SIP
Terminal SIP
Operador IP
PC con SoftPhone
XDSL
*
ASTERISK - 2
ASTERISK - 1
Actua como Servidor para
el ASTERISK - 2 así
como para los Terminales
y SoftPhone.
Actúa como Agente de
Usuario contra el
Operador IP.
Actúa como Agente de Usuario
contra el ASTERISK - 1.
14. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Casos de Uso
PBX Nuevo con conexiones y extensiones de varios tipos
*
Extensión IAX
Operador IP
PC con SoftPhone
Internet
ASTERISK
RTPC
Extensión SIP
Extensión
Analógica 1
Extensión
Analógica 2
15. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Casos de Uso
Gateway para dotar a un PBX
tradicional de servicios nuevos
Gateway para dotar a un PBX
tradicional de nuevas extensiones
*
Internet
ASTERISK
RTPC
Extensión
Analógica 1
Extensión
Analógica 2
Centralita Tradicional
Extensión
Analógica 1
Extensión
Analógica 2
Centralita Tradicional
Operador IP
P
B
X
P
B
X
Posibles servicios: Conexión con Operador IP,
Buzón de Voz a email, Sistema automático de
respuesta, etc.
*
Internet
ASTERISK
RTPC
Extensión
Analógica 1
Extensión
Analógica 2
Extensión
Analógica 1
Extensión
Analógica 2
Centralita Tradicional
Operador IP
Extensión IP
Extensión IP
101
102
201
202
203
204
Para poder hacer esto, el PBX tradicional debería
poder programarse para ello
16. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Casos de Uso
Varias Oficinas con un
Asterisk Centralizado
Varias Oficinas con IPBXs
interconectados
*
ASTERISK
Extensión101 Extensión102
RTCP Internet
xDSLRouter
Extensión201 Extensión202
xDSLRouter
Extensión301 Extensión302
xDSLRouter
Extensión401 Extensión402
xDSLRouter
Oficina1
Oficina2
Oficina3
Oficina4
*
ASTERISK
Extensión 101 Extensión 102
RTCP
Internet
xDSL Router
Oficina 1
*
ASTERISK
Extensión 101 Extensión 102
xDSL Router
Oficina 2
*
ASTERISK
Extensión 101 Extensión 102
xDSL Router
Oficina 3
Provincia A
Provincia B
Provincia C
Ciudad
A
Ciudad
B
Ciudad
C
Todos los Asterisk Pueden utilizar los otros Asterisk para hablar
con números de las ciudades donde se encuentran. Entre ellos se
pueden conectar mediante IAX o SIP, e incluso se puede montar
un plan de numeración único entre todos.
17. Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Experiencias vividas
• Por el área de estudios, se tenían falta de conocimientos eléctricos
• Cuando se hacia una llamada se podía ver en la consola de Asterisk cada
movimiento.
• Si se tenia un error se podría ver en que parte del código se encontraba.
• Se puede utilizar un softphone para poder comunicarse mediante
Asterisk.
• El error mas común era escribir mal los comandos.
• Otro error, se definían las extensiones en contextos incorrectos.
• La conexión con la RTB siento que fue un poco mas complicado, ya que
era mas fácil configurar un softphone o un IPhone.
Notas del editor
Aunque a primera vista pueda resultar un poco complicada la arquitectura de Asterisk, una vez que se mira en profundidad, nos damos cuenta la versatilidad del sistema para desarrollar cualquier nuevo canal de comunicaciones, codificadores de audio, formato de ficheros que puede controlar asterisk, así como cualquier aplicativo para realizar tareas que actualmente no se pueden realizar con Asterisk. Además la comunidad de Asterisk es tan amplia que muchas aplicaciones que ya pensemos, están desarrolladas.
Basado en el núcleo de Asterisk, se van asociando módulos para ir dando versatilidad y potencia al sistema Global.
El protocolo SIP se puede decir que nació en el año 1996 con el protocolo de Invitación de Conferencia Simple y ha ido evolucionando hasta el RFC 3261 en el año 1999 que fue realmente el protocolo SIP con modificaciones posteriores.
Asterisk dentro del mundo del protocolo SIP, hablando de una forma coloquial, puede actuar tanto de Servidor como de cliente.
Como servidor puede recibir conexiones de clientes SIP que pueden ser terminales físicos, softphone u otros Asterisk. Estos clientes se pueden encontrar dentro de la misma red, o en otras localizaciones y conectarse con Asterisk de varias formas(Mediante VPN, redireccionando puertos en el firewall para los puertos de señalización y de voz)….
Y como cliente puede conectarse con otros Asterisk o por ejemplo con Operadores IP que soporten este protocolo.
Como puede actuar a la misma vez tanto como cliente como servidor, una de las formas de trabajar con Asterisk es sólo con Voz IP mediante terminales SIP y mediante la conexión con un operador IP.