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,webcasting y CMS
Concepto de streaming,webcasting y CMSConcepto de streaming,webcasting y CMS
Concepto de streaming,webcasting y CMSpicitapastor
 
Concepto de streaming
Concepto de streamingConcepto de streaming
Concepto de streamingpicitapastor
 
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,webcasting y CMS
Concepto de streaming,webcasting y CMSConcepto de streaming,webcasting y CMS
Concepto de streaming,webcasting y CMS
 
Concepto de streaming
Concepto de streamingConcepto de streaming
Concepto de streaming
 
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

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

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)