Your SlideShare is downloading. ×
  • Like
  • Save
voip2day 2012 - Js sip sip + webrtc (el futuro ya esta aqui) by iniaki baz y jose luis mil…
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

voip2day 2012 - Js sip sip + webrtc (el futuro ya esta aqui) by iniaki baz y jose luis mil…

  • 73 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
73
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. World Wide SIPIñaki Baz Castillo – XtraTelecom S.L.U.José Luis Millán – XtraTelecom S.L.U.
  • 2. World Wide SIPWebRTCComunicación Multimedia en el Navegador
  • 3. World Wide SIPEstado del Arte➔ Facebook & Skype➔ Google Hangouts
  • 4. World Wide SIPEstado del Arte (II)➔ Instalación➔ Plugins➔ Uso exclusivo en aplicaciones del proveedor
  • 5. World Wide SIPWebRTCAplicaciones➔ Help Desk➔ Venta online➔ Atención de clientes online➔ Asistencia remota➔ Redes sociales
  • 6. World Wide SIP
  • 7. World Wide SIPWebRTCArquitectura
  • 8. World Wide SIPWebRTCMedia➔ Códecs➔ Narrowband audio: G.711➔ Wideband audio: Opus➔ Vídeo: Debate entre VP8 y H.264 AVC
  • 9. World Wide SIPWebRTCMedia (II)➔ SRTP (RTP Seguro)➔ Utiliza criptografía de clave simétrica para ofrecerconfidencialidad e integridad➔ DTLS➔ Equivalente a TLS sobre TCP➔ ...pero sobre UDP➔ Utilizado para intercambiar las claves utilizadas enSRTP
  • 10. World Wide SIPWebRTCEstablecimiento de Sesión Multimedia➔ Solicitud de acceso a los dispositivos demedia a través del navegador➔ Cámara➔ Micrófono
  • 11. World Wide SIP➔ Descubrimiento de dirección/es IP➔ STUN: Descubrimiento de dirección IP➔ Flujo multimedia directo entre terminaciones➔ ICE: Comprueba la comunicación directa entresus direcciones IP y las direcciones IP del nodoremoto➔ Flujo multimedia a través de servidor público➔ TURN: Relay público de mediaWebRTCEstablecimiento de Sesión Multimedia (II)
  • 12. World Wide SIP
  • 13. World Wide SIPWebRTCSeñalización➔ Modelo Offer-Answer SDP (RFC 3264)➔ Le pido un SDP a mi navegador➔ Y el stack WebRTC me lo entrega acorde a misolicitud, mis dispositivos y mis recursos
  • 14. World Wide SIPWebRTCSeñalización (II)➔ ¿Cómo hago llegar la oferta SDP al interlocutor?➔ WebRTC no define el mecanismo de intercambio deSDP➔ Estamos en un navegador, ¿opciones?➔ Enviar el SDP en un HTTP POST (con AJAX)➔ El interlocutor hace HTTP long polling al servidor web para consultarnuevas invitaciones➔ Usar Flash para entregar/recibir el SDP➔ HTTP Comet (conexión TCP “persistente”...)➔ WebSocket (más adelante...)
  • 15. World Wide SIPWebRTCEstándares➔ IETF RTCWeb WG➔ Se encarga de la estandarización de lacomunicación multimedia entre navegadores➔ W3C WebRTC WG➔ Define un set de APIs ECMAScript para manejarel stack WebRTC y controlar las sesionesmultimedia
  • 16. World Wide SIPWebRTCImplementaciones➔ Mozilla Firefox➔ Google Chrome➔ Safari➔ IE
  • 17. World Wide SIPWebSocket➔ WebSocket (RFC 6455)➔ Transporte orientado a conexión sobreTCP/TLS➔ Comunicación bidireccional entre navegadorweb y servidor web➔ No más “HTTP long polling” o “Comet”
  • 18. World Wide SIPWebSocket como Transporte para SIP➔ Nuevo transporte en la familia de transportesSIP➔ draft-ietf-sipcore-sip-websocketThe WebSocket Protocol as a Transport for SIPThis specification defines a new WebSocket sub-protocol(as defined in section 1.9 in RFC6455) for transportingSIP messages between a WebSocket client and server [...]
  • 19. World Wide SIPWebSocket como Transporte para SIP (II)➔ Creo que lo he entendido...¿Necesito un gateway para intercambiarmensajes SIP entre mi teléfono y minavegador?
  • 20. World Wide SIPSIP y WebRTC➔ Alternativa como mecanismo de señalizaciónen WebRTC➔ Protocolo maduro y ampliamenteimplementado➔ Gracias a SIP sobre WebSocket es posible lacomunicación SIP entre navegadores asícomo entre navegadores y dispositivos SIP
  • 21. World Wide SIPSIP y WebRTC (II)➔ ¿Qué nos aporta?Nos permite utilizar la infraestructura SIPexistente para dar cabida a los dispositivosSIP del futuro: Los navegadores Web
  • 22. World Wide SIPSIP y WebRTC (III)➔ ¿Implementan SIP los navegadores?
  • 23. World Wide SIPSIP y WebRTC (IV)➔ Entonces...¿Cómo puede un navegador utilizar SIP?
  • 24. World Wide SIPJsSIP➔ Librería SIP en JavaScript para aplicacionesweb:➔ http://www.jssip.net (próximamente)
  • 25. World Wide SIPJsSIP (II)➔ JsSIP se descarga junto a la página web➔ Análogo a como se hace con jQuery➔ API para crear clientes SIP (User Agents)➔ Funcionalidades:➔ Llamadas de audio/vídeo➔ Registro SIP➔ Mensajería SIP➔ Subscripciones (BLF)
  • 26. World Wide SIPJsSIP (III)➔ Maneja el stack WebRTC del navegador através del API WebRTC:➔ Acceso a dispositivos multimedia➔ Gestión de audio/vídeo➔ Obtiene el SDP generado por el stackWebRTC y se lo envía al remoto usando SIP
  • 27. World Wide SIPJsSIP (IV)➔ ¿Es un softphone?
  • 28. World Wide SIPJsSIPFuncionamiento➔ Configuración➔ Conexión WS➔ Registro SIP➔ Recepción de mensajes SIP➔ Parseo, transacciones, diálogos, sesiones...➔ Diseño basado en callbacks (eventos)➔ Acciones (iniciar llamada, mensajería...)
  • 29. World Wide SIPJsSIPAPI
  • 30. World Wide SIPJsSIPAPI (II)
  • 31. World Wide SIPJsSIPAPI (III)
  • 32. World Wide SIPJsSIPAPI (IV)
  • 33. World Wide SIPJsSIPAPI (V)
  • 34. World Wide SIPOtras Implementaciones➔ SIPML5
  • 35. World Wide SIPSIP sobre WebSocketen el lado del Servidor➔ ¿Por qué es necesario?Los clientes SIP WebSocket se conectan alservidor para envío y recepción de mensajes SIPa través de la conexión WebSocket➔ ¿Implica un nuevo nodo SIP?No. Implica que los Proxies y resto de servidoresSIP implementen WebSocket como protocolo detransporte, análogamente a UDP, TCP, SCTP, etc
  • 36. World Wide SIPOverSIP➔ SIP Proxy con transporte WebSocket:➔ http://oversip.net➔ https://github.com/versatica/OverSIP
  • 37. World Wide SIPOtras Implementaciones➔ Kamailio➔ Asterisk
  • 38. World Wide SIPJsSIP + OverSIP➔ Comunicación multimedia entre navegadoresutilizando SIP como protocolo de señalización➔ Comunicación SIP entre navegadores ydispositivos SIP convencionales
  • 39. World Wide SIPJsSIP + OverSIPAplicaciones➔ Telefonía SIP en *TU* web:➔ Dispositivo SIP en el navegador➔ Comunicación entre los usuarios de tu web➔ Atención de llamadas en tu web➔ Telefonía en tu intranet➔ Convergencia de CRM/ERP y telefonía
  • 40. World Wide SIPJsSIP + OverSIPAplicaciones (II)➔ Dispositivo SIP en el navegador:➔ Actualización de versiones centralizada➔ ¡¡¡ Pulsa F5 !!!➔ Configuración centralizada➔ Más espacio en la mesa de escritorio➔ Liberación de toma eléctrica➔ Liberación de puerto Switch (+ PoE)➔ ¿Gestionar 200 licencias de EyeBeam?➔ ¡¡¡ Nooo !!!
  • 41. World Wide SIP
  • 42. World Wide SIPArquitectura DemoOverSIP SIPoversip.netKamailio SIP proxy/registrarjssip.netJsSIPsip:ibc@aliax.netJsSIPsip:jmillan@jssip.netKamailio SIP proxy/registraraliax.net
  • 43. World Wide SIPConvergencia entre WebRTC y SIP (actual)➔ Señalización resuelta:➔ draft-ietf-sipcore-sip-websocket➔ Media NO resuelta:➔ PBX, Media Servers y teléfonos SIP actualesrequieren adaptarse para soportar SRTP sobreDTLS, ICE, RTP streams multiplexados, etc...
  • 44. World Wide SIPNext Step➔ 2011:➔ Señalización SIP resuelta:➔ SIP sobre WebSokcet (JsSIP + OverSIP)➔ 2012:➔ Audio/vídeo entre navegadores WebRTC➔ 2013:➔ ¿Convergencia SIP y WebRTC en el media?
  • 45. World Wide SIPNext Step (II)