PDF de programación - Asterisk y Openser Matrimonio de conveniencia

Imágen de pdf Asterisk y Openser Matrimonio de conveniencia

Asterisk y Openser Matrimonio de convenienciagráfica de visualizaciones

Publicado el 24 de Agosto del 2020
371 visualizaciones desde el 24 de Agosto del 2020
467,6 KB
32 paginas
Creado hace 16a (10/11/2007)
Asterisk y Openser
Matrimonio de conveniencia

[email protected]

Qué es Asterisk

• Centralita IP

• Modular

• Multiprotocolo

• Gateway

• Voicemail

• Media Server / Conference Server

• IVR

Qué NO es Asterisk

• Plataforma escalable de comunicaciones IP

• Plataforma enfocada al usuario

• Proxy SIP

Qué NO es Asterisk II

• Estándar:

• ./configure --prefix=/usr/local/asterisk-1.4.13

• Asterisk way of life:

• ./configure --prefix=/usr/local/asterisk-1.4.13 --exec-prefix=/usr/local/

asterisk-1.4.13/ --bindir=/usr/local/asterisk-1.4.13/bin --datarootdir=/usr/
local/asterisk-1.4.13/share --includedir=/usr/local/asterisk-1.4.13/include
--libdir=/usr/local/asterisk-1.4.13/lib --libexecdir=/usr/local/asterisk-1.4.13/
libexec --localstatedir=/usr/local/asterisk-1.4.13/var --sbindir=/usr/local/
asterisk-1.4.13/sbin --sharedstatedir=/usr/local/asterisk-1.4.13/com --
sysconfdir=/usr/local/asterisk-1.4.13/etc

Asterisk y SIP

• chan_sip.c tiene 17840 líneas

• Stack SIP incompleto

• Transaction stateless, dialog stateful - B2BUA

• No soporta TCP ni TLS

• Modo “pedantic” ¿opcional?

• Espirales no soportadas

• Concepto de “alias” no soportado

Asterisk y SIP II

• Múltiples registros de un mismo AOR no soportado

• Forking, serial o parallel, no soportado

• VIA limitado a 256 bytes

• Outbound proxy no soportado

• OPTIONS in-dialog no soportado

• Resolución SRV incompleta

Qué es OpenSER

• Proxy SIP (registrar, location, proxy y redirect)

• Modular

• Escalable

• Transaction stateful, dialog stateless

• NAT Traversal

• Presencia

• Soporta J2EE y Perl

Qué NO es OpenSER

• Plataforma enfocada al usuario

• Consciente de media o codecs

• Media Server, IVR, transcoding, etc

• Gateway

• Servidor de aplicaciones SIP

Matrimonio de conveniencia

• Asterisk no es un Proxy SIP, OpenSER sí

• Asterisk no tiene un stack SIP completo, OpenSER sí

• Asterisk no soporta TCP ni TLS, OpenSER sí

• Asterisk no dispone de NAT traversal efectivo, OpenSER sí

• Asterisk no es escalable, OpenSER sí

• Asterisk actúa como b2bua, OpenSER no

• Asterisk soporta media, OpenSER no

Matrimonio de conveniencia II

• Asterisk hace transcoding, IVR, etc, OpenSER no

• Asterisk tiene voicemail, meetme, etc, OpenSER no

• Asterisk dispone de interfaces físicos, OpenSER no

• Asterisk puede hacer de gateway, OpenSER no

Integración - Escenario inicial

• 4 Asterisk diferentes en una central y 3 delegaciones

• El Asterisk de la central con 2xE1

• 1xE1 a la centralita - 1xE1 de la centralita a PSTN

• 1 de las delegaciones con 2 extensiones remotas

• Cada Asterisk ofrece servicio de voicemail local

• Enrutamiento global configurado en cada Asterisk

• Redirección de puertos en los routers de acceso

Integración - Escenario inicial

Centralita

PSTN

Asterisk

Asterisk

Asterisk

Asterisk

Remoto

Remoto

Integración - Primer paso

• Instalar un OpenSER en la central que se encarga de:

• Unificar el enrutamiento en un único punto

• Gestión de extensiones remotas

• NAT Traversal unificado

Integración - Primer paso

Centralita

PSTN

Asterisk

Asterisk

Asterisk

Asterisk

Remoto

Remoto

Integración - Segundo paso

• Mover 1xE1 de PSTN al Asterisk de la central

Integración - Segundo paso

PSTN

Centralita

Asterisk

Asterisk

Asterisk

Asterisk

Remoto

Remoto

Integración - Tercer paso

• Creación de servicios unificados en el Asterisk de la central:

• Voicemail

• IVR

• Conference

• ...

• Es posible unificar los usuarios de Asterisk y OpenSER

Integración - Tercer paso

PSTN

Centralita

Conference

IVR

Asterisk

Voicemail

Asterisk

Asterisk

Asterisk

Remoto

Remoto

Integración - Cuarto paso

• Conexión a un ITSP para terminación PSTN

• OpenSER no es un UAC por lo que el ITSP debe autentificar por IP o usar el

módulo UAC, de funcionalidad limitada

• Usar E1 PSTN del Asterisk como backup

Integración - Cuarto paso

VoIP

Provider

PSTN

Centralita

Conference

IVR

Asterisk

Voicemail

Asterisk

Asterisk

Asterisk

Remoto

Remoto

Otras integraciones

• Balanceo de carga

• Redundancia

• Servicios

• AGI y WeSIP

Balanceo de carga

Asterisk 1

Asterisk 2

Asterisk 3

Balanceo persistente basado en:
- Hash Call-ID
- Hash From URI
- Hash To URI
- Hash RURI
- Round robin

OpenSER

Redundancia

MySQL

Compartiendo el mismo backend
se obtiene redundancia completa

Asterisk 1

Asterisk 2

Asterisk 3

OpenSER

Servicios

Voicemail
Echo test

23 - 30

Locuciones

Conference

IVR

25

Doble marcado

Servicios varios:
- Voicemail: *123
- Conference: *125
- Echo test: *130
- Locuciones
- IVR: Auto attendant
- Doble marcado

OpenSER

PSTN

Creación de dialplan:
- *1: prefijo servicios de media
- Dos dígitos extensión Asterisk

Locuciones:
- Usuario no disponible
- Servicio no disponible
- Ringback tones

Asterisk usa vistas de la base de
datos de usuarios de OpenSER
para integrar la provisión

Configuraciones de ejemplo

• Configuración OpenSER

• Configuración Asterisk

AGI y WeSIP

OpenSER

WeSIP

App Server

Asterisk

SIP

SIP

AGI HTTP

RTP

Aplicaciones complejas:
- Señalización controlada por WeSIP
- Media y DTMF por Asterisk
- Autoattendant
- Ringback tones
- IVR complejos
- Consultas bases de datos externas
- Consultas otras fuentes de datos
- Cualquier apliación signaling/media

AGI II

• exten => ivrapp,1,GotoIf($["${SIP_HEADER(X-AGI-AppType)}" == "1"]?

simpleacd,s,1)

• exten => ivrapp,2,GotoIf($["${SIP_HEADER(X-AGI-AppType)}" == "2"]?

simpleatt,s,1)

• exten => ivrapp,3,Hangup

AGI III

• [simpleacd]

• exten => s,1,Answer

• exten => s,2,Set(TIMEOUT(digit)=7)

• exten => s,3,AGI(agi://${SIP_HEADER(X-AGI-Host)}:${SIP_HEADER(X-AGI-

Port)}/org.asteriskjava.web.ScriptedAgi?script=simple.acd&AppID=$
{SIP_HEADER(X-AGI-AppID)});

• exten => s,4,Hangup

AGI y WeSIP II

Múltiples servidores de aplicaciones:
- Distribución de aplicaciones
- Redundancia
- Balanceo de carga

OpenSER

SIP

WeSIP

WeSIP

WeSIP

RTP

AGI HTTP

SIP

AGI HTTP

Asterisk

Ejemplo real de integración: www.oigaa.com

Conclusiones

• Cada aplicación tiene su función:

• OpenSER: Core SIP, routing, NAT traversal

• Asterisk: Ipbx, servicios de media, gateway, AGI

• Son perfectamente complementarios; lo que tiene uno le falta al otro

• Muchas posibilidades de integración

• Ninguno de los dos es sencillo de configurar y administrar

Muchas gracias!

[email protected]
  • Links de descarga
http://lwp-l.com/pdf18110

Comentarios de: Asterisk y Openser Matrimonio de conveniencia (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad