SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
World Wide SIP
Iñaki Baz Castillo – XtraTelecom S.L.U.
José Luis Millán – XtraTelecom S.L.U.
World Wide SIP
WebRTC
Comunicación Multimedia en el Navegador
World Wide SIP
Estado del Arte
➔ Facebook & Skype
➔ Google Hangouts
World Wide SIP
Estado del Arte (II)
➔ Instalación
➔ Plugins
➔ Uso exclusivo en aplicaciones del proveedor
World Wide SIP
WebRTC
Aplicaciones
➔ Help Desk
➔ Venta online
➔ Atención de clientes online
➔ Asistencia remota
➔ Redes sociales
World Wide SIP
World Wide SIP
WebRTC
Arquitectura
World Wide SIP
WebRTC
Media
➔ Códecs
➔ Narrowband audio: G.711
➔ Wideband audio: Opus
➔ Vídeo: Debate entre VP8 y H.264 AVC
World Wide SIP
WebRTC
Media (II)
➔ SRTP (RTP Seguro)
➔ Utiliza criptografía de clave simétrica para ofrecer
confidencialidad e integridad
➔ DTLS
➔ Equivalente a TLS sobre TCP
➔ ...pero sobre UDP
➔ Utilizado para intercambiar las claves utilizadas en
SRTP
World Wide SIP
WebRTC
Establecimiento de Sesión Multimedia
➔ Solicitud de acceso a los dispositivos de
media a través del navegador
➔ Cámara
➔ Micrófono
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 entre
sus direcciones IP y las direcciones IP del nodo
remoto
➔ Flujo multimedia a través de servidor público
➔ TURN: Relay público de media
WebRTC
Establecimiento de Sesión Multimedia (II)
World Wide SIP
World Wide SIP
WebRTC
Señalización
➔ Modelo Offer-Answer SDP (RFC 3264)
➔ Le pido un SDP a mi navegador
➔ Y el stack WebRTC me lo entrega acorde a mi
solicitud, mis dispositivos y mis recursos
World Wide SIP
WebRTC
Señalización (II)
➔ ¿Cómo hago llegar la oferta SDP al interlocutor?
➔ WebRTC no define el mecanismo de intercambio de
SDP
➔ Estamos en un navegador, ¿opciones?
➔ Enviar el SDP en un HTTP POST (con AJAX)
➔ El interlocutor hace HTTP long polling al servidor web para consultar
nuevas invitaciones
➔ Usar Flash para entregar/recibir el SDP
➔ HTTP Comet (conexión TCP “persistente”...)
➔ WebSocket (más adelante...)
World Wide SIP
WebRTC
Estándares
➔ IETF RTCWeb WG
➔ Se encarga de la estandarización de la
comunicación multimedia entre navegadores
➔ W3C WebRTC WG
➔ Define un set de APIs ECMAScript para manejar
el stack WebRTC y controlar las sesiones
multimedia
World Wide SIP
WebRTC
Implementaciones
➔ Mozilla Firefox
➔ Google Chrome
➔ Safari
➔ IE
World Wide SIP
WebSocket
➔ WebSocket (RFC 6455)
➔ Transporte orientado a conexión sobre
TCP/TLS
➔ Comunicación bidireccional entre navegador
web y servidor web
➔ No más “HTTP long polling” o “Comet”
World Wide SIP
WebSocket como Transporte para SIP
➔ Nuevo transporte en la familia de transportes
SIP
➔ draft-ietf-sipcore-sip-websocket
The WebSocket Protocol as a Transport for SIP
This specification defines a new WebSocket sub-protocol
(as defined in section 1.9 in RFC6455) for transporting
SIP messages between a WebSocket client and server [...]
World Wide SIP
WebSocket como Transporte para SIP (II)
➔ Creo que lo he entendido...
¿Necesito un gateway para intercambiar
mensajes SIP entre mi teléfono y mi
navegador?
World Wide SIP
SIP y WebRTC
➔ Alternativa como mecanismo de señalización
en WebRTC
➔ Protocolo maduro y ampliamente
implementado
➔ Gracias a SIP sobre WebSocket es posible la
comunicación SIP entre navegadores así
como entre navegadores y dispositivos SIP
World Wide SIP
SIP y WebRTC (II)
➔ ¿Qué nos aporta?
Nos permite utilizar la infraestructura SIP
existente para dar cabida a los dispositivos
SIP del futuro: Los navegadores Web
World Wide SIP
SIP y WebRTC (III)
➔ ¿Implementan SIP los navegadores?
World Wide SIP
SIP y WebRTC (IV)
➔ Entonces...
¿Cómo puede un navegador utilizar SIP?
World Wide SIP
JsSIP
➔ Librería SIP en JavaScript para aplicaciones
web:
➔ http://www.jssip.net (próximamente)
World Wide SIP
JsSIP (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)
World Wide SIP
JsSIP (III)
➔ Maneja el stack WebRTC del navegador a
través del API WebRTC:
➔ Acceso a dispositivos multimedia
➔ Gestión de audio/vídeo
➔ Obtiene el SDP generado por el stack
WebRTC y se lo envía al remoto usando SIP
World Wide SIP
JsSIP (IV)
➔ ¿Es un softphone?
World Wide SIP
JsSIP
Funcionamiento
➔ 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...)
World Wide SIP
JsSIP
API
World Wide SIP
JsSIP
API (II)
World Wide SIP
JsSIP
API (III)
World Wide SIP
JsSIP
API (IV)
World Wide SIP
JsSIP
API (V)
World Wide SIP
Otras Implementaciones
➔ SIPML5
World Wide SIP
SIP sobre WebSocket
en el lado del Servidor
➔ ¿Por qué es necesario?
Los clientes SIP WebSocket se conectan al
servidor para envío y recepción de mensajes SIP
a través de la conexión WebSocket
➔ ¿Implica un nuevo nodo SIP?
No. Implica que los Proxies y resto de servidores
SIP implementen WebSocket como protocolo de
transporte, análogamente a UDP, TCP, SCTP, etc
World Wide SIP
OverSIP
➔ SIP Proxy con transporte WebSocket:
➔ http://oversip.net
➔ https://github.com/versatica/OverSIP
World Wide SIP
Otras Implementaciones
➔ Kamailio
➔ Asterisk
World Wide SIP
JsSIP + OverSIP
➔ Comunicación multimedia entre navegadores
utilizando SIP como protocolo de señalización
➔ Comunicación SIP entre navegadores y
dispositivos SIP convencionales
World Wide SIP
JsSIP + OverSIP
Aplicaciones
➔ 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
World Wide SIP
JsSIP + OverSIP
Aplicaciones (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 !!!
World Wide SIP
World Wide SIP
Arquitectura Demo
OverSIP SIP
oversip.net
Kamailio SIP proxy/registrar
jssip.net
JsSIP
sip:ibc@aliax.net
JsSIP
sip:jmillan@jssip.net
Kamailio SIP proxy/registrar
aliax.net
World Wide SIP
Convergencia entre WebRTC y SIP (actual)
➔ Señalización resuelta:
➔ draft-ietf-sipcore-sip-websocket
➔ Media NO resuelta:
➔ PBX, Media Servers y teléfonos SIP actuales
requieren adaptarse para soportar SRTP sobre
DTLS, ICE, RTP streams multiplexados, etc...
World Wide SIP
Next 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?
World Wide SIP
Next Step (II)

Más contenido relacionado

Similar a WebRTC SIP

Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisQuobis
 
V2 d2013 jose l millan e iñaki baz - webrtc
V2 d2013   jose l millan e iñaki baz  - webrtcV2 d2013   jose l millan e iñaki baz  - webrtc
V2 d2013 jose l millan e iñaki baz - webrtcVOIP2DAY
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduMicael Gallego
 
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTCIñaki Baz Castillo
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 Micael Gallego
 
Introducción a silverlight
Introducción a silverlightIntroducción a silverlight
Introducción a silverlightricardomeanaG9
 
Concepto de Streaming,webcasting,
Concepto de Streaming,webcasting,Concepto de Streaming,webcasting,
Concepto de Streaming,webcasting,picitapastor
 
Concepto de streaming
Concepto de streamingConcepto de streaming
Concepto de streamingpicitapastor
 
Concepto de streaming,webcasting y CMS
Concepto de streaming,webcasting y CMSConcepto de streaming,webcasting y CMS
Concepto de streaming,webcasting y CMSpicitapastor
 
2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdfCarlosDavidMontellan
 
Unidad 10: La capa de aplicación
Unidad 10: La capa de aplicaciónUnidad 10: La capa de aplicación
Unidad 10: La capa de aplicacióncarmenrico14
 
Seguridad en VoIP - Hackelarre
Seguridad en VoIP - HackelarreSeguridad en VoIP - Hackelarre
Seguridad en VoIP - HackelarrePablo Garaizar
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Creación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCreación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCarlos Gimeno Yáñez
 
Webcast hyperv trabajando con discos de red
Webcast   hyperv trabajando con discos de redWebcast   hyperv trabajando con discos de red
Webcast hyperv trabajando con discos de redITSanchez
 
Creando aplicaciones Media con Windows Azure Media Services
Creando aplicaciones Media con Windows Azure Media ServicesCreando aplicaciones Media con Windows Azure Media Services
Creando aplicaciones Media con Windows Azure Media ServicesEzequiel Jadib
 

Similar a WebRTC SIP (20)

Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
 
WebRTC Synopsis
WebRTC SynopsisWebRTC Synopsis
WebRTC Synopsis
 
V2 d2013 jose l millan e iñaki baz - webrtc
V2 d2013   jose l millan e iñaki baz  - webrtcV2 d2013   jose l millan e iñaki baz  - webrtc
V2 d2013 jose l millan e iñaki baz - webrtc
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
 
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018
 
Introducción a silverlight
Introducción a silverlightIntroducción a silverlight
Introducción a silverlight
 
Concepto de Streaming,webcasting,
Concepto de Streaming,webcasting,Concepto de Streaming,webcasting,
Concepto de Streaming,webcasting,
 
Concepto de streaming
Concepto de streamingConcepto de streaming
Concepto de streaming
 
Concepto de streaming,webcasting y CMS
Concepto de streaming,webcasting y CMSConcepto de streaming,webcasting y CMS
Concepto de streaming,webcasting y CMS
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
 
2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf
 
Unidad 10: La capa de aplicación
Unidad 10: La capa de aplicaciónUnidad 10: La capa de aplicación
Unidad 10: La capa de aplicación
 
Seguridad en VoIP - Hackelarre
Seguridad en VoIP - HackelarreSeguridad en VoIP - Hackelarre
Seguridad en VoIP - Hackelarre
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
ENSA_Module_8.pptx
ENSA_Module_8.pptxENSA_Module_8.pptx
ENSA_Module_8.pptx
 
Juegos html5
Juegos html5Juegos html5
Juegos html5
 
Creación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCreación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con Vagrant
 
Webcast hyperv trabajando con discos de red
Webcast   hyperv trabajando con discos de redWebcast   hyperv trabajando con discos de red
Webcast hyperv trabajando con discos de red
 
Creando aplicaciones Media con Windows Azure Media Services
Creando aplicaciones Media con Windows Azure Media ServicesCreando aplicaciones Media con Windows Azure Media Services
Creando aplicaciones Media con Windows Azure Media Services
 

Más de OpenDireito

Kubernetes: Más Allá de la Orquestación de Contenedores
Kubernetes: Más Allá de la Orquestación de ContenedoresKubernetes: Más Allá de la Orquestación de Contenedores
Kubernetes: Más Allá de la Orquestación de ContenedoresOpenDireito
 
Identificación y Clasificación de Algas con IA
 Identificación y Clasificación de Algas con IA Identificación y Clasificación de Algas con IA
Identificación y Clasificación de Algas con IAOpenDireito
 
PostCall: Encuestas telefónicas post llamada
PostCall: Encuestas telefónicas post llamadaPostCall: Encuestas telefónicas post llamada
PostCall: Encuestas telefónicas post llamadaOpenDireito
 
Monitorea y controla oxígeno disuelto
Monitorea y controla oxígeno disueltoMonitorea y controla oxígeno disuelto
Monitorea y controla oxígeno disueltoOpenDireito
 
Control de aireadores eléctricos con Yubox
Control de aireadores eléctricos con YuboxControl de aireadores eléctricos con Yubox
Control de aireadores eléctricos con YuboxOpenDireito
 
Todo lo que tienes que saber del API de WhatsApp Business
Todo lo que tienes que saber del API de WhatsApp BusinessTodo lo que tienes que saber del API de WhatsApp Business
Todo lo que tienes que saber del API de WhatsApp BusinessOpenDireito
 
Monitoreo de Tanques de Combustible en Tiempo Real con IoT
Monitoreo de Tanques de Combustible en Tiempo Real con IoTMonitoreo de Tanques de Combustible en Tiempo Real con IoT
Monitoreo de Tanques de Combustible en Tiempo Real con IoTOpenDireito
 
VoIP y la incapacidad auditiva
VoIP y la incapacidad auditivaVoIP y la incapacidad auditiva
VoIP y la incapacidad auditivaOpenDireito
 
Asterisk - el futuro es REST
Asterisk - el futuro es RESTAsterisk - el futuro es REST
Asterisk - el futuro es RESTOpenDireito
 
Diseña tu estrategia de certificación con credenciales digitales
Diseña tu estrategia de certificación con credenciales digitalesDiseña tu estrategia de certificación con credenciales digitales
Diseña tu estrategia de certificación con credenciales digitalesOpenDireito
 
Detección temprana de sigatoka en banano usando Inteligencia Artificial
Detección temprana de sigatoka en banano usando Inteligencia ArtificialDetección temprana de sigatoka en banano usando Inteligencia Artificial
Detección temprana de sigatoka en banano usando Inteligencia ArtificialOpenDireito
 
Construyendo un nuevo ecosistema para comunicaciones interoperables
Construyendo un nuevo ecosistema para comunicaciones interoperablesConstruyendo un nuevo ecosistema para comunicaciones interoperables
Construyendo un nuevo ecosistema para comunicaciones interoperablesOpenDireito
 
Integrando encuestas automáticas con IsurveyX
Integrando encuestas automáticas con IsurveyXIntegrando encuestas automáticas con IsurveyX
Integrando encuestas automáticas con IsurveyXOpenDireito
 
Elastix en hoteles, ¿Es posible?
Elastix en hoteles, ¿Es posible?Elastix en hoteles, ¿Es posible?
Elastix en hoteles, ¿Es posible?OpenDireito
 
Novedades de Elastix
Novedades de ElastixNovedades de Elastix
Novedades de ElastixOpenDireito
 
GUI o línea de comandos, puedes tener lo mejor de ambos mundos
GUI o línea de comandos, puedes tener lo mejor de ambos mundosGUI o línea de comandos, puedes tener lo mejor de ambos mundos
GUI o línea de comandos, puedes tener lo mejor de ambos mundosOpenDireito
 
SIP2012: Es hora de reiniciar la PBX!
SIP2012: Es hora de reiniciar la PBX!SIP2012: Es hora de reiniciar la PBX!
SIP2012: Es hora de reiniciar la PBX!OpenDireito
 
Hardware Digium y Elastix - una combinación perfecta
Hardware Digium y Elastix - una combinación perfectaHardware Digium y Elastix - una combinación perfecta
Hardware Digium y Elastix - una combinación perfectaOpenDireito
 
Caso de estudio: Instalando 64 E1 con Elastix
Caso de estudio: Instalando 64 E1 con ElastixCaso de estudio: Instalando 64 E1 con Elastix
Caso de estudio: Instalando 64 E1 con ElastixOpenDireito
 

Más de OpenDireito (20)

Kubernetes: Más Allá de la Orquestación de Contenedores
Kubernetes: Más Allá de la Orquestación de ContenedoresKubernetes: Más Allá de la Orquestación de Contenedores
Kubernetes: Más Allá de la Orquestación de Contenedores
 
Identificación y Clasificación de Algas con IA
 Identificación y Clasificación de Algas con IA Identificación y Clasificación de Algas con IA
Identificación y Clasificación de Algas con IA
 
PostCall: Encuestas telefónicas post llamada
PostCall: Encuestas telefónicas post llamadaPostCall: Encuestas telefónicas post llamada
PostCall: Encuestas telefónicas post llamada
 
Monitorea y controla oxígeno disuelto
Monitorea y controla oxígeno disueltoMonitorea y controla oxígeno disuelto
Monitorea y controla oxígeno disuelto
 
Control de aireadores eléctricos con Yubox
Control de aireadores eléctricos con YuboxControl de aireadores eléctricos con Yubox
Control de aireadores eléctricos con Yubox
 
Todo lo que tienes que saber del API de WhatsApp Business
Todo lo que tienes que saber del API de WhatsApp BusinessTodo lo que tienes que saber del API de WhatsApp Business
Todo lo que tienes que saber del API de WhatsApp Business
 
Monitoreo de Tanques de Combustible en Tiempo Real con IoT
Monitoreo de Tanques de Combustible en Tiempo Real con IoTMonitoreo de Tanques de Combustible en Tiempo Real con IoT
Monitoreo de Tanques de Combustible en Tiempo Real con IoT
 
VoIP y la incapacidad auditiva
VoIP y la incapacidad auditivaVoIP y la incapacidad auditiva
VoIP y la incapacidad auditiva
 
Asterisk - el futuro es REST
Asterisk - el futuro es RESTAsterisk - el futuro es REST
Asterisk - el futuro es REST
 
Diseña tu estrategia de certificación con credenciales digitales
Diseña tu estrategia de certificación con credenciales digitalesDiseña tu estrategia de certificación con credenciales digitales
Diseña tu estrategia de certificación con credenciales digitales
 
Detección temprana de sigatoka en banano usando Inteligencia Artificial
Detección temprana de sigatoka en banano usando Inteligencia ArtificialDetección temprana de sigatoka en banano usando Inteligencia Artificial
Detección temprana de sigatoka en banano usando Inteligencia Artificial
 
Construyendo un nuevo ecosistema para comunicaciones interoperables
Construyendo un nuevo ecosistema para comunicaciones interoperablesConstruyendo un nuevo ecosistema para comunicaciones interoperables
Construyendo un nuevo ecosistema para comunicaciones interoperables
 
Integrando encuestas automáticas con IsurveyX
Integrando encuestas automáticas con IsurveyXIntegrando encuestas automáticas con IsurveyX
Integrando encuestas automáticas con IsurveyX
 
Asterisk Update
Asterisk UpdateAsterisk Update
Asterisk Update
 
Elastix en hoteles, ¿Es posible?
Elastix en hoteles, ¿Es posible?Elastix en hoteles, ¿Es posible?
Elastix en hoteles, ¿Es posible?
 
Novedades de Elastix
Novedades de ElastixNovedades de Elastix
Novedades de Elastix
 
GUI o línea de comandos, puedes tener lo mejor de ambos mundos
GUI o línea de comandos, puedes tener lo mejor de ambos mundosGUI o línea de comandos, puedes tener lo mejor de ambos mundos
GUI o línea de comandos, puedes tener lo mejor de ambos mundos
 
SIP2012: Es hora de reiniciar la PBX!
SIP2012: Es hora de reiniciar la PBX!SIP2012: Es hora de reiniciar la PBX!
SIP2012: Es hora de reiniciar la PBX!
 
Hardware Digium y Elastix - una combinación perfecta
Hardware Digium y Elastix - una combinación perfectaHardware Digium y Elastix - una combinación perfecta
Hardware Digium y Elastix - una combinación perfecta
 
Caso de estudio: Instalando 64 E1 con Elastix
Caso de estudio: Instalando 64 E1 con ElastixCaso de estudio: Instalando 64 E1 con Elastix
Caso de estudio: Instalando 64 E1 con Elastix
 

Último

Análisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docxAnálisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docxmajovaru19
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalEmanuelCastro64
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxhellendiaz12
 
La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2SariGarcs
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6SaraMineiropalacio
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docx.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docxCamila Ortiz
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPOLA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPOv16959670
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888ElianaValencia28
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfJoseAlejandroPerezBa
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskbydaniela5
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 

Último (20)

Análisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docxAnálisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docx
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamental
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
 
La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docx.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPOLA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 

WebRTC SIP

  • 1. World Wide SIP Iñaki Baz Castillo – XtraTelecom S.L.U. José Luis Millán – XtraTelecom S.L.U.
  • 2. World Wide SIP WebRTC Comunicación Multimedia en el Navegador
  • 3. World Wide SIP Estado del Arte ➔ Facebook & Skype ➔ Google Hangouts
  • 4. World Wide SIP Estado del Arte (II) ➔ Instalación ➔ Plugins ➔ Uso exclusivo en aplicaciones del proveedor
  • 5. World Wide SIP WebRTC Aplicaciones ➔ Help Desk ➔ Venta online ➔ Atención de clientes online ➔ Asistencia remota ➔ Redes sociales
  • 8. World Wide SIP WebRTC Media ➔ Códecs ➔ Narrowband audio: G.711 ➔ Wideband audio: Opus ➔ Vídeo: Debate entre VP8 y H.264 AVC
  • 9. World Wide SIP WebRTC Media (II) ➔ SRTP (RTP Seguro) ➔ Utiliza criptografía de clave simétrica para ofrecer confidencialidad e integridad ➔ DTLS ➔ Equivalente a TLS sobre TCP ➔ ...pero sobre UDP ➔ Utilizado para intercambiar las claves utilizadas en SRTP
  • 10. World Wide SIP WebRTC Establecimiento de Sesión Multimedia ➔ Solicitud de acceso a los dispositivos de media 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 entre sus direcciones IP y las direcciones IP del nodo remoto ➔ Flujo multimedia a través de servidor público ➔ TURN: Relay público de media WebRTC Establecimiento de Sesión Multimedia (II)
  • 13. World Wide SIP WebRTC Señalización ➔ Modelo Offer-Answer SDP (RFC 3264) ➔ Le pido un SDP a mi navegador ➔ Y el stack WebRTC me lo entrega acorde a mi solicitud, mis dispositivos y mis recursos
  • 14. World Wide SIP WebRTC Señalización (II) ➔ ¿Cómo hago llegar la oferta SDP al interlocutor? ➔ WebRTC no define el mecanismo de intercambio de SDP ➔ Estamos en un navegador, ¿opciones? ➔ Enviar el SDP en un HTTP POST (con AJAX) ➔ El interlocutor hace HTTP long polling al servidor web para consultar nuevas invitaciones ➔ Usar Flash para entregar/recibir el SDP ➔ HTTP Comet (conexión TCP “persistente”...) ➔ WebSocket (más adelante...)
  • 15. World Wide SIP WebRTC Estándares ➔ IETF RTCWeb WG ➔ Se encarga de la estandarización de la comunicación multimedia entre navegadores ➔ W3C WebRTC WG ➔ Define un set de APIs ECMAScript para manejar el stack WebRTC y controlar las sesiones multimedia
  • 16. World Wide SIP WebRTC Implementaciones ➔ Mozilla Firefox ➔ Google Chrome ➔ Safari ➔ IE
  • 17. World Wide SIP WebSocket ➔ WebSocket (RFC 6455) ➔ Transporte orientado a conexión sobre TCP/TLS ➔ Comunicación bidireccional entre navegador web y servidor web ➔ No más “HTTP long polling” o “Comet”
  • 18. World Wide SIP WebSocket como Transporte para SIP ➔ Nuevo transporte en la familia de transportes SIP ➔ draft-ietf-sipcore-sip-websocket The WebSocket Protocol as a Transport for SIP This specification defines a new WebSocket sub-protocol (as defined in section 1.9 in RFC6455) for transporting SIP messages between a WebSocket client and server [...]
  • 19. World Wide SIP WebSocket como Transporte para SIP (II) ➔ Creo que lo he entendido... ¿Necesito un gateway para intercambiar mensajes SIP entre mi teléfono y mi navegador?
  • 20. World Wide SIP SIP y WebRTC ➔ Alternativa como mecanismo de señalización en WebRTC ➔ Protocolo maduro y ampliamente implementado ➔ Gracias a SIP sobre WebSocket es posible la comunicación SIP entre navegadores así como entre navegadores y dispositivos SIP
  • 21. World Wide SIP SIP y WebRTC (II) ➔ ¿Qué nos aporta? Nos permite utilizar la infraestructura SIP existente para dar cabida a los dispositivos SIP del futuro: Los navegadores Web
  • 22. World Wide SIP SIP y WebRTC (III) ➔ ¿Implementan SIP los navegadores?
  • 23. World Wide SIP SIP y WebRTC (IV) ➔ Entonces... ¿Cómo puede un navegador utilizar SIP?
  • 24. World Wide SIP JsSIP ➔ Librería SIP en JavaScript para aplicaciones web: ➔ http://www.jssip.net (próximamente)
  • 25. World Wide SIP JsSIP (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 SIP JsSIP (III) ➔ Maneja el stack WebRTC del navegador a través del API WebRTC: ➔ Acceso a dispositivos multimedia ➔ Gestión de audio/vídeo ➔ Obtiene el SDP generado por el stack WebRTC y se lo envía al remoto usando SIP
  • 27. World Wide SIP JsSIP (IV) ➔ ¿Es un softphone?
  • 28. World Wide SIP JsSIP Funcionamiento ➔ 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...)
  • 34. World Wide SIP Otras Implementaciones ➔ SIPML5
  • 35. World Wide SIP SIP sobre WebSocket en el lado del Servidor ➔ ¿Por qué es necesario? Los clientes SIP WebSocket se conectan al servidor para envío y recepción de mensajes SIP a través de la conexión WebSocket ➔ ¿Implica un nuevo nodo SIP? No. Implica que los Proxies y resto de servidores SIP implementen WebSocket como protocolo de transporte, análogamente a UDP, TCP, SCTP, etc
  • 36. World Wide SIP OverSIP ➔ SIP Proxy con transporte WebSocket: ➔ http://oversip.net ➔ https://github.com/versatica/OverSIP
  • 37. World Wide SIP Otras Implementaciones ➔ Kamailio ➔ Asterisk
  • 38. World Wide SIP JsSIP + OverSIP ➔ Comunicación multimedia entre navegadores utilizando SIP como protocolo de señalización ➔ Comunicación SIP entre navegadores y dispositivos SIP convencionales
  • 39. World Wide SIP JsSIP + OverSIP Aplicaciones ➔ 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 SIP JsSIP + OverSIP Aplicaciones (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 !!!
  • 42. World Wide SIP Arquitectura Demo OverSIP SIP oversip.net Kamailio SIP proxy/registrar jssip.net JsSIP sip:ibc@aliax.net JsSIP sip:jmillan@jssip.net Kamailio SIP proxy/registrar aliax.net
  • 43. World Wide SIP Convergencia entre WebRTC y SIP (actual) ➔ Señalización resuelta: ➔ draft-ietf-sipcore-sip-websocket ➔ Media NO resuelta: ➔ PBX, Media Servers y teléfonos SIP actuales requieren adaptarse para soportar SRTP sobre DTLS, ICE, RTP streams multiplexados, etc...
  • 44. World Wide SIP Next 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 SIP Next Step (II)