Integrando voz (rtmp) con fop2

  • View
    1.822

  • Download
    3

Embed Size (px)

DESCRIPTION

Nicolas GudioArgentinaAsternic14th Conference - ElastixWorld 2011FOP2 meets voice (rtmp)Integrando voz (rtmp) con fop2

Transcript

  • 1. Integrando voz con FOP2Utilizando Flash RTMPNicols Gudio asternic@gmail.com http://www.fop2.comElastixWorld 2011Tuesday, November 8, 2011

2. Qu es el FOP 2 ? Flash Operator PanelConsola de operadoraTuesday, November 8, 2011 3. Qu es el FOP 2 ?Consola de operadora basada en WebPermite ver y controlar llamados en curso, quin est hablandocon quin, 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 colasOriginacin de llamadasAgregar o quitar miembros de colaTransfererncia de llamadas Pausar o despausar miembros de colaCaptura de llamadasCaptura de llamados esperando en colaEscuchas, Coaching Otras funcionalidadesGrabacin y corte de llamadas Directorio telefnico, click to call Control de conferencias Mensajera instantnea / 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 Mdulo de FreePBX para congurar y Deteccin de hablaadministrar usuarios, permisos y botones. Envo de SMS por placas KhompTuesday, November 8, 2011 5. Arquitectura FOP2 * AMIwebsocketsAsterisk Managerxmlsockets TCP 5038 TCP 4445 ServidorServidorCliente/Navegador Asterisk FOP2 Aplicacin Web Asterisk puro y duroMediador / ProxyAplicacin WEB AMI habilitadoConecta al AMI Javascript / Ajax Acepta conexiones de HTML & CSS clientes webUn poco de PHP Maneja usuarios y permisosFlash Invisible Mquina de estadoTuesday, November 8, 2011 6. Qu tiene de especial ?Web/HTTP es un protocolo desconectado, sinestado.El AMI de Asterisk envia eventos de formacontinua: protocolo conectadoFOP2 habilita una conexin conectada/sncrona con el navegador web.Verdadero tiempo real. No se hace polling.Mquina de estadoTuesday, November 8, 2011 7. Qu es RTMP ?Real Time Messaging ProtocolDesarrollado por Macromedia para hacerstream de audio, video y datos entre unservidor especco y clientes FlashAdobe adquiri Macromedia e hizo pblica laespecicacin RTMP, lo que permiti queempezaran a surgir implementaciones nopropietarias de clientes y servidores.Tuesday, November 8, 2011 8. Desafo: FOP2 + VozAdobe Flash soporta transmisin de datoscontinua via xmlsocketsAdobe Flash soporta transporte de audio yvideo en tiempo real usando RTMP (Real TimeMessaging Protocol)FOP2 utiliza xmlsockets de Flash paramostrar y controlar estado en tiempo realEntonces, por qu no integrar audio enFOP2 usando RTMP?Tuesday, November 8, 2011 9. Ventajas de un web phone en FlashFlash est ampliamente adoptado enmltiples plataformas, disponible para casitodos.iOSNo requiere descargar o instalar componentesadicionales.Experiencia integrada para el usuarioRelativamente simple para desarrolladores.Tecnologa existente actualmente: no es unprototipo o un draft.Tuesday, November 8, 2011 10. No todas son ventajasLatencia. Las conexiones RTMP debencentralizarse en el servidor, no se establececonexin de medios directa entre endpoints.Para contrarrestrar este problema, Adobedesarrollo otro protocolo, RTMPF, que puedenegociar media end to end, pero como todasolucin similar tiene problemas paraatravesar NAT, adems es un protocolopropietario.Cancelacin de eco no muy buena, es casiindispensable utilizar headsets.Tuesday, November 8, 2011 11. Encarando la integracin 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 aproximacin 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 integracinAlternativas Existentes rtmplite freeswitch http://code.google.com/p/rtmplite/ http://www.freeswitch.org/ Escrito en pythonEscrito en C / C++ Incluye un proxy SIP Habla SIP / RTMP Soporta video en RTMPNo soporta video RTMP Puede utilizar videoio Incluye un softphone como soft phone whitewhite label, programable label, programable via via javascript, escrito en javascript Flex. Madurez: betaMadurez: altaTuesday, November 8, 2011 13. Encarando la integracin Alternativas Existentes rtmplitefreeswitch http://code.google.com/p/rtmplite/http://www.freeswitch.org/ Python: Escalabilidad?Escalabilidad asegurada Python 2.6 requeridoNo requiere instalar (Elastix/Centos incluye Python 2.4) versiones conflictivas Transcodificacin Transcodificacin limitada (requiere py-audio)includa DTMF problemtico DTMF funcional Soporta video :)No soporta video :(Tuesday, November 8, 2011 14. Encarando la integracinFreeswitch es una alternativa lgica, madura yestable. mod_rtmp existe ahora y funciona bien.El mismo puede utilizarse para participar de laconferencia semanal de desarrolladoresFreeswitch desde un navegador web. http://conference.freeswitch.org/conf/Freeswitch habla SIP y puede transcodicar entreSpeex wideband (utilizado por rtmp) y codecsnarrowband como ulaw/alaw, utilizados porAsterisk.Tuesday, November 8, 2011 15. Encarando la integracin Asterisk y Freeswitch corriendo enun mismo servidor, es posible ? SI!A no preocuparse... para situaciones de altademanda es perfectamente factible correr FOP2/Freeswitch/RTMP en servidor aparte al Asterisk.Tuesday, November 8, 2011 16. Arquitectura FOP2 - RTMP *SIPRTMPUDP 5060TCP 1935 ServidorCliente/NavegadorProxy RTMP Asterisk Softphone Web Asterisk puro y duroMediador / ProxySoftphone WEB Dispositivos SIPLibfreeswitchJavascript Sesion RTMP = Registro SIP Adobe Flash Transcodicacin Speex Wideband - Codec Asterisk.Tuesday, November 8, 2011 17. FOP2: de consola a telfonoReconversin de la interfaz deusuario, hay que superar laconsola e incorporar lafuncionalidad de telfono.Agregado de Dialpad y DTMFAgregado de Acciones:Answer, Hold, RejectReubicacin de botones decontrol de llamados dentro delllamado activo.Tuesday, November 8, 2011 18. GUI: de consola a telfonoDialpad / DTMFMdulo de softphone Seleccin de entrada de audioTuesday, November 8, 2011 19. GUI: de consola a telfonoReubicacin de botonesde controlTuesday, November 8, 2011 20. SIP / RTMP ProxyMediar entre tecnologas/protocolos. SIP/RTMP/RTPTranscodicar entre Speex wideband y pcm-u/aMapear una sesin autenticada RTMP con unaregistracin SIP.Manejar transferencias y hold a nivel SIP(nociones no existentes en RTMP)Tuesday, November 8, 2011 21. SIP / RTMP ProxyUtilizar Freeswitch como librera con los mdulosestrictamente necesarios.La idea es hacerlo muy sencillo de instalar.Versin precompilada, empaquetado en RPM.Plugin en FOP2 que autocongura el proxy, nohay necesidad de manipular archivos deconguracin a mano.Tuesday, November 8, 2011 22. Administrador WebTuesday, November 8, 2011 23. Otras posibles aplicacionesy usos para el proxy rtmp/sipClick to call en pgina web.Sistema de conferencias hbrido, participantes100% web, participantes telefnicos, etc.Tuesday, November 8, 2011 24. Gracias!A Joo Mesquita por su colaboracin y profundoconocimiento de Freeswitch.A Palosanto por el reconocimiento y apoyo.A todo el equipo de Toga Soluciones IntegralesY a todos ustedes por seguir ah sentadosTuesday, November 8, 2011 25. Preguntas ? Nos vemos en: Nicols Gudioasternic@gmail.com http://www.fop2.comTuesday, November 8, 2011