Integrando voz (rtmp) con fop2
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Integrando voz (rtmp) con fop2

on

  • 2,233 views

Nicolas Gudiño

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

Statistics

Views

Total Views
2,233
Views on SlideShare
2,233
Embed Views
0

Actions

Likes
1
Downloads
48
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Nicolas Gudiño
    Argentina
    Asternic
    14th Conference - ElastixWorld 2011
    FOP2 meets voice (rtmp)
    Integrando voz (rtmp) con fop2
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Integrando voz (rtmp) con fop2 Presentation Transcript

  • 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. ¿ Qué es el FOP 2 ? Flash Operator Panel Consola de operadoraTuesday, November 8, 2011
  • 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. ¿ 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. 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. ¿ 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. ¿ 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. GUI: de consola a teléfono Dialpad / DTMF Módulo de softphone Selección de entrada de audioTuesday, November 8, 2011
  • 19. GUI: de consola a teléfono Reubicación de botones de controlTuesday, November 8, 2011
  • 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. 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. Administrador WebTuesday, November 8, 2011
  • 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. ¡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. ¿ Preguntas ? Nos vemos en: Nicolás Gudiño asternic@gmail.com http://www.fop2.comTuesday, November 8, 2011