Asterisk Openser

32
  Asterisk y Open ser Matrimonio de conveniencia  [email protected]

Transcript of Asterisk Openser

Page 1: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 1/32

 

 Asterisk y Openser

Matrimonio de conveniencia

 [email protected]

Page 2: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 2/32

 

Qué es Asterisk 

• Centralita IP

• Modular

• Multiprotocolo

• Gateway

• Voicemail

• Media Server / Conference Server

• IVR

Page 3: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 3/32

 

Qué NO es Asterisk 

• Plataforma escalable de comunicaciones IP

• Plataforma enfocada al usuario

• Proxy SIP

Page 4: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 4/32

 

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

Page 5: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 5/32

 

 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

Page 6: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 6/32

 

 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

Page 7: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 7/32

Qué es OpenSER

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

• Modular

• Escalable

• Transaction stateful, dialog stateless

• NAT Traversal

• Presencia

• Soporta J2EE y Perl

 

Page 8: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 8/32

Qué NO es OpenSER

• Plataforma enfocada al usuario

• Consciente de media o codecs

• Media Server, IVR, transcoding, etc

• Gateway

• Servidor de aplicaciones SIP

 

Page 9: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 9/32

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

 

Page 10: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 10/32

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

 

Page 11: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 11/32

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

 

Page 12: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 12/32

Integración - Escenario inicial

 Asterisk

 Asterisk

 Asterisk

 Asterisk

Centralita PSTN

RemotoRemoto

 

Page 13: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 13/32

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

 

Page 14: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 14/32

Integración - Primer paso

  Asterisk Asterisk

 Asterisk

RemotoRemoto

 Asterisk

Centralita PSTN

 

Page 15: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 15/32

Integración - Segundo paso

• Mover 1xE1 de PSTN al Asterisk de la central

 

Page 16: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 16/32

Integración - Segundo paso

  Asterisk Asterisk

 Asterisk

CentralitaPSTN

RemotoRemoto

 Asterisk

 

Page 17: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 17/32

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

  

Page 18: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 18/32

Integración - Tercer paso

  Asterisk Asterisk

 Asterisk

CentralitaPSTN

RemotoRemoto

 Asterisk

IVR

 Voicemail

Conference

 

Page 19: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 19/32

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 elmódulo UAC, de funcionalidad limitada

• Usar E1 PSTN del Asterisk como backup

  

Page 20: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 20/32

Integración - Cuarto paso

  Asterisk Asterisk

 Asterisk

CentralitaPSTN

RemotoRemoto

 Asterisk

IVR

 Voicemail

Conference

 VoIP

Provider

 

Page 21: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 21/32

Otras integraciones

• Balanceo de carga

• Redundancia

• Servicios

• AGI y WeSIP

 

Page 22: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 22/32

Balanceo de carga

  Asterisk 2 Asterisk 3 Asterisk 1

Balanceo persistente basado en:

- Hash Call-ID

- Hash From URI

- Hash To URI

- Hash RURI

- Round robinOpenSER

 

Page 23: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 23/32

Redundancia

Compartiendo el mismo backend

se obtiene redundancia completa

OpenSER

MySQL

  Asterisk 1 Asterisk 2 Asterisk 3

 

Page 24: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 24/32

Servicios

Conference

25

Locuciones

IVR

Doble marcado

 Voicemail

Echo test

23 - 30

Servicios varios:

- Voicemail: *123

- Conference: *125

- Echo test: *130

- Locuciones

- IVR: Auto attendant

- Doble marcado

OpenSER

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 dedatos de usuarios de OpenSER

para integrar la provisiónPSTN

 

Page 25: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 25/32

Configuraciones de ejemplo

• Configuración OpenSER

• Configuración Asterisk

 

Page 26: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 26/32

 AGI y WeSIP

OpenSER

WeSIP

  App Server Asterisk

 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

SIPSIP

 AGI HTTP

RTP

 

Page 27: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 27/32

 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

 

Page 28: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 28/32

 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

 

Page 29: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 29/32

 AGI y WeSIP II

OpenSER

WeSIP

 AsteriskSIP

SIP

 AGI HTTP

RTP

 AGI HTTP

WeSIP

WeSIP

Múltiples servidores de aplicaciones:

- Distribución de aplicaciones

- Redundancia

- Balanceo de carga

 

Page 30: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 30/32

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

 

Page 31: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 31/32

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

 

Page 32: Asterisk Openser

5/9/2018 Asterisk Openser - slidepdf.com

http://slidepdf.com/reader/full/asterisk-openser 32/32

Muchas gracias!

 [email protected]