SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
http://www.irontec.com
Introducción a la VoIP y Asterisk
http://www.irontec.com
Parte IV
Conceptos avanzados
Curso: Introducción a la VoIP y Asterisk
3
Introducción
● Ya somos hackers del Dialplan de Asterisk :)
● Pero Asterisk ofrece muchas más funcionalidades!!
● En este apartado veremos algunas de ellas.
● En función del tiempo disponible, pondremos en
práctica estos conceptos avanzados con ejercicios
simples.
Sistema de colas y agentes
Curso: Introducción a la VoIP y Asterisk
5
Colas
● Las colas nos permiten manejar de una manera cómoda
y eficiente las llamadas entrantes.
● Las llamadas se distribuyen entre los agentes
disponibles (que hayan iniciado sesión)
● Consisten básicamente en miembros que contestan las
llamadas.
Curso: Introducción a la VoIP y Asterisk
6
Configuración de colas
[general]
persistentmembers = yes //si reiniciamos...
autofill = yes //varias conexiones a
la vez
shared_lastcall=yes
[plantilla](!)
musiconclass = default
strategy = ringall ; ringall, roundrobin, leastrecent,
fewestcalls, random, rrmemory
timeout = 15 ; tiempo de ringing a agente
retry = 5 ; tiempo hasta llamada al siguiente agente
wrapuptime = 0 ; tiempo entre llamadas
maxlen = 0 ; número máximo de llamadas en cola
periodic-announce = queue-periodic-announce
periodic-announce-frequency=20
ringinuse=no ; callcounters=yes en sip.conf [general]
joinempty=no
[ventas](plantilla)
[soporte](plantilla)
queues.conf
Curso: Introducción a la VoIP y Asterisk
7
Aplicación Queue
● Muy similar a la aplicación Dial.
● Toma parámetros parecidos, pero en lugar del
dispositivo se especifica el nombre de la cola.
● Ejemplo:
exten => 7001,n,Queue(ventas)
exten => 7002,n,Queue(soporte)
Curso: Introducción a la VoIP y Asterisk
8
Agentes
● Los agentes son “extensiones virtuales”.
● En realidad son extensiones normales que
automáticamente o tras un proceso de autenticación se
convierten en agentes y pasan a atender las llamadas de
una o varias colas.
Curso: Introducción a la VoIP y Asterisk
9
Login de Agentes
● Cualquier extensión puede ser agente.
● Basta con que inicie sesión con un número de agente y
contraseña válidos y automáticamente comenzará a
recibir llamadas.
● En lugar de utilizarse agentes, utilizaremos “miembros
dinámicos”.
● Ejemplo:
exten => *70,1,AddQueueMember(ventas)
exten => *70*,1,RemoveQueueMember(ventas)
exten => *71,1,PauseQueueMember(ventas,SIP/foo)
exten => *71*,1,UnpauseQueueMember(ventas,SIP/foo)
● Variables AQMSTATUS, RQMSTATUS, PQMSTATUS,
UPQMSTATUS.
Curso: Introducción a la VoIP y Asterisk
10
Login de Agentes (2)
● Estas mismas acciones se pueden hacer desde el CLI:
*CLI> queue add member SIP/foo to ventas
*CLI> queue remove member SIP/foo from ventas
*CLI> queue pause member SIP/foo queue ventas
*CLI> queue unpause member SIP/foo queue ventas
● Para ver el estado de una cola:
*CLI> queue show
*CLI> queue show ventas
Informes de llamadas: CDRs
Curso: Introducción a la VoIP y Asterisk
12
CDRs
● En centralitas, proveedores de servicios, etc. es importante tener
un control de las llamadas.
● Asterisk puede generar CDRs (Call Detail Record) en distintos formatos
– CSV
– MySQL
– SQLite
– ...
● Nos dan todos los detalles de las llamadas.
– Billing.
● Para utilizar el CDR en MySQL es necesario recompilar (instalar paquete
libmysqlclient15-dev)
Curso: Introducción a la VoIP y Asterisk
13
CDRs (2)
● Por defecto el CDR se genera en CSV en /var/log/asterisk/
● Posibilidad para desarrollar aplicaciones de estadística para CallCenters,
…
● Adaptative CDR: Permite crear campos custom en ast_cdr
● Aplicaciones clave:
– Set(CDR(hangupcause)=RECHAZADA_FESTIVO)
– ResetCDR
– NoCDR
AGI
Curso: Introducción a la VoIP y Asterisk
15
AGI
● AGI (Asterisk Gateway Interface) nos permite ejecutar en Asterisk
software de terceros escrito en casi cualquier lenguaje
● Permite extender al infinito las posibilidades de Asterisk, juntando su
potencia, con las posibilidades que ofrece un lenguaje de
programación.
● Muchos lenguajes soportados: Python, PHP, Perl, Bash, Java, ...
● Conviene utilizar un lenguaje que no resulte demasiado lento, para no
demorar demasiado la ejecución.
● Opinión personal:
– PHP es un buen lenguaje para AGI.
– Se ejecuta rápido.
– No es difícil programar en PHP.
– La librería phpagi nos hace la vida más fácil.
http://phpagi.sourceforge.net/
Curso: Introducción a la VoIP y Asterisk
16
AGI (2)
● Ejemplo de AGI con phpagi:
#!/usr/bin/php
<?php
require_once(“phpagi.php”);
$myagi = new AGI();
$myagi­>set_variable(“VAR”,”hooola”);
$myagi ­>exec_dial(“SIP”,”saghul”,45);
?>
● En el dialplan pondríamos:
exten => 1234,1,AGI(prueba.php)
exten => 1234,n,Noop(${VAR}) //nos saldría hooola
AMI
Curso: Introducción a la VoIP y Asterisk
18
AMI
● ¿Qué es Asterisk AMI?
Asterisk AMI permite que programas cliente se conecten a Asterisk mediante
TCP/IP y sean capaces de ejecutar comandos y leer eventos. Por cada cosa que
Asterisk realiza se generan eventos que pueden ser leídos mediante una sesión de
manager, y el usuario puede tratarlos a su gusto. Además, AMI permite la
ejecución de comandos, lo que proporciona la posibilidad de alterar el
comportamiento de Asterisk desde un programa hecho a medida.
● Funcionamiento:
Para trabajar con AMI es necesario tener un usuario definido en el fichero
manager.conf. A partir de aquí hay que establecer una comunicación TCP/IP con
el servidor de Asterisk en el puerto 5038, y una vez conectado y autentificado, se
puede comenzar a leer los eventos o ejecutar comandos.
Curso: Introducción a la VoIP y Asterisk
19
AMI (2)
● ¿AJAM?
De la mano de Asterisk 1.4 viene AJAM (Asyncronous Javascript Asterisk Manager),
un nuevo manager, que permite conectar con Asterisk por medio de HTTP. Para
poder trabajar con AJAM es necesario configurar los ficheros manager.conf y
httpd.conf. Adivina como funciona el nuevo GUI de Asterisk…….. premio!
● Ejemplos de funcionamiento:
http://IP_de_Asterisk:8088/asterisk/manager?
action=login&username=nombre_de_usuario&secret=contraseña
Esto abrirá una sesión de Asterisk Manager. Si ahora ejecutas:
http://IP_de_Asterisk:8088/asterisk/rawman?action=status
Verás la salida del comando.
Curso: Introducción a la VoIP y Asterisk
20
AMI (3)
● Más información:
http://www.voip-info.org/wiki-Asterisk+manager+API
http://www.voip-info.org/wiki/view/Aynchronous+Javascript+Asterisk+Manager+%28AJAM%29
Asterisk Realtime
Curso: Introducción a la VoIP y Asterisk
22
ARA
● Asterisk permite ser configurado (algunos ficheros) en una Base de
Datos, mediante Asterisk Realtime Architecture.
● Soporta MySQL, y es posible migrar a Base de Datos lo siguiente:
– Configuración de dispositivos SIP e IAX.
– Configuración de buzones de voz.
– Configuración de colas.
● Las estructuras de la bases de datos están en http://www.voip.info.org
● El fichero a configurar es extconfig.conf
● El fichero res_mysql.conf contiene la configuración de la base de
datos.
Curso: Introducción a la VoIP y Asterisk
23
ARA (2)
● ARA dispone de 2 tipos de Realtime: estático y dinámico:
– Estático: La configuración esta almacenada en la BD, pero Asterisk
la carga al arrancar como si fuera un fichero. Si se realiza algún
cambio, es necesario hacer un reload.
– Dinámico: La configuración esta almacenada en la BD y Asterisk
realiza una consulta a esa BD cada vez que necesita un dato. No
es necesario hacer reload si se han realizado cambios. Mucha
carga para el servidor...
● Todos los ficheros no soportan Realtime Dinámico.
– SIP, IAX y los buzones de voz en Realtime Dinámico.
– Colas en Realtime Dinámico.
– MeetMe en Realtime Dinámico.
Curso: Introducción a la VoIP y Asterisk
24
ARA (3)
● Ejemplo de configuración (extconfig.conf):
[settings]
;;RealTime Dynamic
;sipusers => mysql,asterisk,dispositivos_sip
;sippeers => mysql,asterisk,dispositivos_sip
;iaxusers => mysql,asterisk,dispositivos_iax
;iaxpeers => mysql,asterisk,dispositivos_iax
;voicemail => mysql,asterisk,buzones
;;RealTime Static
;sip.conf => mysql,asterisk,sip_conf
;extensions.conf => mysql,asterisk,extensions_conf
;iax.conf => mysql,asterisk,iax_conf
;queues.conf => mysql,asterisk,queues_conf
;voicemail.conf => mysql,asterisk,voicemail_conf
DAHDI
Curso: Introducción a la VoIP y Asterisk
26
Asterisk PBX: Telefonía Tradicional
Asterisk y la Telefonía Tradicional
● Para poder interoperar con la telefonía tradicional,
Asterisk necesita hardware específico.
● El principal sponsor y desarrollador de Asterisk:
Digium es el principal fabricante de hardware.
Curso: Introducción a la VoIP y Asterisk
27
Asterisk PBX: Telefonía Tradicional
Asterisk y la Telefonía Tradicional
● Para operar con lineas analógicas, se necesitan
tarjetas con interfaces FXO
– Ejemplo: Digium TDM01B
● Para operar con teléfonos analógicos o centralitas
clásicas, se requieren interfaces FXS
– Ejemplo: Digium TDM10B
● En ambos casos, el driver a utilizar es DAHDI, la
configuración se almacena en /etc/dahdi/
Curso: Introducción a la VoIP y Asterisk
28
Asterisk PBX: Telefonía Tradicional
Asterisk y la Telefonía Tradicional (II)
● En lineas digitales (RDSI), en Europa existen dos
tipos:
– BRI : Acceso básico, proporciona 2 canales de voz.
– PRI: Acceso primario, proporciona 30 canales de Voz (E1).
● Asterisk soporta perfectamente ambos tipos de lineas
digitales, con hardware específico:
– Para primarios, Digium proporciona tarjetas de hasta 4
puertos.
– Para básicos, Digium proporciona tarjetas de hasta 4 puertos.
Curso: Introducción a la VoIP y Asterisk
29
Asterisk PBX: Telefonía Tradicional
Lineas analógicas
● Para operar con las tarjetas con interfaces FXS / FXO, Asterisk
utiliza el subsistema DAHDI, antes conocido como Zaptel.
● Es necesario tener compilado DAHDI, así como Asterisk con su
suporte habilitado
● Seleccionar los módulos acordes a nuestro hardware en
/etc/dahdi/modules
● Una vez instalado el sistema DAHDI, es necesario configurarlo
en /etc/dahdi/system.conf
– Definir zonas (para frecuencias de tonos)
– Definir interfaces en los canales: FXS / FXO
● Se puede verificar la configuración correcta con el comando
instalado: dahdi_cfg -v
Curso: Introducción a la VoIP y Asterisk
30
Asterisk PBX: Telefonía Tradicional
Lineas analógicas II
● Asterisk utiliza los módulos provistos por DAHDI para acceder al
hardware.
● Este enlace se configura en: /etc/asterisk/chan_dahdi.conf
● Aspectos importantes a configurar:
– context: contexto donde irán las llamadas generadas por cada
canal.
– echocancel: cancelación de echo (problema importante en
telefonía).
– Para utilizar correctamente las lineas españolas son necesarios
los siguientes parámetros:
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
Curso: Introducción a la VoIP y Asterisk
31
Tarjetas Analógicas
TDM11B
Curso: Introducción a la VoIP y Asterisk
32
Configuración TDM
/etc/dahdi/system.conf
loadzone=es
defaultzone=es
fxoks=1
fxsks=2
echocanceller=mg2,1-2
/etc/asterisk/chan_dahdi.conf
[trunkgroups]
[channels]
language=es
hidecallerid=no
callwaiting=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
transfer=yes
usecallerid=yes
callerid=asreceived
rxgain=0.0
txgain=0.0
busydetect=no
busycount=5
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
immediate=no
signalling=fxs_ks
context=entrada-pstn
group=1
channel=2
group=2
signalling=fxo_ks
context=desde-usuarios
channel=1
Curso: Introducción a la VoIP y Asterisk
33
Líneas Digitales
Saúl Ibarra Corretgé - http://www.saghul.net e-Verano 2007
● También utilizan el subsistema DAHDI
– Las tarjetas de BRI != b410p utilizan mISDN (de momento)
● Los ficheros a configurar son los mismos.
● Las BRI utilizan mISDN en lugar de DAHDI (Junghans no -
BriStuff)
Curso: Introducción a la VoIP y Asterisk
34
Tarjetas PRI
TE120P
Curso: Introducción a la VoIP y Asterisk
35
Configuración PRI
/etc/dahdi/system.conf
loadzone=es
defaultzone=es
span=1,1,0,ccs,hdb3,crc4
bchan=1-15
dchan=16
bchan=17-31
echocanceller=mg2,1-15,17-31
/etc/asterisk/chan_dahdi.conf
[trunkgroups]
[channels]
callwaiting=yes
transfer=yes
echocancel=yes
echocancelwhenbridged=no
language=es
switchtype=euroisdn
signalling=pri_cpe
usercallerid=yes
callerid=asreceived
rxgain=0.0
txgain=0.0
group=1
context=pri-in
channel=1-15,17-31
Curso: Introducción a la VoIP y Asterisk
36
Tarjetas BRI
B410P
Curso: Introducción a la VoIP y Asterisk
37
Configuración PRI
/etc/dahdi/system.conf
loadzone=es
defaultzone=es
span=1,1,0,ccs,ami,crc4
bchan=1-2
hardhdlc=3
encocanceller=mg2,1-2
/etc/asterisk/chan_dahdi.conf
[trunkgroups]
[channels]
callwaiting=yes
transfer=yes
echocancel=yes
echocancelwhenbridged=no
language=es
switchtype=euroisdn
signalling=bri_cpe_ptmp
usercallerid=yes
callerid=asreceived
rxgain=0.0
txgain=0.0
group=1
context=bri-in
channel=1-2
VARIOS
Curso: Introducción a la VoIP y Asterisk
39
BLF
● Algunos terminales IP nos ofrecen la posibilidad de
monitorizar el estado de otras extensiones mediante teclas
con LEDs: funcionalidad BLF.
● Para configurar Asterisk y que el BLF funcione
correctamente es necesario hacer lo siguiente:
– Configurar el fichero sip.conf
– Añadir 'hints' al dialplan (extensions.conf)
Curso: Introducción a la VoIP y Asterisk
40
BLF (2)
● sip.conf
allowsubscribe=yes
subscribecontext = hints
notifyringing = yes
notifyhold = yes
limitonpeers = yes
notifymimetype=application/simple
-message-summary
call-limit=2
● extensions.conf
[hints]
exten => 2000,hint,SIP/saghul
exten => 2000,1,Dial(SIP/saghul)
● Verificamos que los hints funcionan correctamente:
– *CLI> core show hints
● Verificamos las subscripciones:
– *CLI> sip show subscriptions
Curso: Introducción a la VoIP y Asterisk
41
Funciones de grupo
● Asterisk dispone de funciones para contar o agrupar
canales
– Útiles cuando queremos controlar cuantas llamadas salen
por un proveedor
– Cuantas llamadas pueden enviarse a un terminal
exten => s,1,Set(GROUP()=supergrupo)
exten => s,2,GotoIf($[{GROUP_COUNT(supergrupo)} > 5 ]?error)
Curso: Introducción a la VoIP y Asterisk
42
Asterisk: Auto-dial out
Auto-dial out
● Permite iniciar llamadas desde aplicaciones externas.
● Se copia un fichero tipo call(callfiles) en:
/var/spool/asterisk/outgoing/
– Asterisk inmediatamente llamará al canal especificado en
Channel y lo conectará con el contexto dado (también es
posible especificar una aplicación).
● Ejemplo:
Channel: SIP/bt100
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: outgoing
Extension: 944048182
Priority: 1
http://www.irontec.com
¡¡GRACIAS!!
Curso: Introducción a la VoIP y Asterisk
44
License
http://creativecommons.org/licenses/by-sa/3.0/

Weitere ähnliche Inhalte

Was ist angesagt?

Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012
Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012
Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012
Rommel León
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
Diego Llanes
 
Curso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sipCurso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sip
edgarjgonzalezg
 
Simo Presentacion
Simo PresentacionSimo Presentacion
Simo Presentacion
Elio Rojano
 

Was ist angesagt? (20)

Presentacion Hacking Asterisk
Presentacion Hacking AsteriskPresentacion Hacking Asterisk
Presentacion Hacking Asterisk
 
Voice OVER IP
Voice OVER IPVoice OVER IP
Voice OVER IP
 
Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012
Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012
Charla sobre Desarrollo de Aplicaciones en Asterisk con AGI para el ENLI 2012
 
Asterix: simplemente...
Asterix: simplemente...Asterix: simplemente...
Asterix: simplemente...
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
 
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
 
Curso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sipCurso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sip
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIP
 
Elastix, TLS, SRTP y OpenVPN
Elastix, TLS, SRTP y OpenVPNElastix, TLS, SRTP y OpenVPN
Elastix, TLS, SRTP y OpenVPN
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
 
Simo Presentacion
Simo PresentacionSimo Presentacion
Simo Presentacion
 
La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...
La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...
La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...
 
SIP más allá de la VoIP
SIP más allá de la VoIPSIP más allá de la VoIP
SIP más allá de la VoIP
 
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
 
Cómo instalar un servidor VPN de emergencia para una PYME en 5 minutos
Cómo instalar un servidor VPN de emergencia para una PYME en 5 minutosCómo instalar un servidor VPN de emergencia para una PYME en 5 minutos
Cómo instalar un servidor VPN de emergencia para una PYME en 5 minutos
 
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)
 
Laboratorio comunicaciones de voz sobre ip con elastix
Laboratorio comunicaciones de voz sobre ip con elastixLaboratorio comunicaciones de voz sobre ip con elastix
Laboratorio comunicaciones de voz sobre ip con elastix
 
El proyecto Elastix
El proyecto ElastixEl proyecto Elastix
El proyecto Elastix
 
La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...
La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...
La estructura es fundamental: PBX IP, tarjetas de telefonía y herramientas pa...
 
Sip
SipSip
Sip
 

Andere mochten auch

Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con Asterisk
Nicolás Gudiño
 
Soluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPSSoluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPS
Alejandro Rios Peña
 
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo  voipnovatos- voip2day2011Alberto Sagredo  voipnovatos- voip2day2011
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo Castro
 

Andere mochten auch (20)

Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPPresentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con Asterisk
 
Curso avanzado SVN
Curso avanzado SVNCurso avanzado SVN
Curso avanzado SVN
 
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
 
Soluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPSSoluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPS
 
Comunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software LibreComunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software Libre
 
SIP: más que una moda en el Contact Center de última generación
SIP: más que una moda en el Contact Center de última generaciónSIP: más que una moda en el Contact Center de última generación
SIP: más que una moda en el Contact Center de última generación
 
Asterisk Rest Interface - ARI
Asterisk Rest Interface - ARIAsterisk Rest Interface - ARI
Asterisk Rest Interface - ARI
 
Llamada Sip (2)
Llamada Sip (2)Llamada Sip (2)
Llamada Sip (2)
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con Esteroides
 
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo  voipnovatos- voip2day2011Alberto Sagredo  voipnovatos- voip2day2011
Alberto Sagredo voipnovatos- voip2day2011
 
Profundizando manager
Profundizando managerProfundizando manager
Profundizando manager
 
Introducción a SIP y OpenSER
Introducción a SIP y OpenSERIntroducción a SIP y OpenSER
Introducción a SIP y OpenSER
 
Negociacion de codecs en asterisk
Negociacion de codecs en asteriskNegociacion de codecs en asterisk
Negociacion de codecs en asterisk
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAXJavascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
 
Vtiger CRM and asterisk
Vtiger CRM and asteriskVtiger CRM and asterisk
Vtiger CRM and asterisk
 
Introducción a Asterisk
Introducción a AsteriskIntroducción a Asterisk
Introducción a Asterisk
 

Ähnlich wie Curso de VoIP / Parte 04: Conceptos avanzados

V2 d2013 jose l verdeguer - freepbx fun and profit
V2 d2013   jose l verdeguer - freepbx fun and profitV2 d2013   jose l verdeguer - freepbx fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profit
VOIP2DAY
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
wcuestas
 

Ähnlich wie Curso de VoIP / Parte 04: Conceptos avanzados (20)

Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCI
 
Asterisk seminario web
Asterisk seminario webAsterisk seminario web
Asterisk seminario web
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
 
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
 
Extendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con SnortExtendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con Snort
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010
 
Extendiendo la seguridad en Elastix con Snort IDS/IPS
Extendiendo la seguridad en Elastix con Snort IDS/IPSExtendiendo la seguridad en Elastix con Snort IDS/IPS
Extendiendo la seguridad en Elastix con Snort IDS/IPS
 
Práctica VOIP
Práctica VOIPPráctica VOIP
Práctica VOIP
 
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
 
Elastixusermanualspanish0 9-alpha-120917223851-phpapp02-141002081528-phpapp01
Elastixusermanualspanish0 9-alpha-120917223851-phpapp02-141002081528-phpapp01Elastixusermanualspanish0 9-alpha-120917223851-phpapp02-141002081528-phpapp01
Elastixusermanualspanish0 9-alpha-120917223851-phpapp02-141002081528-phpapp01
 
2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit
 
Implementado Sistemas de VoIP con FOSS
Implementado Sistemas de VoIP con FOSSImplementado Sistemas de VoIP con FOSS
Implementado Sistemas de VoIP con FOSS
 
Elastix Manual Español
Elastix Manual EspañolElastix Manual Español
Elastix Manual Español
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
V2 d2013 jose l verdeguer - freepbx fun and profit
V2 d2013   jose l verdeguer - freepbx fun and profitV2 d2013   jose l verdeguer - freepbx fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profit
 
Los mejores trucos de Asterisk
Los mejores trucos de AsteriskLos mejores trucos de Asterisk
Los mejores trucos de Asterisk
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
Mensajes de control y Error del conjunto TCP/IP - ICMP
Mensajes de control y Error del conjunto TCP/IP - ICMPMensajes de control y Error del conjunto TCP/IP - ICMP
Mensajes de control y Error del conjunto TCP/IP - ICMP
 

Mehr von Irontec

PHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidPHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en Android
Irontec
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
Irontec
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de Wordpress
Irontec
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
Irontec
 

Mehr von Irontec (19)

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajo
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIP
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ Provider
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Caso de éxito: Irontec por nuestro proveedor Hostalia
Caso de éxito: Irontec por nuestro proveedor HostaliaCaso de éxito: Irontec por nuestro proveedor Hostalia
Caso de éxito: Irontec por nuestro proveedor Hostalia
 
PHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidPHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en Android
 
Curso completo de CRM + SugarCRM
Curso completo de CRM + SugarCRMCurso completo de CRM + SugarCRM
Curso completo de CRM + SugarCRM
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 
Mysq Replication
Mysq ReplicationMysq Replication
Mysq Replication
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de Wordpress
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
 
Certificación y firma electrónica
Certificación y firma electrónicaCertificación y firma electrónica
Certificación y firma electrónica
 

Curso de VoIP / Parte 04: Conceptos avanzados

  • 3. Curso: Introducción a la VoIP y Asterisk 3 Introducción ● Ya somos hackers del Dialplan de Asterisk :) ● Pero Asterisk ofrece muchas más funcionalidades!! ● En este apartado veremos algunas de ellas. ● En función del tiempo disponible, pondremos en práctica estos conceptos avanzados con ejercicios simples.
  • 4. Sistema de colas y agentes
  • 5. Curso: Introducción a la VoIP y Asterisk 5 Colas ● Las colas nos permiten manejar de una manera cómoda y eficiente las llamadas entrantes. ● Las llamadas se distribuyen entre los agentes disponibles (que hayan iniciado sesión) ● Consisten básicamente en miembros que contestan las llamadas.
  • 6. Curso: Introducción a la VoIP y Asterisk 6 Configuración de colas [general] persistentmembers = yes //si reiniciamos... autofill = yes //varias conexiones a la vez shared_lastcall=yes [plantilla](!) musiconclass = default strategy = ringall ; ringall, roundrobin, leastrecent, fewestcalls, random, rrmemory timeout = 15 ; tiempo de ringing a agente retry = 5 ; tiempo hasta llamada al siguiente agente wrapuptime = 0 ; tiempo entre llamadas maxlen = 0 ; número máximo de llamadas en cola periodic-announce = queue-periodic-announce periodic-announce-frequency=20 ringinuse=no ; callcounters=yes en sip.conf [general] joinempty=no [ventas](plantilla) [soporte](plantilla) queues.conf
  • 7. Curso: Introducción a la VoIP y Asterisk 7 Aplicación Queue ● Muy similar a la aplicación Dial. ● Toma parámetros parecidos, pero en lugar del dispositivo se especifica el nombre de la cola. ● Ejemplo: exten => 7001,n,Queue(ventas) exten => 7002,n,Queue(soporte)
  • 8. Curso: Introducción a la VoIP y Asterisk 8 Agentes ● Los agentes son “extensiones virtuales”. ● En realidad son extensiones normales que automáticamente o tras un proceso de autenticación se convierten en agentes y pasan a atender las llamadas de una o varias colas.
  • 9. Curso: Introducción a la VoIP y Asterisk 9 Login de Agentes ● Cualquier extensión puede ser agente. ● Basta con que inicie sesión con un número de agente y contraseña válidos y automáticamente comenzará a recibir llamadas. ● En lugar de utilizarse agentes, utilizaremos “miembros dinámicos”. ● Ejemplo: exten => *70,1,AddQueueMember(ventas) exten => *70*,1,RemoveQueueMember(ventas) exten => *71,1,PauseQueueMember(ventas,SIP/foo) exten => *71*,1,UnpauseQueueMember(ventas,SIP/foo) ● Variables AQMSTATUS, RQMSTATUS, PQMSTATUS, UPQMSTATUS.
  • 10. Curso: Introducción a la VoIP y Asterisk 10 Login de Agentes (2) ● Estas mismas acciones se pueden hacer desde el CLI: *CLI> queue add member SIP/foo to ventas *CLI> queue remove member SIP/foo from ventas *CLI> queue pause member SIP/foo queue ventas *CLI> queue unpause member SIP/foo queue ventas ● Para ver el estado de una cola: *CLI> queue show *CLI> queue show ventas
  • 12. Curso: Introducción a la VoIP y Asterisk 12 CDRs ● En centralitas, proveedores de servicios, etc. es importante tener un control de las llamadas. ● Asterisk puede generar CDRs (Call Detail Record) en distintos formatos – CSV – MySQL – SQLite – ... ● Nos dan todos los detalles de las llamadas. – Billing. ● Para utilizar el CDR en MySQL es necesario recompilar (instalar paquete libmysqlclient15-dev)
  • 13. Curso: Introducción a la VoIP y Asterisk 13 CDRs (2) ● Por defecto el CDR se genera en CSV en /var/log/asterisk/ ● Posibilidad para desarrollar aplicaciones de estadística para CallCenters, … ● Adaptative CDR: Permite crear campos custom en ast_cdr ● Aplicaciones clave: – Set(CDR(hangupcause)=RECHAZADA_FESTIVO) – ResetCDR – NoCDR
  • 14. AGI
  • 15. Curso: Introducción a la VoIP y Asterisk 15 AGI ● AGI (Asterisk Gateway Interface) nos permite ejecutar en Asterisk software de terceros escrito en casi cualquier lenguaje ● Permite extender al infinito las posibilidades de Asterisk, juntando su potencia, con las posibilidades que ofrece un lenguaje de programación. ● Muchos lenguajes soportados: Python, PHP, Perl, Bash, Java, ... ● Conviene utilizar un lenguaje que no resulte demasiado lento, para no demorar demasiado la ejecución. ● Opinión personal: – PHP es un buen lenguaje para AGI. – Se ejecuta rápido. – No es difícil programar en PHP. – La librería phpagi nos hace la vida más fácil. http://phpagi.sourceforge.net/
  • 16. Curso: Introducción a la VoIP y Asterisk 16 AGI (2) ● Ejemplo de AGI con phpagi: #!/usr/bin/php <?php require_once(“phpagi.php”); $myagi = new AGI(); $myagi­>set_variable(“VAR”,”hooola”); $myagi ­>exec_dial(“SIP”,”saghul”,45); ?> ● En el dialplan pondríamos: exten => 1234,1,AGI(prueba.php) exten => 1234,n,Noop(${VAR}) //nos saldría hooola
  • 17. AMI
  • 18. Curso: Introducción a la VoIP y Asterisk 18 AMI ● ¿Qué es Asterisk AMI? Asterisk AMI permite que programas cliente se conecten a Asterisk mediante TCP/IP y sean capaces de ejecutar comandos y leer eventos. Por cada cosa que Asterisk realiza se generan eventos que pueden ser leídos mediante una sesión de manager, y el usuario puede tratarlos a su gusto. Además, AMI permite la ejecución de comandos, lo que proporciona la posibilidad de alterar el comportamiento de Asterisk desde un programa hecho a medida. ● Funcionamiento: Para trabajar con AMI es necesario tener un usuario definido en el fichero manager.conf. A partir de aquí hay que establecer una comunicación TCP/IP con el servidor de Asterisk en el puerto 5038, y una vez conectado y autentificado, se puede comenzar a leer los eventos o ejecutar comandos.
  • 19. Curso: Introducción a la VoIP y Asterisk 19 AMI (2) ● ¿AJAM? De la mano de Asterisk 1.4 viene AJAM (Asyncronous Javascript Asterisk Manager), un nuevo manager, que permite conectar con Asterisk por medio de HTTP. Para poder trabajar con AJAM es necesario configurar los ficheros manager.conf y httpd.conf. Adivina como funciona el nuevo GUI de Asterisk…….. premio! ● Ejemplos de funcionamiento: http://IP_de_Asterisk:8088/asterisk/manager? action=login&username=nombre_de_usuario&secret=contraseña Esto abrirá una sesión de Asterisk Manager. Si ahora ejecutas: http://IP_de_Asterisk:8088/asterisk/rawman?action=status Verás la salida del comando.
  • 20. Curso: Introducción a la VoIP y Asterisk 20 AMI (3) ● Más información: http://www.voip-info.org/wiki-Asterisk+manager+API http://www.voip-info.org/wiki/view/Aynchronous+Javascript+Asterisk+Manager+%28AJAM%29
  • 22. Curso: Introducción a la VoIP y Asterisk 22 ARA ● Asterisk permite ser configurado (algunos ficheros) en una Base de Datos, mediante Asterisk Realtime Architecture. ● Soporta MySQL, y es posible migrar a Base de Datos lo siguiente: – Configuración de dispositivos SIP e IAX. – Configuración de buzones de voz. – Configuración de colas. ● Las estructuras de la bases de datos están en http://www.voip.info.org ● El fichero a configurar es extconfig.conf ● El fichero res_mysql.conf contiene la configuración de la base de datos.
  • 23. Curso: Introducción a la VoIP y Asterisk 23 ARA (2) ● ARA dispone de 2 tipos de Realtime: estático y dinámico: – Estático: La configuración esta almacenada en la BD, pero Asterisk la carga al arrancar como si fuera un fichero. Si se realiza algún cambio, es necesario hacer un reload. – Dinámico: La configuración esta almacenada en la BD y Asterisk realiza una consulta a esa BD cada vez que necesita un dato. No es necesario hacer reload si se han realizado cambios. Mucha carga para el servidor... ● Todos los ficheros no soportan Realtime Dinámico. – SIP, IAX y los buzones de voz en Realtime Dinámico. – Colas en Realtime Dinámico. – MeetMe en Realtime Dinámico.
  • 24. Curso: Introducción a la VoIP y Asterisk 24 ARA (3) ● Ejemplo de configuración (extconfig.conf): [settings] ;;RealTime Dynamic ;sipusers => mysql,asterisk,dispositivos_sip ;sippeers => mysql,asterisk,dispositivos_sip ;iaxusers => mysql,asterisk,dispositivos_iax ;iaxpeers => mysql,asterisk,dispositivos_iax ;voicemail => mysql,asterisk,buzones ;;RealTime Static ;sip.conf => mysql,asterisk,sip_conf ;extensions.conf => mysql,asterisk,extensions_conf ;iax.conf => mysql,asterisk,iax_conf ;queues.conf => mysql,asterisk,queues_conf ;voicemail.conf => mysql,asterisk,voicemail_conf
  • 25. DAHDI
  • 26. Curso: Introducción a la VoIP y Asterisk 26 Asterisk PBX: Telefonía Tradicional Asterisk y la Telefonía Tradicional ● Para poder interoperar con la telefonía tradicional, Asterisk necesita hardware específico. ● El principal sponsor y desarrollador de Asterisk: Digium es el principal fabricante de hardware.
  • 27. Curso: Introducción a la VoIP y Asterisk 27 Asterisk PBX: Telefonía Tradicional Asterisk y la Telefonía Tradicional ● Para operar con lineas analógicas, se necesitan tarjetas con interfaces FXO – Ejemplo: Digium TDM01B ● Para operar con teléfonos analógicos o centralitas clásicas, se requieren interfaces FXS – Ejemplo: Digium TDM10B ● En ambos casos, el driver a utilizar es DAHDI, la configuración se almacena en /etc/dahdi/
  • 28. Curso: Introducción a la VoIP y Asterisk 28 Asterisk PBX: Telefonía Tradicional Asterisk y la Telefonía Tradicional (II) ● En lineas digitales (RDSI), en Europa existen dos tipos: – BRI : Acceso básico, proporciona 2 canales de voz. – PRI: Acceso primario, proporciona 30 canales de Voz (E1). ● Asterisk soporta perfectamente ambos tipos de lineas digitales, con hardware específico: – Para primarios, Digium proporciona tarjetas de hasta 4 puertos. – Para básicos, Digium proporciona tarjetas de hasta 4 puertos.
  • 29. Curso: Introducción a la VoIP y Asterisk 29 Asterisk PBX: Telefonía Tradicional Lineas analógicas ● Para operar con las tarjetas con interfaces FXS / FXO, Asterisk utiliza el subsistema DAHDI, antes conocido como Zaptel. ● Es necesario tener compilado DAHDI, así como Asterisk con su suporte habilitado ● Seleccionar los módulos acordes a nuestro hardware en /etc/dahdi/modules ● Una vez instalado el sistema DAHDI, es necesario configurarlo en /etc/dahdi/system.conf – Definir zonas (para frecuencias de tonos) – Definir interfaces en los canales: FXS / FXO ● Se puede verificar la configuración correcta con el comando instalado: dahdi_cfg -v
  • 30. Curso: Introducción a la VoIP y Asterisk 30 Asterisk PBX: Telefonía Tradicional Lineas analógicas II ● Asterisk utiliza los módulos provistos por DAHDI para acceder al hardware. ● Este enlace se configura en: /etc/asterisk/chan_dahdi.conf ● Aspectos importantes a configurar: – context: contexto donde irán las llamadas generadas por cada canal. – echocancel: cancelación de echo (problema importante en telefonía). – Para utilizar correctamente las lineas españolas son necesarios los siguientes parámetros: answeronpolarityswitch=yes hanguponpolarityswitch=yes
  • 31. Curso: Introducción a la VoIP y Asterisk 31 Tarjetas Analógicas TDM11B
  • 32. Curso: Introducción a la VoIP y Asterisk 32 Configuración TDM /etc/dahdi/system.conf loadzone=es defaultzone=es fxoks=1 fxsks=2 echocanceller=mg2,1-2 /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] language=es hidecallerid=no callwaiting=yes echocancel=yes echocancelwhenbridged=no echotraining=yes transfer=yes usecallerid=yes callerid=asreceived rxgain=0.0 txgain=0.0 busydetect=no busycount=5 answeronpolarityswitch=yes hanguponpolarityswitch=yes immediate=no signalling=fxs_ks context=entrada-pstn group=1 channel=2 group=2 signalling=fxo_ks context=desde-usuarios channel=1
  • 33. Curso: Introducción a la VoIP y Asterisk 33 Líneas Digitales Saúl Ibarra Corretgé - http://www.saghul.net e-Verano 2007 ● También utilizan el subsistema DAHDI – Las tarjetas de BRI != b410p utilizan mISDN (de momento) ● Los ficheros a configurar son los mismos. ● Las BRI utilizan mISDN en lugar de DAHDI (Junghans no - BriStuff)
  • 34. Curso: Introducción a la VoIP y Asterisk 34 Tarjetas PRI TE120P
  • 35. Curso: Introducción a la VoIP y Asterisk 35 Configuración PRI /etc/dahdi/system.conf loadzone=es defaultzone=es span=1,1,0,ccs,hdb3,crc4 bchan=1-15 dchan=16 bchan=17-31 echocanceller=mg2,1-15,17-31 /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] callwaiting=yes transfer=yes echocancel=yes echocancelwhenbridged=no language=es switchtype=euroisdn signalling=pri_cpe usercallerid=yes callerid=asreceived rxgain=0.0 txgain=0.0 group=1 context=pri-in channel=1-15,17-31
  • 36. Curso: Introducción a la VoIP y Asterisk 36 Tarjetas BRI B410P
  • 37. Curso: Introducción a la VoIP y Asterisk 37 Configuración PRI /etc/dahdi/system.conf loadzone=es defaultzone=es span=1,1,0,ccs,ami,crc4 bchan=1-2 hardhdlc=3 encocanceller=mg2,1-2 /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] callwaiting=yes transfer=yes echocancel=yes echocancelwhenbridged=no language=es switchtype=euroisdn signalling=bri_cpe_ptmp usercallerid=yes callerid=asreceived rxgain=0.0 txgain=0.0 group=1 context=bri-in channel=1-2
  • 39. Curso: Introducción a la VoIP y Asterisk 39 BLF ● Algunos terminales IP nos ofrecen la posibilidad de monitorizar el estado de otras extensiones mediante teclas con LEDs: funcionalidad BLF. ● Para configurar Asterisk y que el BLF funcione correctamente es necesario hacer lo siguiente: – Configurar el fichero sip.conf – Añadir 'hints' al dialplan (extensions.conf)
  • 40. Curso: Introducción a la VoIP y Asterisk 40 BLF (2) ● sip.conf allowsubscribe=yes subscribecontext = hints notifyringing = yes notifyhold = yes limitonpeers = yes notifymimetype=application/simple -message-summary call-limit=2 ● extensions.conf [hints] exten => 2000,hint,SIP/saghul exten => 2000,1,Dial(SIP/saghul) ● Verificamos que los hints funcionan correctamente: – *CLI> core show hints ● Verificamos las subscripciones: – *CLI> sip show subscriptions
  • 41. Curso: Introducción a la VoIP y Asterisk 41 Funciones de grupo ● Asterisk dispone de funciones para contar o agrupar canales – Útiles cuando queremos controlar cuantas llamadas salen por un proveedor – Cuantas llamadas pueden enviarse a un terminal exten => s,1,Set(GROUP()=supergrupo) exten => s,2,GotoIf($[{GROUP_COUNT(supergrupo)} > 5 ]?error)
  • 42. Curso: Introducción a la VoIP y Asterisk 42 Asterisk: Auto-dial out Auto-dial out ● Permite iniciar llamadas desde aplicaciones externas. ● Se copia un fichero tipo call(callfiles) en: /var/spool/asterisk/outgoing/ – Asterisk inmediatamente llamará al canal especificado en Channel y lo conectará con el contexto dado (también es posible especificar una aplicación). ● Ejemplo: Channel: SIP/bt100 MaxRetries: 1 RetryTime: 60 WaitTime: 30 Context: outgoing Extension: 944048182 Priority: 1
  • 44. Curso: Introducción a la VoIP y Asterisk 44 License http://creativecommons.org/licenses/by-sa/3.0/