La llegada de WebRTC abre las puertas a infinidad de nuevas aplicaciones de comunicación en tiempo real para la Web. Sin embargo, hay quien sólo concibe WebRTC como una nuevo interfaz para desplegar un teléfono VoIP de forma barata y sin instalación en un navegador (sí, el soñado "webphone").
Olvidemos por un momento las PBXs, los callcenters, el SIP trunking, las extensiones numéricas, el dialplan, todo lo que conocemos; sólo así podremos imaginar y descubrir el potencial de WebRTC desde una perspectiva no tan conocida para nosotros como es la del mundo Web. Si no lo descubres tú, lo harán otros y triunfarán.
¿Estás preparado para WebRTC? ¿o sólo ves un teléfono gratuito empotrado en el navegador Web?
Conferencista: Iñaki Baz Castillo
2. ¿ Qué es WebRTC ?
●
Comunicación en tiempo real para la Web
●
WebRTC Media
–
●
Características del media transmitido
WebRTC API
–
API JavaScript para browsers
3. WebRTC Media
●
Características y requerimientos del media transmitido
–
RTP audio/vídeo
–
DataChannel (new)
●
●
Envío y recepción de datos custom en tiempo real
Codecs MTI (Must To Implement)
–
Audio: Opus, Alaw, Ulaw
–
Vídeo: VP8, H.264 (no decidido)
4. WebRTC Media
●
Establecimiento de media
–
–
●
Ambos peers encuentran el camino más rápido para transmitir media
de uno a otro
ICE / STUN / TURN
Seguridad
–
RTP audio/vídeo encriptado con DTLS-SRTP
–
DataChannel encriptado con DTLS (SCTP sobre DTLS sobre UDP)
–
Media Consent (ICE garantiza que transmitimos media al destino
correcto)
5. WebRTC Media
●
¿Quién debe/puede implementar todos estos requisitos?
–
Desktop Browsers (Chrome, Firefox, Internet Explorer, Opera...)
●
¿ Smartphone Browsers ? mmm...
–
–
●
Apps en smartphones y tablets
Servidores (Asterisk, FreeSwitch, Google Hangouts...)
Interoperabilidad a nivel de media entre distintos dispositivos
–
NOTA: Nadie ha hablado aún de señalización
6. WebRTC API
●
API JavaScript para browsers
–
getUserMedia(): solicitar permisos de micrófono y/o webcam
–
RTCPeerConnection: Clase JavaScript para iniciar una sesión
WebRTC con otro peer
●
Envío y recepción de múltiples MediaStream de audio/vídeo
●
DataChannel para envío y recepción de datos custom
7. WebRTC API
●
SDP Offer/Answer
–
API WebRTC para solicitar un SDP a nuestro browser
●
–
Recibimos el SDP del peer remoto
●
●
Y se lo enviamos al peer remoto
Y lo usamos a través del API WebRTC
¿Cómo transmitimos y recibimos el SDP?
–
WebSocket
●
SIP over WebSocket
●
XMPP/Jingle over WebSocket
●
Lo-que-sea over WebSocket
–
HTTP AJAX (para no recargar la página)
–
WebRTC no impone el tipo de de señalización en red
17. Casos de Uso WebRTC
●
Póker online
–
●
ChatRoulette
–
●
¿Sólo Web?
Puesto de callcenter
–
●
Enseñemos nuestras partes íntimas, ¡pero sin Flash!
Un nuevo “Skype”
–
●
Nadie “llama” a nadie
¡Addon para Elastix!
Telefonía doméstica
–
mmm...
18. Casos de Uso WebRTC
●
Hacer feliz a tu abuela
¡¡¡ DEMO !!!
22. Muchas Gracias
●
A los asistentes
●
A los organizadores del ElastixWorld
–
●
(por crear el mejor evento de VoIP del mundo)
A todos los que lo hacen posible
@ibc_tw