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
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
Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Esquema General
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
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.
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…
Primer Foro Universitario de Software Libre
6, 7, 8 y 9 de Mayo de 2013
Arquitectura
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.
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.
…
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
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
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
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.
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
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
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.
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.

Experiencias con-asterisk-1.8-cert

  • 1.
    Primer Foro Universitariode 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 Universitariode 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
  • 3.
    Primer Foro Universitariode Software Libre 6, 7, 8 y 9 de Mayo de 2013 Esquema General
  • 4.
    Primer Foro Universitariode 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 Universitariode 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 Universitariode 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…
  • 7.
    Primer Foro Universitariode Software Libre 6, 7, 8 y 9 de Mayo de 2013 Arquitectura
  • 8.
    Primer Foro Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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 Universitariode 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

  • #8 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.
  • #14 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.