2600hz webrtc meetup at wework, san francisco, ca
DESCRIPTION
2600hz Engineers Peter Defebvre and Maxime Roux will lead an intense discussion on WebRTC, what it is and how to build your own phone. We will also discuss how 2600hz is able to provide enterprise grade connectivity to any HTML5 endpoint.TRANSCRIPT
www.2600hz.com
Hosts
Peter Defebvre
• Erlang Engineer
• Working on Kazoo
Max Roux
• Front-End Engineer
• Working on Monster
UI & Kazoo UI
www.2600hz.com
2600Hz
www.2600hz.com
Kazoo
https://github.com/2600hz/kazoo
www.2600hz.com
What is WebRTC?
WebRTC (Web Real-Time Communication) is an
API definition drafted by the World Wide Web
Consortium (W3C) that supports browser-to-
browser applications for voice calling, video chat,
and P2P file sharing without plugins.
www.2600hz.com
Kazoo + WebRTC?
How do we get WebRTC into Kazoo?
Two things are required:
- Back-end Support
- Front-end Support
www.2600hz.com
WebRTC – Layers
Multiple layers of technology enable
communication between the browser
and the server
Let’s explore those
www.2600hz.com
Transport Mechanism
TCP WEB SOCKET SIP RTP
WEBBROWSER
www.2600hz.com
Implementation in Kazoo
WEB RTC
FREESWITCH
WEBSOCKETS
SIP
KAMAILIO
SSL
RTP
FLASH PLAYER
RTMP
RTP
www.2600hz.com
Build a User Interface
The kazoo.js library
www.2600hz.com
Why did we build our own library?
Real Time Messaging Protocol
(Really Terrible Motherloving Phone)
• WebRTC supported on Firefox, Chrome & Opera
• RTMP supported on most browser
o Poor audio quality
o No echo cancellation
o Hard to support on the back-end
o Proprietary protocol (Adobe’s Open Public Protocol)
www.2600hz.com
How does it work?
Two open source JavaScript libraries:
Flash-VideoIO
1. Checks browser compatibility with WebRTC
2. Loads only the right library
3. Provides common functions for both libraries
www.2600hz.com
Initializing the library
www.2600hz.com
Registering a device
www.2600hz.com
Basic call actions
www.2600hz.com
Some basic use cases
• Softphone on the browser
• Click-to-call
• Voice chat room
www.2600hz.com
Conclusion
• WebRTC is very much a cutting edge technology
• Vendors who integrate WebRTC will give users true “work
from any device” experience – phone, tablet, browser
• Limitless possibilities for video, conferences, sharing, social
media as well