Integrando voz con                                   FOP2                                Utilizando Flash RTMP            ...
¿ Qué es el FOP 2 ?                             Flash Operator Panel                    Consola de operadoraTuesday, Novem...
¿ Qué es el FOP 2 ?                      Consola de operadora basada en Web                            Permite ver y contr...
¿ Qué es el FOP 2 ?         Control de llamadas                           Control de colas              Originación de lla...
Arquitectura FOP2       *                                   AMI                          websockets                       ...
¿ Qué tiene de especial ?                            Web/HTTP es un protocolo desconectado, sin                           ...
¿ Qué es RTMP ?                            Real Time Messaging Protocol                            Desarrollado por Macrom...
Desafío: FOP2 + Voz                            Adobe Flash soporta transmisión de datos                            continu...
Ventajas de un web phone                         en Flash                            Flash está ampliamente adoptado en   ...
No todas son ventajas                            Latencia. Las conexiones RTMP deben                            centraliza...
Encarando la integración                       Para el monitoreo en tiempo real fue necesario                       desarr...
Encarando la integración                            Alternativas Existentes         rtmplite                             f...
Encarando la integración                             Alternativas Existentes         rtmplite                             ...
Encarando la integración                      Freeswitch es una alternativa lógica, madura y                      estable....
Encarando la integración               ¿ Asterisk y Freeswitch corriendo en                  un mismo servidor, es posible...
Arquitectura FOP2 - RTMP       *                              SIP                          RTMP                           ...
FOP2: de consola a teléfono                            Reconversión de la interfaz de                            usuario, ...
GUI: de consola a teléfono                Dialpad / DTMF                            Módulo de softphone                   ...
GUI: de consola a teléfono                            Reubicación de                               botones                ...
SIP / RTMP Proxy                      Mediar entre tecnologías/protocolos. SIP/RTMP/                      RTP             ...
SIP / RTMP Proxy                      Utilizar Freeswitch como librería con los módulos                      estrictamente...
Administrador WebTuesday, November 8, 2011
Otras posibles aplicaciones            y usos para el proxy rtmp/sip                        Click to call en página web.  ...
¡Gracias!                      A João Mesquita por su colaboración y profundo                      conocimiento de Freeswi...
¿ Preguntas ?                             Nos vemos en:                               Nicolás Gudiño                      ...
Upcoming SlideShare
Loading in...5
×

Integrando voz (rtmp) con fop2

1,866

Published on

Nicolas Gudiño
Argentina
Asternic
14th Conference - ElastixWorld 2011
FOP2 meets voice (rtmp)
Integrando voz (rtmp) con fop2

Published in: Technology
1 Comment
1 Like
Statistics
Notes
  • Nicolas Gudiño
    Argentina
    Asternic
    14th Conference - ElastixWorld 2011
    FOP2 meets voice (rtmp)
    Integrando voz (rtmp) con fop2
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,866
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
51
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Integrando voz (rtmp) con fop2

  1. 1. Integrando voz con FOP2 Utilizando Flash RTMP Nicolás Gudiño asternic@gmail.com http://www.fop2.com ElastixWorld 2011Tuesday, November 8, 2011
  2. 2. ¿ Qué es el FOP 2 ? Flash Operator Panel Consola de operadoraTuesday, November 8, 2011
  3. 3. ¿ Qué es el FOP 2 ? Consola de operadora basada en Web Permite ver y controlar llamados en curso, quién está hablando con quién, llamados esperando en cola, estados de agente, etc. Galardonado como mejor addon de Elastix. ¡Gracias Palosanto!Tuesday, November 8, 2011
  4. 4. ¿ Qué es el FOP 2 ? Control de llamadas Control de colas Originación de llamadas Agregar o quitar miembros de cola Transfererncia de llamadas Pausar o despausar miembros de cola Captura de llamadas Captura de llamados esperando en cola Escuchas, Coaching Otras funcionalidades Grabación y corte de llamadas Directorio telefónico, click to call Control de conferencias Mensajería instantánea / chat Interfaz web para escuchar y organizar o Controlar mudo/habla en participantes borrar Correos de Voz Invitar participantes Interfaz web para escuchar y buscar Echar participantes grabaciones iniciadas desde FOP2 Cerrar la conferencia Módulo de FreePBX para configurar y Detección de habla administrar usuarios, permisos y botones. Envío de SMS por placas KhompTuesday, November 8, 2011
  5. 5. Arquitectura FOP2 * AMI websockets Asterisk Manager xmlsockets TCP 5038 TCP 4445 Servidor Servidor Cliente/Navegador Asterisk FOP2 Aplicación Web Asterisk puro y duro Mediador / Proxy Aplicación WEB AMI habilitado Conecta al AMI Javascript / Ajax Acepta conexiones de HTML & CSS clientes web Un poco de PHP Maneja usuarios y permisos Flash Invisible Máquina de estadoTuesday, November 8, 2011
  6. 6. ¿ Qué tiene de especial ? Web/HTTP es un protocolo desconectado, sin estado. El AMI de Asterisk envia eventos de forma continua: protocolo conectado FOP2 habilita una conexión conectada/ síncrona con el navegador web. Verdadero tiempo real. No se hace polling. Máquina de estadoTuesday, November 8, 2011
  7. 7. ¿ Qué es RTMP ? Real Time Messaging Protocol Desarrollado por Macromedia para hacer stream de audio, video y datos entre un servidor específico y clientes Flash Adobe adquirió Macromedia e hizo pública la especificación RTMP, lo que permitió que empezaran a surgir implementaciones no propietarias de clientes y servidores.Tuesday, November 8, 2011
  8. 8. Desafío: FOP2 + Voz Adobe Flash soporta transmisión de datos continua via xmlsockets Adobe Flash soporta transporte de audio y video en tiempo real usando RTMP (Real Time Messaging Protocol) FOP2 utiliza xmlsockets de Flash para mostrar y controlar estado en tiempo real Entonces, ¿por qué no integrar audio en FOP2 usando RTMP?Tuesday, November 8, 2011
  9. 9. Ventajas de un web phone en Flash Flash está ampliamente adoptado en múltiples plataformas, disponible para casi todos. iOS No requiere descargar o instalar componentes adicionales. Experiencia “integrada” para el usuario Relativamente simple para desarrolladores. Tecnología existente actualmente: no es un prototipo o un draft.Tuesday, November 8, 2011
  10. 10. No todas son ventajas Latencia. Las conexiones RTMP deben centralizarse en el servidor, no se establece conexión de medios directa entre endpoints. Para contrarrestrar este problema, Adobe desarrollo otro protocolo, RTMPF, que puede negociar media end to end, pero como toda solución similar tiene problemas para atravesar NAT, además es un protocolo propietario. Cancelación de eco no muy buena, es casi indispensable utilizar headsets.Tuesday, November 8, 2011
  11. 11. Encarando la integración Para el monitoreo en tiempo real fue necesario desarrollar un proxy para intermediar entre el Asterisk Manager Interface y Flash xmlsockets Integrar audio en FOP2 requiere de una aproximación similar: desarrollar/implementar un proxy para mediar entre Flash RTMP y SIP/RTP En el futuro un navegador podrá hablar SIP de forma nativa encapsulando SIP sobre websockets y WebRTC para el transporte de audio/video. http://sip-on-the-web.aliax.net/Tuesday, November 8, 2011
  12. 12. Encarando la integración Alternativas Existentes rtmplite freeswitch http://code.google.com/p/rtmplite/ http://www.freeswitch.org/ Escrito en python Escrito en C / C++ Incluye un proxy SIP Habla SIP / RTMP Soporta video en RTMP No soporta video RTMP Puede utilizar videoio Incluye un softphone como soft phone white white label, programable label, programable via via javascript, escrito en javascript Flex. Madurez: beta Madurez: altaTuesday, November 8, 2011
  13. 13. Encarando la integración Alternativas Existentes rtmplite freeswitch http://code.google.com/p/rtmplite/ http://www.freeswitch.org/ Python: Escalabilidad? Escalabilidad asegurada Python 2.6 requerido No requiere instalar (Elastix/Centos incluye Python 2.4) versiones conflictivas Transcodificación Transcodificación limitada (requiere py-audio) incluída DTMF problemático DTMF funcional Soporta video :) No soporta video :(Tuesday, November 8, 2011
  14. 14. Encarando la integración Freeswitch es una alternativa lógica, madura y estable. mod_rtmp existe ahora y funciona bien. El mismo puede utilizarse para participar de la conferencia semanal de desarrolladores Freeswitch desde un navegador web. http:// conference.freeswitch.org/conf/ Freeswitch habla SIP y puede transcodificar entre Speex wideband (utilizado por rtmp) y codecs narrowband como ulaw/alaw, utilizados por Asterisk.Tuesday, November 8, 2011
  15. 15. Encarando la integración ¿ Asterisk y Freeswitch corriendo en un mismo servidor, es posible ? ¡SI! A no preocuparse... para situaciones de alta demanda es perfectamente factible correr FOP2/ Freeswitch/RTMP en servidor aparte al Asterisk.Tuesday, November 8, 2011
  16. 16. Arquitectura FOP2 - RTMP * SIP RTMP UDP 5060 TCP 1935 Servidor Cliente/Navegador Proxy RTMP Asterisk Softphone Web Asterisk puro y duro Mediador / Proxy Softphone WEB Dispositivos SIP Libfreeswitch Javascript Sesion RTMP = Registro SIP Adobe Flash Transcodificación Speex Wideband - Codec Asterisk.Tuesday, November 8, 2011
  17. 17. FOP2: de consola a teléfono Reconversión de la interfaz de usuario, hay que superar la consola e incorporar la funcionalidad de teléfono. Agregado de Dialpad y DTMF Agregado de Acciones: Answer, Hold, Reject Reubicación de botones de control de llamados dentro del llamado activo.Tuesday, November 8, 2011
  18. 18. GUI: de consola a teléfono Dialpad / DTMF Módulo de softphone Selección de entrada de audioTuesday, November 8, 2011
  19. 19. GUI: de consola a teléfono Reubicación de botones de controlTuesday, November 8, 2011
  20. 20. SIP / RTMP Proxy Mediar entre tecnologías/protocolos. SIP/RTMP/ RTP Transcodificar entre Speex wideband y pcm-u/a Mapear una sesión autenticada RTMP con una registración SIP. Manejar transferencias y hold a nivel SIP (nociones no existentes en RTMP)Tuesday, November 8, 2011
  21. 21. SIP / RTMP Proxy Utilizar Freeswitch como librería con los módulos estrictamente necesarios. La idea es hacerlo muy sencillo de instalar. Versión precompilada, empaquetado en RPM. Plugin en FOP2 que autoconfigura el proxy, no hay necesidad de manipular archivos de configuración a mano.Tuesday, November 8, 2011
  22. 22. Administrador WebTuesday, November 8, 2011
  23. 23. Otras posibles aplicaciones y usos para el proxy rtmp/sip Click to call en página web. Sistema de conferencias híbrido, participantes 100% web, participantes telefónicos, etc.Tuesday, November 8, 2011
  24. 24. ¡Gracias! A João Mesquita por su colaboración y profundo conocimiento de Freeswitch. A Palosanto por el reconocimiento y apoyo. A todo el equipo de Toga Soluciones Integrales Y a todos ustedes por seguir ahí sentadosTuesday, November 8, 2011
  25. 25. ¿ Preguntas ? Nos vemos en: Nicolás Gudiño asternic@gmail.com http://www.fop2.comTuesday, November 8, 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×