Post on 03-Jul-2015
José Luis MillánIñaki Baz Castil lo
¿ Qué es WebRTC ?● Comunicación en tiempo real para la Web● WebRTC Media
– Características del media transmitido
● WebRTC API– API JavaScript para browsers
● 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)
WebRTC Media
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)
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
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
WebRTC API
● SDP Offer/Answer– API WebRTC para solicitar un SDP a nuestro browser
● Y se lo enviamos al peer remoto
– Recibimos el SDP del 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
WebRTC F.A.Q.
Casos de Uso WebRTC
● Póker online– Nadie “llama” a nadie
● ChatRoulette– Enseñemos nuestras partes íntimas, ¡pero sin Flash!
● Un nuevo “Skype”– ¿Sólo Web?
● Puesto de callcenter– ¡Plugin para Asterisk!
● Telefonía doméstica– mmm...
Casos de Uso WebRTC
● Hacer feliz a tu abuela
¡¡¡ DEMO !!!
RetroRTC
Arquitectura RetroRTCPSTNSIP over WebSocket
SIP over UDP/TCP
ICE
RTP
Muchas Gracias
@ibc_tw
@jomivi
● A los asistentes● A Avanzada7 por organizar el VOIP2DAY
– (el mejor evento de VoIP de Europa)
● A todos los que lo hacen posible