2600hz webrtc meetup at wework, san francisco, ca

17

Upload: james-solada

Post on 06-Jul-2015

1.026 views

Category:

Technology


0 download

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

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