Este PDF no está enlazado desde ningún artículo publicado.
Página 1 — Las 12 pruebas de Asterisk
Página 2 — Las 12 pruebas de Asterisk
Introducción Elio Rojano Sinologic.net @hellc2 http://www.sinologic.net/ Elio Rojano Ruiz
Página 3 — Las 12 pruebas de Asterisk
Introducción Sinologic.net Asterisk PBX Elio Rojano Ruiz
Página 4 — Las 12 pruebas de Asterisk
Introducción Asterisk PBX Sinologic.net Asterisk SCF Scalable Communications Framework Astricon - Octubre 2010 Elio Rojano Ruiz
Página 5 — Las 12 pruebas de Asterisk
Introducción Asterisk PBX Sinologic.net Asterisk SCF Scalable Communications Framework Septiembre 2012 Elio Rojano Ruiz
Página 6 — Las 12 pruebas de Asterisk
Introducción Sinologic.net Asterisk Framework Elio Rojano Ruiz
Página 7 — Las 12 pruebas de Asterisk
Introducción El software como las ideas cuanto mejores son más se pueden aprovechar Sinologic.net Elio Rojano Ruiz
Página 8 — Las 12 pruebas de Asterisk
Introducción Estables Producción 2007 Inestables Desarrollo Asterisk 1.4 Sinologic.net Asterisk 1.6 2008 2010 Asterisk 1.8 Asterisk 10 2011 2012 Asterisk 11 Asterisk 12 2013 2014 Elio Rojano Ruiz Asterisk 13
Página 9 — Las 12 pruebas de Asterisk
Introducción Vamos a ver algunos cambios en Asterisk para convertirse en un Framework de desarrollo de aplicaciones de voz Sinologic.net Elio Rojano Ruiz
Página 10 — Las 12 pruebas de Asterisk
Flexibilidad
Página 11 — Las 12 pruebas de Asterisk
Flexibilidad + Flexible Sinologic.net + Opciones + Potente + Soluciones Elio Rojano Ruiz
Página 12 — Las 12 pruebas de Asterisk
Flexibilidad PBX Framework VoiceMail(buzón,opciones) VoiceMailMain([buzón]) VoiceMail(buzón,opciones) VoiceMailMain([buzón]) MinivmGreet MinivmRecord MinivmMWI MinivmNotify MinivmAccMess MinivmDelete Sinologic.net Elio Rojano Ruiz
Página 13 — Las 12 pruebas de Asterisk
Flexibilidad ConfBridge Asterisk 1.8 Sinologic.net ConfBridge([confno][,options]) Asterisk 11 ConfBridge(conference[,bridge_profile[,user_profile[,menu]]]) Plantillas de tipos de perfiles de usuarios Elio Rojano Ruiz Plantillas de salas bridges- con distintas opciones Plantillas de menús con distintas opciones
Página 14 — Las 12 pruebas de Asterisk
Flexibilidad Fax Asterisk 1.8 permite: Enviar faxes (SendFax) Recibir faxes (RecieveFax) No puede reenviar Faxes en T.38 - FaxRelay Sinologic.net Recibimos un Fax por T.38 quieres reenviarlo a un ATA donde hay una máquina de Fax.
Asterisk 11 exten=>fax,1,FAXOPT(gateway)=yes exten=>fax,n,Dial(SIP/FaxATA) Elio Rojano Ruiz
Página 15 — Las 12 pruebas de Asterisk
Flexibilidad Número de líneas de código* 2000000 Sinologic.net 1500000 1000000 500000 0 Asterisk 1.8.24 Asterisk 10.12.3 Asterisk 11.6.0 Asterisk 12-beta1 Más información: http://www.sinologic.net/proyectos/voip2day/2013/indice-asterisk Elio Rojano Ruiz
Página 16 — Las 12 pruebas de Asterisk
Multi-tenant
Página 17 — Las 12 pruebas de Asterisk
Multi-Tenant Sinologic.net Multitenancy: Principio de arquitectura de software donde una única instancia de un software sirve a múltiples organizaciones (tenants) Elio Rojano Ruiz
Página 18 — Las 12 pruebas de Asterisk
Multi-Tenant Sinologic.net Elio Rojano Ruiz
Página 19 — Las 12 pruebas de Asterisk
Multi-Tenant $ Sinologic.net Sistema más habitual Elio Rojano Ruiz
Página 20 — Las 12 pruebas de Asterisk
Multi-Tenant Sinologic.net Sistema multi-tenant Elio Rojano Ruiz
Página 21 — Las 12 pruebas de Asterisk
Multi-Tenant ¿Cómo se puede implementar? Sinologic.net ...un poco de código...
Elio Rojano Ruiz
Página 22 — Las 12 pruebas de Asterisk
Multi-Tenant extensions.conf exten=>912345678,1,Goto(empresa1,s,1) exten=>987654321,1,Goto(empresaN,s,1) [empresa1] #include “extensions_empresa1.conf” Sinologic.net [empresaN] #include “extensions_empresaN.conf” exten => s,1,Set(CHANNEL(namedcallgroup)=empresa1) exten => s,n,Playback(empresa1_bienvenida) exten => s,n,Goto(empresa1_IVR,s,1) [empresa1_IVR] exten => s,1,Read(opcion,empresa1_menuyopciones) exten => s,n,Goto(empresa1_IVR,${opcion},1) exten => 1,1,Dial(SIP/empresa1_300) exten => 2,1,Dial(SIP/empresa1_301) exten => 3,1,Queue(empresa1_comercial) exten => 4,1,Queue(empresa1_soporte) [empresa1_outgoing] exten=>_3XX,1,Dial(SIP/empresa1_${EXTEN}) exten=>_[67]XXXXXXXX,1,Macro(llamadaExterna,”empresa1”) exten=>_[67]XXXXXXXX,1,Macro(llamadaExterna,”empresa1”) exten=>*89,1,Answer() exten=>*89,n,VoiceMailMain(empresa1_${CALLERID(name)}@empresa1) Elio Rojano Ruiz
Página 23 — Las 12 pruebas de Asterisk
Multi-Tenant features.conf (Asterisk 1.8, 10, 11) Parkings res_parking.conf (Asterisk 12) [empresa1] context => empresa1_park parkpos => 800-850 findslot => next comebacktoorigin = no comebackdialtime = 90 comebackcontext = empresa1_outgoing parkedmusicclass = empresa1_moh Usuarios / Extensiones sip.conf [default](!) type=friend secret=c82j34r9c82j398c9jh9438cj host=dynamic label=cuenta nat=force_rport context=none Sinologic.net Comando: Park(empresa1[,options]) [empresa1](!,default) context=empresa1_outgoing namedcallgroup=empresa1 namedpickupgroup=empresa1 [empresa1_ext300](empresa1) callerid=300 <300> secret=rcn2398rjc92834jc92 … [empresa1_ext399](empresa1) callerid=399 <399> secret=icj984j92834jc928984c … Elio Rojano Ruiz
Página 24 — Las 12 pruebas de Asterisk
Multi-Tenant extensions.conf [empresa1_default] exten => s,1,Set(CHANNEL(namedcallgroup)=empresa1) exten => s,n,Playback(empresa1_bienvenida) exten => s,n,Goto(empresa1_IVR,s,1) Sinologic.net [empresa1_IVR] exten => s,1,Read(opcion,empresa1_menuyopciones) exten => s,n,Goto(empresa1_IVR,${opcion},1) exten => 1,1,Dial(SIP/empresa1_300) exten => 2,1,Dial(SIP/empresa1_301) exten => 3,1,Queue(empresa1_comercial) exten => 4,1,Queue(empresa1_soporte) Elio Rojano Ruiz
Página 25 — Las 12 pruebas de Asterisk
Códecs
Página 26 — Las 12 pruebas de Asterisk
Nuevos Códecs Asterisk 1.8 soporta a: Alaw / G.711a / PCMA Ulaw / G.711u / PCMU G.729a iLBC Speex
G.722
G.726
GSM
LPC10
SLIN
Sinologic.net Elio Rojano Ruiz
Página 27 — Las 12 pruebas de Asterisk
Nuevos Códecs G.722 marcó un hito en la calidad de sonido Sinologic.net Desde entonces, todos los terminales soportan G.722 Elio Rojano Ruiz
Página 28 — Las 12 pruebas de Asterisk
Nuevos Códecs Códecs Asterisk 10 Alaw / G.711a / PCMA Ulaw / G.711u / PCMU G.729a iLBC Speex 8/16/32
G.722
G.726
GSM
LPC10
SLIN 8/12/16/24/32/44/48/96/192
CELT 32/44/48
SILK 8/12/16/24
Sinologic.net Códecs HD Elio Rojano Ruiz
Página 29 — Las 12 pruebas de Asterisk
Nuevos Códecs 3 de Marzo de 2009: Skype libera SILK Sinologic.net
OPUS
11 septiembre 2012: Xiph (creadora de Speex y CELT) utiliza SILK y saca a la luz:
“El códec definitivo” http://www.sinologic.net/blog/2012-09/ha-nacido-un-nuevo-codec-opus.html Elio Rojano Ruiz
Página 30 — Las 12 pruebas de Asterisk
Nuevos Códecs
OPUS
Sinologic.net Elio Rojano Ruiz
Página 31 — Las 12 pruebas de Asterisk
Nuevos Códecs Asterisk 11 soporta a: Alaw / G.711a / PCMA Ulaw / G.711u / PCMU G.729a iLBC Speex
G.722
G.726
GSM
LPC10
SLIN 8/12/16/24/32/44/48/96/192
CELT
SILK
OPUS
Sinologic.net Elio Rojano Ruiz
Página 32 — Las 12 pruebas de Asterisk
Nuevos Códecs OPUS es el códec que todos hemos deseado tener:
- Calidad igual o superior al de MP3 Sinologic.net - Ancho de banda igual o menor que el G.729 - Calidad auto-ajustable al ancho de banda - Estándar de otras tecnologías: WebRTC - Consumo de procesador fantástico - Es realmente un códec libre Elio Rojano Ruiz
Página 33 — Las 12 pruebas de Asterisk
Nuevos Códecs
OPUS
Asterisk 11 soporta Opus y VP8 a través de un parche Sinologic.net https://github.com/meetecho/asterisk-opus Asterisk 12 soporta Opus y VP8 nativamente passthrough (por ahora) http://lists.digium.com/pipermail/asterisk-dev/2013-May/060421.html Elio Rojano Ruiz
Página 34 — Las 12 pruebas de Asterisk
Nuevos Códecs Asterisk 12 soporta a: Alaw / G.711a / PCMA Ulaw / G.711u / PCMU G.729a iLBC Sinologic.net
G.722
G.726
GSM
LPC10
SLIN 8/12/16/24/32/44/48/96/192
OPUS
Elio Rojano Ruiz
Página 35 — Las 12 pruebas de Asterisk
Bases de datos
Página 36 — Las 12 pruebas de Asterisk
Bases de datos Bases de datos para almacenar la configuración.
Bases de datos para almacenar las llamadas CDR/CEL.
Bases de datos para almacenar el dialplan.
Bases de datos para almacenar el ASTDB. Sinologic.net PostgreSQL
ODBC
SQLite3 TDS
LDAP
Elio Rojano Ruiz
Página 37 — Las 12 pruebas de Asterisk
Bases de datos AstDB = SQLite3 Sinologic.net # sqlite3 /var/lib/asterisk/astdb.sqlite3 SQLite version 3.7.13 2012-06-11 02:05:22 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .tables astdb sqlite> select * from astdb; /SIP/Registry/erojano|90.126.122.53:54468:3600:erojano:sip:erojano@192.168.0.1:1024 /SIP/Registry/ratienza|90.126.122.53:54468:3600:ratienza:sip:ratienza@192.168.0.2:1024 /dundi/secret|LeQyTgBhJzpYUtUZgDL+Iw==;HhDfflzf+gPSLgpstOZTaQ== /dundi/secretexpiry|1383599365 Elio Rojano Ruiz
Página 38 — Las 12 pruebas de Asterisk
Bases de datos Cada base de datos soportado es un módulo diferente con su propio soporte.
Sinologic.net ODBC Postgre MySQL
SQL LDAP
TDS Asterisk Elio Rojano Ruiz AstDB SQLite
Página 39 — Las 12 pruebas de Asterisk
Bases de datos Asterisk 12 Sorcery Sinologic.net Sorcery Data Access ODBC Postgre AstDB SQLite MySQL Abstraction TDS Layer
SQL LDAP
Asterisk Elio Rojano Ruiz
Página 40 — Las 12 pruebas de Asterisk
Bases de datos Las capas de abstracción tendrán mucha importancia a partir de ahora.
Sinologic.net Elio Rojano Ruiz
Página 41 — Las 12 pruebas de Asterisk
Mejorar la gestión del NAT
Página 42 — Las 12 pruebas de Asterisk
NAT Sinologic.net NAT es un problema Elio Rojano Ruiz
Página 43 — Las 12 pruebas de Asterisk
NAT Sinologic.net IAX2 no es una solución al NAT Mapear puertos tampoco Usar DMZ menos aún Elio Rojano Ruiz
Página 44 — Las 12 pruebas de Asterisk
NAT Existen soluciones y Asterisk ya lo soporta Sinologic.net ICE Interactive Connectivity Establishment protocol Más información: http://www.slideshare.net/saghul/ice-4414037 Elio Rojano Ruiz
Página 45 — Las 12 pruebas de Asterisk
NAT ICE es un protocolo para descubrir detrás de qué tipo de NAT estamos.
Si hay alguna forma de establecer una comunicación, ICE la encontrará.
Sinologic.net Se apoya de servidores STUN Si no es posible transmitir audio, entonces utilizamos TURN para reenviar el audio Elio Rojano Ruiz
Página 46 — Las 12 pruebas de Asterisk
NAT Lo tiene que soportar también el cliente (softphones / teléfonos IP) Lista de servidores STUN disponibles: https://gist.github.com/hellc2/7290201 Sinologic.net sip.conf [general] icesupport = yes stunaddr=servidor.stun.org rtp.conf [general] icesupport = yes stunaddr=servidor.stun.org turnaddr=servidor.turn.org turnusername=USUARIO turnpassword=PASSWORD Elio Rojano Ruiz
Página 47 — Las 12 pruebas de Asterisk
WebRTC
Página 48 — Las 12 pruebas de Asterisk
WebRTC A estas alturas ya debes saber qué es WebRTC Sinologic.net Requisitos básicos Asterisk:
Soporte de WebSocket Soporte de OPUS Soporte de VP8 Soporte de ICE Soporte de SRTP Elio Rojano Ruiz
Página 49 — Las 12 pruebas de Asterisk
WebRTC ¿Entonces podremos utilizar WebRTC en Asterisk?
SI Sinologic.net http.conf [general] enabled=yes bindaddr=0.0.0.0 bindport=8088 prefix=asterisk Configurando el soporte de WebSocket ;; Puerto donde escuchará el Websocket ;; http://SERVIDOR:8088/asterisk/ws [webrtc_user1] type=friend Configurando cuentas SIP con los requisitos WebRTC host=dynamic context=webrtc secret=user1@webrtcpass1 transport=ws,wss ;; Activamos el soporte WebSocket y WebSocketSecure encryption=yes ;; Activamos el soporte SRTP avpf=yes ;; Tipo de Stream con el que vamos a trabajar nat=force_rport ;; Compatibilidad con Asterisk 11 disabled=all allow=opus,vp8 sip.conf Elio Rojano Ruiz
Página 50 — Las 12 pruebas de Asterisk
WebRTC Sinologic.net https://github.com/versatica/JsSIP Elio Rojano Ruiz
Este PDF tiene 83 páginas. Se muestran las primeras 50.
