SlideShare una empresa de Scribd logo
World Wide SIP



          Iñaki Baz Castillo – XtraTelecom S.L.U.
           José Luis Millán – XtraTelecom S.L.U.
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
WebRTC
Establecimiento de Sesión Multimedia (II)

➔   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



                         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

Kamailio SIP proxy/registrar      Kamailio SIP proxy/registrar
         aliax.net                         jssip.net



                          OverSIP SIP
                          oversip.net




           JsSIP                                 JsSIP
     sip:ibc@aliax.net                  sip:jmillan@jssip.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)




  World Wide SIP

Más contenido relacionado

PPTX
Enable DPDK and SR-IOV for containerized virtual network functions with zun
PPTX
A simple introduction to redis
PDF
BGP Advance Technique by Steven & James
PDF
ICE: The ultimate way of beating NAT in SIP
PDF
TechWiseTV Workshop: Software-Defined Access
PPTX
RYU Introduction
PDF
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
PPTX
Understanding iptables
Enable DPDK and SR-IOV for containerized virtual network functions with zun
A simple introduction to redis
BGP Advance Technique by Steven & James
ICE: The ultimate way of beating NAT in SIP
TechWiseTV Workshop: Software-Defined Access
RYU Introduction
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Understanding iptables

La actualidad más candente (20)

PDF
Linux Networking Explained
PDF
Understanding Open vSwitch
PDF
DPDK in Containers Hands-on Lab
PDF
BWE in Janus
PDF
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
PDF
VMware NSX and Arista L2 Hardware VTEP Gateway Integration
PDF
Routed networks sydney
PPSX
FD.IO Vector Packet Processing
PPTX
Kolla talk at OpenStack Summit 2017 in Sydney
PDF
DevOps Meetup ansible
PDF
SIPREC RTPEngine Media Forking
PDF
Kernel Recipes 2019 - Faster IO through io_uring
PPT
Mitigating Layer2 Attacks
PDF
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
PDF
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
PDF
Linux Servers
PPT
Linux networking
PDF
오픈소스로 구축하는 클라우드 이야기
PDF
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Linux Networking Explained
Understanding Open vSwitch
DPDK in Containers Hands-on Lab
BWE in Janus
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
VMware NSX and Arista L2 Hardware VTEP Gateway Integration
Routed networks sydney
FD.IO Vector Packet Processing
Kolla talk at OpenStack Summit 2017 in Sydney
DevOps Meetup ansible
SIPREC RTPEngine Media Forking
Kernel Recipes 2019 - Faster IO through io_uring
Mitigating Layer2 Attacks
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Linux Servers
Linux networking
오픈소스로 구축하는 클라우드 이야기
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Publicidad

Similar a JsSIP: SIP + WebRTC (20)

PDF
JsSIP: SIP + WebRTC (el futuro está aquí)
PDF
voip2day 2012 - Js sip sip + webrtc (el futuro ya esta aqui) by iniaki baz y ...
ODP
World Wide SIP
ODP
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
PPT
SIPML5toElastix
PPT
Sipml5 to Elastix
PDF
Webinar WebRTC y HTML5 (spanish) - Quobis
ODP
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
ODP
Si sólo ves un webphone no entiendes WebRTC
PDF
V2 d2013 jose l millan e iñaki baz - webrtc
PPT
WebRTC Synopsis
PDF
WebRTC en tu web con OpenVidu
ODP
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
ODP
Seguridad en VoIP - Hackelarre
PDF
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
PPTX
Introducción a silverlight
ODP
Seguridad en VoIP
PDF
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
ODP
Soluciones SIP Carrier Class con OpenSIPS
PDF
2. Revision de Tecnologias Web.pdf
JsSIP: SIP + WebRTC (el futuro está aquí)
voip2day 2012 - Js sip sip + webrtc (el futuro ya esta aqui) by iniaki baz y ...
World Wide SIP
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
SIPML5toElastix
Sipml5 to Elastix
Webinar WebRTC y HTML5 (spanish) - Quobis
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
Si sólo ves un webphone no entiendes WebRTC
V2 d2013 jose l millan e iñaki baz - webrtc
WebRTC Synopsis
WebRTC en tu web con OpenVidu
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
Seguridad en VoIP - Hackelarre
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Introducción a silverlight
Seguridad en VoIP
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Soluciones SIP Carrier Class con OpenSIPS
2. Revision de Tecnologias Web.pdf
Publicidad

Más de PaloSanto Solutions (20)

PPTX
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
PDF
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
PDF
Innovative technology for universal communication designed to involve the (he...
PPTX
Queuemetrics esencial, de la implementación a reportes avanzadas
PDF
La evolución de la telefonía IP a comunicaciones unificadas
PDF
WebRTC … ¡vamos a discar!
PDF
Integrando encuestas automáticas con iSurveyX
PDF
Usando el módulo PIKE en Elastix MT
PPTX
Todo lo lo que necesita saber para implementar FreePBX
PPTX
Gestión de la Información de Desempeño con OpenNMS
PDF
Escalado y balanceo de carga de sistemas SIP
PDF
Elastix unified communications server cookbook
PDF
Seguridad en Asterisk: Un acercamiento detallado
PDF
Dynamic calls with Text To Speech
PDF
Proceso de migración de telefonía tradicional a Elastix (Caso)
PPTX
Building a new ecosystem for interoperable communications
PDF
Asterisk: the future is at REST
PDF
Presentacion Hardware Elastix 2015 - Colombia
PDF
Voicemail Avanzado
PDF
Módulo de Alta Disponibilidad de Elastix
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Innovative technology for universal communication designed to involve the (he...
Queuemetrics esencial, de la implementación a reportes avanzadas
La evolución de la telefonía IP a comunicaciones unificadas
WebRTC … ¡vamos a discar!
Integrando encuestas automáticas con iSurveyX
Usando el módulo PIKE en Elastix MT
Todo lo lo que necesita saber para implementar FreePBX
Gestión de la Información de Desempeño con OpenNMS
Escalado y balanceo de carga de sistemas SIP
Elastix unified communications server cookbook
Seguridad en Asterisk: Un acercamiento detallado
Dynamic calls with Text To Speech
Proceso de migración de telefonía tradicional a Elastix (Caso)
Building a new ecosystem for interoperable communications
Asterisk: the future is at REST
Presentacion Hardware Elastix 2015 - Colombia
Voicemail Avanzado
Módulo de Alta Disponibilidad de Elastix

Último (20)

PPTX
Presentación de Redes de Datos modelo osi
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
SAP Transportation Management para LSP, TM140 Col18
Presentación de Redes de Datos modelo osi
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Propuesta BKP servidores con Acronis1.pptx
historia_web de la creacion de un navegador_presentacion.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
introduccion a las_web en el 2025_mejoras.ppt
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Influencia-del-uso-de-redes-sociales.pdf
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Presentación PASANTIAS AuditorioOO..pptx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
CyberOps Associate - Cisco Networking Academy
Maste clas de estructura metálica y arquitectura
Power Point Nicolás Carrasco (disertación Roblox).pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
SAP Transportation Management para LSP, TM140 Col18

JsSIP: SIP + WebRTC

  • 1. World Wide SIP Iñaki Baz Castillo – XtraTelecom S.L.U. José Luis Millán – XtraTelecom S.L.U.
  • 2. WebRTC Comunicación Multimedia en el Navegador World Wide SIP
  • 3. Estado del Arte ➔ Facebook & Skype ➔ Google Hangouts World Wide SIP
  • 4. Estado del Arte (II) ➔ Instalación ➔ Plugins ➔ Uso exclusivo en aplicaciones del proveedor World Wide SIP
  • 5. WebRTC Aplicaciones ➔ Help Desk ➔ Venta online ➔ Atención de clientes online ➔ Asistencia remota ➔ Redes sociales World Wide SIP
  • 8. WebRTC Media ➔ Códecs ➔ Narrowband audio: G.711 ➔ Wideband audio: Opus ➔ Vídeo: Debate entre VP8 y H.264 AVC World Wide SIP
  • 9. 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
  • 10. 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
  • 11. WebRTC Establecimiento de Sesión Multimedia (II) ➔ 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 World Wide SIP
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. WebRTC Implementaciones ➔ Mozilla Firefox ➔ Google Chrome ➔ Safari ➔ IE World Wide SIP
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. SIP y WebRTC (III) ➔ ¿Implementan SIP los navegadores? World Wide SIP
  • 23. SIP y WebRTC (IV) ➔ Entonces... ¿Cómo puede un navegador utilizar SIP? World Wide SIP
  • 24. JsSIP ➔ Librería SIP en JavaScript para aplicaciones web: ➔ http://www.jssip.net (próximamente) World Wide SIP
  • 25. 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
  • 26. 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
  • 27. JsSIP (IV) ➔ ¿Es un softphone? World Wide SIP
  • 28. 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
  • 29. JsSIP API World Wide SIP
  • 34. Otras Implementaciones ➔ SIPML5 World Wide SIP
  • 35. 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
  • 36. OverSIP ➔ SIP Proxy con transporte WebSocket: ➔ http://oversip.net ➔ https://github.com/versatica/OverSIP World Wide SIP
  • 37. Otras Implementaciones ➔ Kamailio ➔ Asterisk World Wide SIP
  • 38. 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
  • 39. 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
  • 40. 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
  • 42. Arquitectura Demo Kamailio SIP proxy/registrar Kamailio SIP proxy/registrar aliax.net jssip.net OverSIP SIP oversip.net JsSIP JsSIP sip:ibc@aliax.net sip:jmillan@jssip.net World Wide SIP
  • 43. 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
  • 44. 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
  • 45. Next Step (II) World Wide SIP