[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC

441 views

Published on

My talk about SIP and WebRTC in ElastixWorld 2013 Mexico.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC

  1. 1. Iñaki Baz Castillo
  2. 2. ¿ Qué es WebRTC ? ● Comunicación en tiempo real para la Web ● WebRTC Media – ● Características del media transmitido WebRTC API – API JavaScript para browsers
  3. 3. WebRTC Media ● Características y requerimientos del media transmitido – RTP audio/vídeo – DataChannel (new) ● ● Envío y recepción de datos custom en tiempo real Codecs MTI (Must To Implement) – Audio: Opus, Alaw, Ulaw – Vídeo: VP8, H.264 (no decidido)
  4. 4. WebRTC Media ● Establecimiento de media – – ● Ambos peers encuentran el camino más rápido para transmitir media de uno a otro ICE / STUN / TURN Seguridad – RTP audio/vídeo encriptado con DTLS-SRTP – DataChannel encriptado con DTLS (SCTP sobre DTLS sobre UDP) – Media Consent (ICE garantiza que transmitimos media al destino correcto)
  5. 5. WebRTC Media ● ¿Quién debe/puede implementar todos estos requisitos? – Desktop Browsers (Chrome, Firefox, Internet Explorer, Opera...) ● ¿ Smartphone Browsers ? mmm... – – ● Apps en smartphones y tablets Servidores (Asterisk, FreeSwitch, Google Hangouts...) Interoperabilidad a nivel de media entre distintos dispositivos – NOTA: Nadie ha hablado aún de señalización
  6. 6. WebRTC API ● API JavaScript para browsers – getUserMedia(): solicitar permisos de micrófono y/o webcam – RTCPeerConnection: Clase JavaScript para iniciar una sesión WebRTC con otro peer ● Envío y recepción de múltiples MediaStream de audio/vídeo ● DataChannel para envío y recepción de datos custom
  7. 7. WebRTC API ● SDP Offer/Answer – API WebRTC para solicitar un SDP a nuestro browser ● – Recibimos el SDP del peer remoto ● ● Y se lo enviamos al peer remoto Y lo usamos a través del API WebRTC ¿Cómo transmitimos y recibimos el SDP? – WebSocket ● SIP over WebSocket ● XMPP/Jingle over WebSocket ● Lo-que-sea over WebSocket – HTTP AJAX (para no recargar la página) – WebRTC no impone el tipo de de señalización en red
  8. 8. WebRTC F.A.Q.
  9. 9. Casos de Uso WebRTC ● Póker online – ● ChatRoulette – ● ¿Sólo Web? Puesto de callcenter – ● Enseñemos nuestras partes íntimas, ¡pero sin Flash! Un nuevo “Skype” – ● Nadie “llama” a nadie ¡Addon para Elastix! Telefonía doméstica – mmm...
  10. 10. Casos de Uso WebRTC ● Hacer feliz a tu abuela ¡¡¡ DEMO !!!
  11. 11. RetroRTC
  12. 12. Arquitectura RetroRTC SIP over WebSocket SIP over UDP/TCP ICE RTP PSTN
  13. 13. Proyectos Relacionados ● http://jssip.net ● http://oversip.net
  14. 14. Muchas Gracias ● A los asistentes ● A los organizadores del ElastixWorld – ● (por crear el mejor evento de VoIP del mundo) A todos los que lo hacen posible @ibc_tw

×