Transcript
Page 1: 2600hz WebRTC Meetup at WeWork, San Francisco, CA
Page 2: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Hosts

Peter Defebvre

• Erlang Engineer

• Working on Kazoo

Max Roux

• Front-End Engineer

• Working on Monster

UI & Kazoo UI

Page 3: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

2600Hz

Page 4: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Kazoo

https://github.com/2600hz/kazoo

Page 5: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

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.

Page 6: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Kazoo + WebRTC?

How do we get WebRTC into Kazoo?

Two things are required:

- Back-end Support

- Front-end Support

Page 7: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

WebRTC – Layers

Multiple layers of technology enable

communication between the browser

and the server

Let’s explore those

Page 8: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Transport Mechanism

TCP WEB SOCKET SIP RTP

WEBBROWSER

Page 9: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Implementation in Kazoo

WEB RTC

FREESWITCH

WEBSOCKETS

SIP

KAMAILIO

SSL

RTP

FLASH PLAYER

RTMP

RTP

Page 10: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Build a User Interface

The kazoo.js library

Page 11: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

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)

Page 12: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

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

Page 13: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Initializing the library

Page 14: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Registering a device

Page 15: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Basic call actions

Page 16: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

www.2600hz.com

Some basic use cases

• Softphone on the browser

• Click-to-call

• Voice chat room

Page 17: 2600hz WebRTC Meetup at WeWork, San Francisco, CA

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


Top Related