You are on page 1of 51

WebRTC

Sonus Special Edition

by Mohan Palat and Justin Hart

WebRTC For Dummies, Sonus Special Edition


Published by
John Wiley & Sons, Inc.
111 River Street
Hoboken, NJ 07030-5774
www.wiley.com
Copyright 2014 by John Wiley & Sons, Inc.
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any
form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise,
except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without the
prior written permission of the Publisher. Requests to the Publisher for permission should be
addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ
07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Trademarks: Wiley, the Wiley logo, For Dummies, the Dummies Man logo, A Reference for the Rest
of Us!, The Dummies Way, Dummies.com, Making Everything Easier, and related trade dress are
trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates in the United
States and other countries, and may not be used without written permission. Sonus and the Sonus
logo are registered trademarks of Sonus. All other trademarks are the property of their respective
owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this
book.
LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE
NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR
COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL
WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A
PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR
PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE
SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT
THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER
PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A
COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR
THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN
ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A
POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR
THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY
PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE
THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED
BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ.
For general information on our other products and services, or how to create a custom For Dummies
book for your business or organization, please contact our Business Development Department in
the U.S. at 877-409-4177, contact info@dummies.biz, or visit www.wiley.com/go/custompub.
For information about licensing the For Dummies brand for products or services, contact
BrandedRights&Licenses@Wiley.com.
ISBN: 978-1-118-83883-9 (pbk); ISBN: 978-1-118-83957-7 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1

Publishers Acknowledgments
Were proud of this book and of the people who worked on it. For details on how to
create a custom For Dummies book for your business or organization, contact info@
dummies.biz or visit www.wiley.com/go/custompub. For details on licensing the
For Dummies brand for products or services, contact BrandedRights&Licenses@
Wiley.com.
Some of the people who helped bring this book to market include the following:
Acquisitions, Editorial, and Media
Development
Project Editor: Carrie A. Burchfield
Editorial Manager: Rev Mengle
Acquisitions Editor: Katie Mohr
Business Development
Representative: Sue Blessing
Custom Publishing Project
Specialist: Michael Sullivan

Composition Services
Sr. Project Coordinator: Kristie Rees
Layout and Graphics: TCS/SPS
Proofreader: Robert Springer

Publishing and Editorial for Technology Dummies


Richard Swadley, Vice President and Executive Group Publisher
Andy Cummings, Vice President and Publisher
Mary C. Corder, Editorial Director
Publishing and Editorial for Consumer Dummies
Kathleen Nebenhaus, Vice President and Executive Publisher
Composition Services
Debbie Stailey, Director of Composition Services
Business Development
Lisa Coleman, Director, New Market and Brand Development

Foreword
WebRTC started at Google in 2009 to enable browsers to
have the elements of Real-Time Communications (RTC). Now,
WebRTC is defining a transformation in communications that
will enable 10 to 20 million JavaScript developers to build RTC
into millions of websites. With WebRTC, two browsers connected to a server can have a voice or video real-time session
with as little as 40 lines of JavaScript. With WebRTC, one of
the peers can be a media server, or a SIP gateway enabling
complex communications scenarios. The standard includes
the data channel, enabling peers to send data to each other for
a wide variety of uses from IM to screen and file sharing and
application synchronization. With WebRTC, RTC moves from
the traditional server to server model that has existed from the
beginning of the PSTN to the web model where each communication event can be hosted and managed by a single server.
This mirrors the transformation in information distribution that
the browser, WWW, and URLs ushered in 20 years ago.
The resulting web has transformed industries and created trillions of dollars of business and market value. The Web was a
new model where end-users visit the site where information
is and then go on to the next site. Each web event is independent, as will be the WebRTC world where a variety of very different RTC experiences and events will occur through the day.
With WebRTC, communication will be added to virtually all
applications and will create new applications and capabilities
that will amaze all of us.
WebRTC will impact enterprises, service providers, websites, gaming, and creators of new applications and services.
Communications will no longer be a phone call or a separate
event, but integrated into your use of the web and applications. This will change the market, business, social, and political systems in dramatic ways. This book is an introduction
into WebRTC and the technology. For the corporate or service
provider reader, understanding WebRTC in your environment

may be critical to your business success. For the innovator,


WebRTC opens the door to new and wonderful capabilities;
the next Google of Facebook is just around the corner. I look
forward to talking or having a video call with WebRTC on the
web with you soon.
Phil Edholm
WebRTC Conference & Expo, PKE Consulting LLC &
UCStrategies.com
pedholm@pkeconsulting.com
www.pkeconsulting.com
www.ucstrategies.com
Twitter @PEdholm
Office: 925-264-9420
Cell: 408-832-5618

Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
About This Book......................................................................... 1
Icons Used in This Book............................................................. 2

Chapter 1: Getting Acquainted with WebRTC . . . . . . . . . 3


What Is WebRTC All About, Anyway?...................................... 4
Looking into WebRTC History................................................... 5
Why Is WebRTC Important?...................................................... 6
Understanding the Elements that Make Up WebRTC............. 7
Browsers............................................................................ 7
Browser API....................................................................... 8
Web servers....................................................................... 8
Codecs................................................................................ 9
Web applications.............................................................. 9
Gateways.......................................................................... 10
Session border controller.............................................. 10
Understanding the Data Channel............................................ 12

Chapter 2: Integrating WebRTC into Other


Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Learning Where WebRTC Can Fit into Your Network.......... 14
Understanding the Need for an SBC....................................... 15
Interworking for interoperability.................................. 16
Securing the SIP network............................................... 17
Navigating the firewall................................................... 18
Managing policies........................................................... 19
Figuring out the Role of WebRTC Gateways.......................... 20

Chapter 3: What Can WebRTC Do For Me?. . . . . . . . . . . 23


Calling Enterprise Contact Centers........................................ 23
Conferencing through Video................................................... 24
Bringing a Carriers IMS Network to the Web....................... 25
Extending Over-The-Top Services.......................................... 26
Games......................................................................................... 27

Chapter 4: Wheres The Money in WebRTC?. . . . . . . . . 29


Tapping into Licensing Revenues........................................... 29
Selling Tools for Apps.............................................................. 30

viii

WebRTC For Dummies, Sonus Special Edition


Making Money for Telcos and Other Service Providers...... 31
Building the Infrastructure...................................................... 31
Benefiting Enterprise Users..................................................... 32

Chapter 5: Ten Must Haves When Deploying


WebRTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Making a Business Case........................................................... 33
Getting Equipped with a Mic and Cam................................... 34
Choosing a Compatible Browser............................................ 34
Leveraging JavaScript.............................................................. 35
Connecting to a Web Server.................................................... 35
Authenticating Sessions........................................................... 36
TURNing Your Sessions Around............................................. 36
Utilizing a WebRTC Gateway................................................... 37
Interpreting Signals with Transcoding................................... 38
Connecting via SIP Trunks....................................................... 38

Introduction

ebRTC the RTC part stands for real-time communications is a brand spanking new and potentially
transformative technology that enables web browsers to
participate in audio, video, and data communications without
any plug-ins, applications, or downloads of any kind. With
a WebRTC-compatible web browser, you can do things like
place a call to a contact center, participate in a multiparty
video conference, or engage in a screen sharing collaboration
with colleagues and it just works, without requiring special hardware or client software on your computer or mobile
device. WebRTC-based services open up the whole world of
UC (Unified Communications, which is a suite of integrated
voice, video, data, and text communications delivered via the
VoIP protocol known as SIP) to anyone with a web browser
and an Internet connection.

About This Book


WebRTC For Dummies, Sonus Special Edition, is here to help
you understand what WebRTC is all about, what it takes to
deploy it, and the benefits youll gain when you make your
move to WebRTC. This book isnt written at a down-in-theweeds level for telecom engineers looking for deep technical
knowledge or tips for developing WebRTC applications
there is a nearly limitless supply of source code and technical
documentation online. Instead, youll find that its designed
for the nontechnical folks marketers, sales professionals, finance wizards, and so on in mid- and large-sized
enterprises or for service providers who want to understand
WebRTC and figure out how it can help their businesses.
Were going to talk a lot about voice and video communications throughout this book, but WebRTC isnt limited to just
those kinds of communications. Instead, WebRTC is equally
suited to communications such as screen sharing and collaboration or even to real-time gaming.

WebRTC For Dummies, Sonus Special Edition

Icons Used in This Book


This book calls out important bits of information with icons
on the left margins of the page. Youll find two such icons in
the book:
The Tip icon points out a bit of information that aids in your
understanding of a topic or provides a little bit of extra information that perhaps isnt 100 percent necessary, but which
may broaden your understanding of what youve just read.
The Remember icon points out a crucial part of the text a
point that you should lock away in your memory because
youll need to know it again in the future.

Watch out! This information tells you to steer clear of things


that may cost you big bucks, suck your time, or be bad
practices.

Chapter 1

Getting Acquainted with


WebRTC
In This Chapter
And in this corner... WebRTC
Understanding why WebRTC is important
Learning the components of WebRTC
Meeting the Holy Grail: Data channel WebRTC

ommunicating with other people used to be simple; you


picked up the phone and dialed their number. If you
didnt know their number, you looked it up in a phone book.
Then things got both better and worse. Now, you can call
people from your mobile phone by finding names in a contact
list and clicking them. You can email them, also from your
mobile phone, or even send them a text message.
At the office, you have unified communication (UC) systems
that do similar feats. They enable you to see the presence
(availability) of a co-worker, click on her image, and call, IM,
or video with her.
One thing that hasnt been simple is the ability to talk with
people when youre on a website. When you visit websites,
you can send people an email message (think Linked-In or
Facebook). However, if you want to talk with people live,
you have to do something else go to a phone or open up
a Skype connection. Often those types of communications
involve downloading special software to your PC or mobile
phone. This practice is now changing.
A new technology and group of technological standards called
WebRTC lets you use phone, video, or text right from the web
page you go to. You can also share screens (see the same web

WebRTC For Dummies, Sonus Special Edition


pages or files) and all sorts of new things. You wont have to
download new software. You will need the latest versions of
your web browser (the versions that support WebRTC) and to
be on a website that has communications programmed into it,
but you wont know or care about any of that. You just go to
the website and decide to communicate.
Perhaps youll be shopping and want to talk to someone
about the size, or you want to show your friend and talk to
her about what youre thinking about buying. Maybe you have
a technical question about some home improvement project
and you need to ask an expert. With WebRTC, not only will
you be able to talk to the expert, but also you could show
them via video exactly what youre doing.
WebRTC makes communication a lot easier for businesses,
customers, co-workers, and colleagues. No longer will you
have to download and install a special application or download a browser plug-in. Instead, youll just go to your communications website and communicate.

What Is WebRTC All About,


Anyway?
WebRTC is built using javascript. This means that millions
of web developers can now include communications in their
websites or web-based applications. How does this happen?
Check out these steps:

1. The web developer uses WebRTC codes and creates


a communications button on a website.

Maybe the button says click here to talk to a plumbing


expert, or talk to sales or show a friend. Whatever
the wording, it should make sense for the website.

2. The user clicks the button (image, icon, link) on the


website.

3. The link connects the user to the web server, which


then sends a webpage to the person youre calling or
trying to communicate with.

4. The receiver then accepts the communication, and


an audio or video chat is started between the two
browser sessions.

Chapter 1: Getting Acquainted with WebRTC

Thats it. No applications have to be downloaded by either


user, no plug-ins need to be installed.
WebRTC makes it possible for two users with web browsers
to communicate with each other even if theyre using different devices or different operating systems (MAC versus PS) or
even different browsers.

Looking into WebRTC


History
In 2011, Google was one of the main originators of WebRTC
with an initial standard that was open sourced. This means
that it was made available for others to freely build-on. Since
then, Internet standards groups like the Internet Engineering
Task Force (IETF) and the World Wide Web Consortium (W3C)
have taken charge of the effort to advance WebRTC. A host
of other software and hardware companies have joined into
the effort, notably Microsoft and other browser vendors like
Mozilla (the maker of Firefox).
See Figure1-1 for a view of how the Web has evolved and how
WebRTC plays a part in this evolution.

Figure1-1: Evolution of the Web.

WebRTC For Dummies, Sonus Special Edition

Why Is WebRTC Important?


Businesses are constantly striving to improve the productivity
of their workers and to reduce their costs. Businesses depend
on communication tools to enable worker productivity the
more tools and the more connected the tools are to each
other, the better the productivity benefit. For example, when
you can see that people are available (not busy) on instant
messaging (IM) and you can send them a quick IM to ask if
they can talk, it saves a lot of back and forth. One quick call
may save multiple emails and other types of communication.

All the different communication tools, which include voice,


video, email, text, and presence, have been developed over
time and often independent from one another. This means
that many companies have different products to do different
things.
UC is the idea that all these communication tools should work
together from the same interfaces and enable you to go from
one mode of communication to another without switching
screens and preferably at the click of button. For example, the
smartphone is a UC device because you can do all these communications from the same device.
Companies are now moving to upgrade or replace siloed communication tools for integrated or unified tools. Companies
want to deliver to the employees and their customers the
same simplified tools like you get on your smartphone. But
how does WebRTC fit into this equation? Well, the beauty of
WebRTC is that it takes away the requirement for specialized
client hardware (devices) and software. It even removes the
need for browser plug-ins. Now the browser, which all Internet
connected devices already have, can be the interface for UC.
Within an enterprise, this is useful and handy, but it becomes
a really big deal when you think of how an enterprise communicates outside of its walls. For example, what if employees
of an enterprise need to have a videoconference with key suppliers or with partners who are consulting with the company
on a big project? With WebRTC and UC, they can simply send
those outside parties a website URL and have them click a link
and voila! theyre part of the videoconference.
Similarly, WebRTC makes it easier for an enterprise to communicate with customers and clients. For example, with one

Chapter 1: Getting Acquainted with WebRTC

click, a retail business could connect a web-browsing potential customer to a customer service agent. Or a bank could
provide a link to a high-value customers private banker right
on the customers online account page and connect the
customer to the private banker immediately with one click.

These instances are already possible today with UC, but they
require either some client software or special browser plugins to make them work. With WebRTC, none of thats needed.
As long as the user is on a compliant web browser, hes ready
to connect now. And, by the way, some of the most popular
browser software already supports WebRTC today. WebRTC
makes accessing UC services easy, painless, and foolproof.

Understanding the Elements


that Make Up WebRTC
Although WebRTC is easy, painless, and foolproof from the
end-users perspective, a fair amount of in the background
stuff goes into making it work. In this section, we discuss what
the major elements of WebRTC are all about.

Browsers
The foremost element of WebRTC at least from the users
perspective is the web browser. Organizations that create
web browser software need to incorporate certain elements (the WebRTC API) into that browser code to allow the
browser to control the elements of the computers hardware
and software required for WebRTC communications.
Several of the most popular web browsers are already supporting WebRTC, including the latest versions of the following:

Google Chrome

Mozilla Firefox

Opera
Not yet on this list, but worth mentioning is Microsoft Internet
Explorer (IE). Microsoft has publicly declared that it will be
supporting WebRTC, so you can safely expect that a notso-distant future version of IE will incorporate WebRTC support.

WebRTC For Dummies, Sonus Special Edition


WebRTC is built on top of HTML5 the latest version of the
HTML markup language used to present web content and
JavaScript, the programming language used to create many
client-side scripts allowing interactive web apps to be used by
web browsers. HTML5 and JavaScript both together and
separately allow browsers to present things such as audio
and video interactively, much like the ubiquitous Adobe Flash
browser plug-in did before the advent of HTML5. WebRTC
extends the capabilities of the HTML5/JavaScript duo into
real-time communications.

Browser API
Web browsers support WebRTC by implementing specific
WebRTC application programming interfaces (API) that
enable hardware control and communications through the
browser. The key APIs for WebRTC-compliant browsers are
the following:

getUserMedia (or gUM): Allows the browser to control


video and audio hardware on the computer, such as the
webcam and microphone.

PeerConnection: Helps to setup the WebRTC communications, much like touchtone dialing did for traditional
analog phone calls. PeerConnection goes beyond making
the connection, however; its also involved in elements of
the call like choosing codecs, applying encryption, and
more.

DataChannels: DataChannels is the data portion of


the WebRTC communication. DataChannels provides a
peer-to-peer, decentralized data connection between the
browsers over which data can flow directly between the
points in real-time. We talk more about DataChannels in
the final section of this chapter.

Web servers
Theres another server element to WebRTC and thats just
a web server which can host the WebRTC APIs. This server
will (ahem) serve up the clickable URLs in a web page saying
call now or click here for a video chat that a WebRTC user
interacts with when placing a call. This web server could be

Chapter 1: Getting Acquainted with WebRTC

integrated into a gateway or it could be part of an enterprise


or service providers existing web server.

Codecs
Codecs (or coder-decoders) are the computer programs used
to encode a signal for storage and transmission and to then
decode that same signal at the far end for display or playback. Specifically, for WebRTC, codecs are the software that
encodes audio and video for transmission at one end and then
decodes that data at the far end so that the user can listen to
and view it on his or her computer.
The digital audio or video content you interact with be it
a call on your mobile phone, a YouTube video youre watching on your iPad, or the digital HDTV signal thats displayed
on your big screen TV uses a codec for the encoding and
decoding process. In WebRTC, several official codecs for
audio and video are involved:

Two audio codecs:

Opus

G.711

A video codec known as VP8


These codecs were defined by Google when they released
WebRTC as an open source project. Theres always a bit of
controversy around codecs in the industry (regarding royalties and permissions, and so on), so you should fully expect
to see other vendors, such as Microsoft, proposing different codecs when they release their own implementations of
WebRTC.

Web applications
WebRTC includes a Web API designed to allow developers to
create their own WebRTC-enabled applications. An organization implementing WebRTC can create its own applications
or purchase them from software vendors. There isnt just one
WebRTC videoconferencing application or one WebRTC collaboration application. Instead, third-party organizations can
create their own WebRTC applications by using the Web API
and WebRTC specifications.

10

WebRTC For Dummies, Sonus Special Edition

Gateways

When a company wants to connect a user on its webpage to


an employee working from his desk, it can set up a WebRTC
to WebRTC (or peer to peer) communication or integrate the
WebRTC communication with its existing backend communication system. Most corporate communication systems use
session initiation protocol (SIP) to connect to their audio and
video systems. Therefore, to connect a WebRTC communication to a corporate PBX or video system, the WebRTC communication has to be translated into SIP.
The device that makes the connection between WebRTC and
an organizations UC network is called a gateway. The gateway
bridges the divide between WebRTC and the VoIP network
inside an organization (or inside a service provider, if the VoIP
network is provided by a third party).
The gateway does this by performing several functions,
including the following:

Translating between SIP and WebRTC

Transcoding and transrating traffic

Interworking
We talk about these functions and those of the SBC, discussed
in the next section, in more detail in Chapter 2.

Session border controller


Another component of corporate communication systems is a
session border controller (SBC). The SBC is a device deployed
on the border of enterprise and service provider VoIP networks where the internal part of the network connects
to outside networks. The SBC has several key functions in the
network, including the following:

Securing the network: SBCs are designed to protect


enterprise and service provider networks from a variety
of potentially malicious attacks (like Denial of Service
attacks) as well as service theft and spoofing (where a
user deliberately modifies her identification on the network). In a WebRTC environment, this feature secures

Chapter 1: Getting Acquainted with WebRTC

11

an organizations internal VoIP network from web-based


attacks coming from WebRTC users on the network.

Providing interworking: SBCs provide substantial


interworking capabilities, which smooth over protocol
differences and vendor-to-vendor incompatibilities so
communications simply work.

For WebRTC, this means that the SBC can help in the
process of converting WebRTC VoIP traffic to the SIP or
other VoIP system used within an enterprise or service
provider network.

Controlling call admissions to the network: The SBC


is the gate guard for an enterprise or service provider
network determining which calls and communications
sessions are allowed onto the network and which arent.
This can include the use of blacklists of calls to always
be denied and whitelists of calls that are to always be
allowed. When traffic volumes are particularly high, this
functionality additionally helps to make the network
more secure and reliable.

An enterprise can therefore use an SBC to help ensure


that only legitimate calls from WebRTC users are entering
their VoIP network.

Transcoding and transrating: The SBC can transcode


between codecs and adjust the bit rate as required by
the network capabilities of both ends of a WebRTC call.

WebRTC may use different codecs than an enterprise or


service provider VoIP network. The SBC can do on-the-fly
conversion between codecs so both sides can talk to
each other.

Dealing with network topology: SBCs are really good at


getting calls through the actual endpoint within an enterprise network that theyre supposed to reach. This is a
pretty big deal when you look at networks that use things
like Network Address Translation (NAT), which uses
private IP addresses for all the computers inside the network and a single public IP address facing the outside
world. SBCs can provide NAT Traversal so calls can easily
reach the right computer in the network.

The SBC can help connect calls from WebRTC users


within an enterprise or service provider VoIP network, no
matter how that network is set up.

12

WebRTC For Dummies, Sonus Special Edition


SBCs can also hide the topology of an enterprise network
from the outside world. The result is a network thats easily
accessible to clients for making and receiving calls, but where
the innards of the network are effectively invisible, which
makes them less vulnerable to attack.
Some of this list of features overlaps with the features of a
gateway device (see the preceding section). Thats okay
sometimes the gateway may even be integrated with the SBC.
In other cases, some functions may be assigned to the gateway and others to the SBC depending on the exact configuration, topology, and services supported by the network.

Understanding the Data Channel


A particularly neat feature supported by WebRTC is the
DataChannel API. DataChannel provides a peer-to-peer connection meaning that theres no centralized server controlling the flow of data between browsers for data beyond just
audio and video.

A big advantage of cutting out the middleman the server


and going peer-to-peer is that connections can be extremely
fast and low-latency (meaning that theres very little delay in
the transmission of data between two browers).
This opens up all sorts of possibilities for WebRTC, in
terms of services like web collaboration and screensharing,
gaming, file and document sharing, and more. In other words,
WebRTC, through the DataChannel, supports more than just
voice and video, right in the web browser. DataChannel opens
up a huge range of new applications without requiring client
software.
The DataChannel supports two types of connections:

Reliable channels: These channels provide the highest


level of assurance assuring that data is received at
the far end of the connection and retransmitting it when
it isnt. With a reliable channel connection, data will be
received in the order it was sent and potentially delayed
if a retransmission is required.

Unreliable channels: These channels limit the retransmissions and dont necessarily ensure that data is
received in the order it was transmitted.

Chapter 2

Integrating WebRTC into


Other Networks
In This Chapter
Learning where you can connect with WebRTC
Leveraging an SBC for interworking and security
Utilizing a WebRTC gateway

n Chapter 1, we introduce WebRTC and cover some of


its basic building blocks. These building blocks help
you understand how WebRTC provides voice, video, and
other communication services directly from a standard web
browser. In this chapter, we talk about how WebRTC integrates with the existing VoIP or Unified Communications (UC)
network that an enterprise may already have in place, or with
the network that a service provider may offer its customers.
It is, of course, possible for WebRTC to be used for browserto-browser communications bypassing the existing networks of an enterprise or service provider but its very
likely that an organization will choose to integrate WebRTC
into its existing infrastructure.
Doing so integrating WebRTC with an existing network
can provide a host of benefits by greatly simplifying the ability
of people outside the network to call, conference, and video
chat with people inside the network, using nothing more than
a standard web browser.

Integrating WebRTC with existing networks isnt just a useful


way to expand the reach of those existing networks; its also
a way to extend their service life and keep them from becoming obsolete. Companies that have invested huge amounts of

14

WebRTC For Dummies, Sonus Special Edition


money in their VoIP networks can easily extend the useful life
of those networks by integrating with WebRTC as it becomes
more prominent. Theres no need to rip and replace. Instead,
you just augment existing networks to support WebRTC calls.

Learning Where WebRTC Can


Fit into Your Network
Before we begin digging into the bits and pieces required to
integrate WebRTC into an existing VoIP network, its worth
looking at what services this integration can provide.
An enterprise or service provider can choose to integrate
WebRTC services into its existing networks to do the
following:

Integrate into an existing SIP-based network within an


enterprise: The most obvious benefit is to add WebRTC
to an existing call center infrastructure. Integration
allows anyone with a browser and an Internet connection
to contact a companys customer service or sales department without needing to know phone numbers or having
to download a specific application or plug-in.

Integrate with the PSTN: Another good use case is to


enable employees who arent at a work location to use a
WebRTC interface to make phone and video calls. This
practice saves on roaming charges from cellphones or
at the very least allows these calls to be made from the
less expensive SIP trunks used by the company. Using a
WebRTC interface means that remote workers dont have
to download and install softphone clients on their PCs or
mobile phones and worry about computer settings and
compatibility. Instead, it allows the enterprise to save
money not only on the cost of the calls but also on the
cost of providing phone lines to remote workers.

Providing easy external access to a UC system:


Enterprises that have deployed a UC platform (like
Microsoft Lync) can easily expand the reach of that platform by integrating it with WebRTC. This allows remote
users, casual users (for example, employees who are
away from their normal devices), as well as partners/

Chapter 2: Integrating WebRTC into Other Networks

15

customers/clients to access a rich range of UC services


(like video, collaboration, and screen sharing) through
a simple web browser interface. This can greatly reduce
the cost and complexity of providing access for these
types of connections.

Providing access to a telco services: A telco service


provider can leverage (and integrate) WebRTC to provide access to its portfolio of voice, video, and related
services to a broader range of customers who arent on
the telcos network. For instance, a telco could provide
special calling or video services (like discounted international services) from WebRTC clients to phones on
the remote end of the call without requiring the customer to be a current subscriber to the telcos services.
Additionally, a telco could provide WebRTC access as
part of a hosted and managed cloud UC or VoIP service
for enterprises.

Providing access to hosted UC systems: Service providers could use WebRTC to extend access to the applications and services they run in their cloud so users can
take advantage of those communication features from
anywhere.

Understanding the Need


for an SBC
The session border controller (SBC, covered in Chapter 1) is
a mainstay in enterprise and service provider VoIP and UC
networks, providing a differentiation between internal and
external networks by performing the following tasks:

Securing the network by

Protecting against Denial of Service attacks

Hiding the topology of the internal network from


external view

Encrypting traffic so it cant be intercepted

Guarding against spoofing attacks

16

WebRTC For Dummies, Sonus Special Edition


Providing interoperability by

Transcoding and transrating media

Normalizing (or translating between) different variants of SIP

Translating between VoIP protocols like SIP and


H.323

Helping IPv4 and IPv6 networks work together


seamlessly

Implementing and enforcing network policies (we talk


about this more below, in the section titled Managing
Policies)

Providing a platform for creating new services


Enterprises and service providers are very likely already
using an SBC for these functions. The good news is that SBCs
can bring a lot of these functionalities over to the WebRTC
world by acting at the point where WebRTC calls interface
with the VoIP or UC network being served by the SBC. In the
remainder of this section, we discuss where and how WebRTC
and SBCs specifically work together in this environment.
You dont need an SBC for a WebRTC service thats just being
served over the web between two end points that are both
using WebRTC via their web browsers (for example, a gaming
application between two PCs). In the enterprise and service
provider world, however, where WebRTC is being integrated
with an existing SIP or UC network, the SBC has a vital role to
play.

Interworking for interoperability


One of the biggest roles that an SBC plays in a WebRTC integration into an existing SIP or UC network is in facilitating the
interworking allowing disparate systems or protocols to
communicate, connect, and exchange data.
WebRTC and enterprise or service provider VoIP/UC networks are both technically VoIP, but theyre not the same.
Although most UC networks utilize the session initiation protocol (SIP), WebRTC uses well, WebRTC. And most SIP UC systems use different audio and video codecs (defined in Chapter
1 if you need a refresher) than those used by WebRTC.

Chapter 2: Integrating WebRTC into Other Networks

17

For a WebRTC client (browser) to talk to a client (like an IP


phone, or a smartphone/PC client software system) of a UC
system, something needs to make them speak the same language. The SBC can do that, by providing

Protocol interworking/translation: The SBC can convert


between the signaling protocols of WebRTC and SIP
allowing calls to be seamlessly connected and disconnected and can even provide connectivity to the TDM
PSTN (public switched telephone network).
This functionality can also be provided by the WebRTC
gateway device, which we discuss in the final part of this
chapter. The gateway can be a separate device or integrated into the SBC.

Transcoding: On-the-fly codec conversion between


WebRTC and SIP system audio and video codecs for
example, translating the WebRTC Opus codec to a standard SIP UC coded like G.711.

Transrating: The SBC can also transrate (or modify the bit
rate and required bandwidth) of calls, as dictated by network demands. So if a WebRTC call is placed from a computer on a gigabit Ethernet connection and ultimately ends
up on a mobile device with limited 3G bandwidth, the SBC
can automatically reduce the bandwidth of the call to fit the
available pipe on both ends of the call.

Securing the SIP network


WebRTC voice and video calls are placed and received from
web browsers on PCs and other devices (like tablets or smartphones) connected to the web. We suspect that youre aware
that there are constant security threats involved in such an
environment theres a reason you have to update your various virus and malware programs on a weekly or greater basis,
after all.
There exists, therefore, a possibility that a compromised
system will attempt to connect to an enterprise or service
providers SIP network via WebRTC. This scares the dickens
out of IT security professionals who are considering scenarios
like opening up their SIP-based call centers to WebRTC calls
and in the process, imagining scenarios where a compromised
PC is connecting with their contact center.

18

WebRTC For Dummies, Sonus Special Edition


The SBC can minimize this risk by doing the following:

Protection against Denial of Service (DoS) attacks, where


malicious actors attempt to overwhelm a SIP system with
a sheer overload of connection attempts

Providing call entry control via whitelists and blacklists


and policies (discussed in the next section) to allow only
authorized calls to be placed within the SIP network

Denying access to rogue WebRTC requests

Hiding the topology of the SIP network (the internal


network being protected by the enterprise or service
providers SBC) from WebRTC clients and the wider web

Navigating the firewall


Another network component that must be added to a
WebRTC/non-WebRTC communications path is technology to
enable the signaling information to pass through the firewall.
Firewalls provide Internet and data security (not unlike the
role an SBC plays in a SIP communications environment). If a
person on the outside of a corporate firewall needs to communicate with someone inside the firewall, he has to exchange
information, such as the port address of the firewall and the
IP address. This exchange allows the media to move from one
location to another.

Interactive connectivity establishment (ICE) is a standard,


secure procedure that defines the method for determining
the public IP address and PORT information for external and
internal users. To do this, ICE uses two protocols:

Session transversal utilities for NAT (STUN)

Traversal using relay NAT (TURN)


If neither WebRTC user is sitting behind a firewall, ICE isnt
required. However, wherever a firewall exists, ICE/STUN/TURN
is required to enable communications.
Many free or shareware based ICE/STUN/TURN applications
are available on the market today. These capabilities are also
frequently built into gateways and SBCs. Users dont have
to worry about this, though. The process is done behind the

Chapter 2: Integrating WebRTC into Other Networks

19

scenes by the communications and network teams at the


company or service provider/telco when the WebRTC-based
services are set up.

Managing policies
Enterprise and service provider VoIP/UC networks are built on
top of policies. What we mean by that is that these networks
arent free for alls where anything goes and every client can
use every service whenever they want to. Like any network,
VoIP/UC networks arent limitless resources; policies exist to
determine who can access what resources and when.
One of the primary guardians of network policy is the SBC.
The SBC is the traffic cop of a SIP/UC network, providing call
access control determining which calls are allowed on and
off the network in the first place.
Theres more to policy than this, however. Policy also includes
decisions on things like

Bandwidth utilization and rate limiting

Least cost routing for toll calls

Application availability

Media paths and routing


WebRTC, because of its low-latency peer-to-peer nature, can
allow rich, high-bandwidth multimedia communications.
Policy is what determines how that demanding media will be
handled when it crosses the border into an enterprise or service providers VoIP network. Policy also provides the ability
to maintain SLAs (service level agreements), which determine
the minimum quality levels that should be maintained in a
VoIP network.
Finally, policy helps determine what happens when the SIP
network gets congested for example, when theres a great
surge in calls (maybe your marketing campaign was too successful, or theres a run on the bank!). Policy, as implemented
through the SBC, can determine if certain services need to
be throttled or turned off or if overages of calls need to be
directed elsewhere.

20

WebRTC For Dummies, Sonus Special Edition

Figuring out the Role of


WebRTC Gateways
If the SBC is the traffic cop securing the border between an
enterprise or service provider VoIP network and WebRTC clients, the WebRTC gateway is the bridge between the two network segments allowing communications to flow between
the two.
Theres really only one role for a WebRTC gateway though
it is a big one: interworking.
The WebRTC gateway can be a standalone device or it can be
integrated into an SBC. Theres a bit of a thin line between the
two the way we suggest you remember it is to think of the
SBC as having a superset of capabilities, while the gateway
has a subset focused mainly on interworking.
Figure2-1 shows the configuration of an enterprise network with the SBC and the WebRTC gateway intermediating
between WebRTC and an enterprises internal networks.

Figure2-1: The gateway and SBC in an enterprise network.

A WebRTC gateway will, bi-directionally, convert between


WebRTC signals coming from the web to SIP (or other VoIP
protocols) so calls can be connected, carried, and discontinued when theyre over. This entails converting between

Chapter 2: Integrating WebRTC into Other Networks

21

WebRTC and SIP and dealing with the basic routing of the
signaling and media parts of calls across these disparate VoIP
network segments.
If this is at all confusing, perhaps a more familiar analogue would
work better. Where VoIP networks interact with the TDM PSTN,
there is a device known as a VoIP gateway. The VoIP g
ateways
main function is to convert TDM calls into SIP calls by manipulating the signaling (touchtone dialing to SIP) and media (TDM
voice to VoIP packets). The WebRTC gateway does the same
thing, only it converts between WebRTC and SIP.

22

WebRTC For Dummies, Sonus Special Edition

Chapter 3

What Can WebRTC


Do For Me?
In This Chapter
Connecting contact centers to customers
Making video conferencing easy
Extending IMS networks for service providers
Expanding the reach of OTT services
Getting into gaming

his chapter is the fun one. Thats because we talk about


what you can do with WebRTC. We dig into actual use
cases that show the power of WebRTC. We think that youll
get excited we know we did writing it. WebRTC has the
potential to be a real game changer.

Calling Enterprise
Contact Centers
As far as enterprise applications for WebRTC go, this one is
really a no-brainer. Almost all mid- and large-sized enterprises
(as well as government organizations and the like) have long
ago adopted SIP-based VoIP systems for their contact centers. Whether it be customer service, inbound or outbound
sales, or any customer-facing activity, chances are good that
its currently going to a SIP-connected call center. The reason
why is that its simply much cheaper to operate a call center
in this environment (compared to a traditional TDM-based
environment), and its much easier to create a geographically
dispersed yet unified call center with VoIP.

24

WebRTC For Dummies, Sonus Special Edition


For the past few years, enterprises have begun experimenting with click to call features that expand the reach of call
centers to people who are browsing the enterprises website.
Before WebRTC, however, this approach wasnt always the
smoothest process for the end-user requiring steps like
entering a call back number or downloading a browser plugin (and then authorizing that plug-in permission to access PC
resources).
WebRTC takes that complexity away. A customer or potential customer with a compliant browser (see Chapter 1 for a
refresher on this, if needed) can simply click on a link and be
instantly audio/video connected to an enterprise. No extra
steps, no software to download.
Yep, we said audio/video connected. WebRTC makes it
easy to add a video chat component to any contact center,
which may have an impact on a business dress code but
could also have a (positive) impact on its bottom line and
customer satisfaction.

Conferencing through Video


Many enterprises have adopted videoconferencing as a way
to deal with the increasingly distributed workforce they face.
Whether its supporting teleworkers, remote offices, roadwarrior sales teams, or the newly acquired division in Tokyo,
videoconferencing allows a far richer, more immersive collaborative experience. (Weve even seen a company have some
fun with this, taping a video conferencing-equipped iPad to
the head of a dummy seated at the conference table!)
Video conferencing has come a long way in a short time
after many years of being the next big thing, its now commonplace in many businesses. Theres been a process thats taken
video mainstream from the ultra-expensive (often $100,000
or more) conferencing systems to integrated webcams in just
about every PC, smartphone, or tablet on the market.

But theres still a snag with videoconferencing compatibility. Its easy to set up everyone in a company on a standard
UC platform that supports video like Microsoft Lync. Its
hard, however, when you realize that you need to videoconference with consultants, partners, suppliers, and others who

Chapter 3: What Can WebRTC Do For Me?

25

have their own IT infrastructure and their own unified communications platforms.
WebRTC takes that problem right out of the picture: Internally,
you can use whatever platform you want (including, we
should add, WebRTC video conferencing web apps), while
you can provide external parties with a clickable URL to join a
conference right from their compliant browsers. WebRTC also
reduces the costs by enabling users to video conference with
everyone else because companies dont have to buy special
devices or systems.

Bringing a Carriers IMS


Network to the Web
Telephone service providers (or telcos) have spent a good
part of the past decade developing an architectural framework for their networks known as IP Multimedia Subsystem
(IMS). (Yeah, its not the sexiest name ever, but its important.)
IMS is designed to facilitate the provisioning and delivery of
IP services (like VoIP) and future services (whether that be
mixed media like messaging and voice combined in a single
session) for telcos using standards-based protocols such as
SIP and DIAMETER.
IMS is the basis of many of the 4G LTE services being offered
to telcos mobile customers today, as well as IP-based services to wireline broadband customers. IMS-based services
utilize IP standards like SIP, so in a lot of ways, theyre similar to enterprise UC services. IMS is designed to control SIP
sessions and to intermediate between users attached to the
access network and the applications servers that deliver the
services they want to use.
With an IMS-WebRTC integration, many of the services offered
to telco endpoints (like IP phones in a home or office or
smartphones and tablets in the mobile environment) can be
extended to any web browser anywhere in the world.
For example, 3G and 4G LTE phones can use SIP-based IP calling (as opposed to GSM or CDMA calling on older generations

26

WebRTC For Dummies, Sonus Special Edition


of mobile phones). With a WebRTC dialing browser API, you
could place calls to mobile phones directly from a browser,
without any PC application or plug-in to download.

Extending Over-The-Top Services


One of the more interesting telecommunications trends of the
past five or ten years has been the proliferation of over-thetop (OTT) services. OTT services, if youre not familiar with
the term, are those that are provided to end-users over their
broadband Internet connection (wireline or mobile) but not
provided by their Internet service provider.
For example, a mobile or fixed line voice service offered
by a telco or ISP is not an OTT service; Skype is. Similarly,
broadcast and on-demand video services offered by a cable
or telephone company arent OTT services; Netflix streaming
video is.
There are hundreds and hundreds of over-the-top services
on the market today, serving both consumer and business
marketplaces. Many perhaps even most OTT services
are voice-, audio-, or video-centric. One thing they all tend to
have in common (in addition, of course, to being delivered
over-the-top of an existing Internet connection) is that they
require some sort of software download. Skype requires an
app download to a PC or smartphone/tablet. Netflix requires
an app on mobile devices or an installation of Microsoft
Silverlight to work on PC web browsers. And once you require
downloads and installations, you also require users to install
updates and keep doing so over time. What a drag.
With WebRTC, theres no need for extra applications and
theres no need for upgrades and keeping systems up-to-date.
Nothing to install, nothing to update, nothing to download
it just works. This lets existing OTT service providers improve
their offerings making them accessible to a wider audience.
It also provides (perhaps incorporating the WebRTC to IMS
extension) an opportunity for telcos to effectively compete
with the OTT service providers whove been competing for
their revenue.
In a WebRTC environment, a telco could quickly and easily
build OTT-like applications, deliver them via existing web

Chapter 3: What Can WebRTC Do For Me?

27

browsers, and then use their sophisticated IMS networks to


deliver higher levels of service assurance, interoperability and
performance than pure play OTT providers can offer.

Games
Gaming is a big business. The Electronic Software Association
estimated in 2010 that gaming brought over $5 billion to the
U.S. economy. Worldwide, obviously, its a lot more than that.
A big part of the gaming industry particularly for hard-core
gamers is online, multiplayer gaming. This is where
geographically dispersed players are involved in the same
game racing each other around the same track in Mario
Kart or fighting the same aliens in Halo. Typical multiplayer
gaming relies on a central server, and performance is dictated
by not only Internet connectivity but also by server capacity and utilization. Theres even a common, derisive term in
online multiplayer gaming: LPB, which stands for Low Ping B
(were going to err on the side of caution and not spell that
one out) for the people whose superior connectivity and
low latency (hence the ping time reference) allow them to
win games.
WebRTC and specifically WebRTC DataChannel (see Chapter 1
for more on this) provide a great opportunity to increase
the performance of multiplayer online games. WebRTC
DataChannel provides a flexible and direct peer-to-peer
channel for almost any kind of data including game play
data directly between players in a game. This allows
gaming to bypass the server and any bottlenecks and inherent
delays that sending data from Player1 to the server to Player 2
(and back again) entail.
Plus, WebRTC DataChannel is designed for speed and low
latency and can be configured in either reliable (more complete and guaranteed in-order delivery) or unreliable (faster)
modes, depending on the needs of the game. Add to that the
fact that games can be provided as web applications and
played in any compliant browser, with no downloads and
youve got (sorry for the gaming pun, we really cant help ourselves here) a winner.

28

WebRTC For Dummies, Sonus Special Edition

Chapter 4

Wheres The Money


in WebRTC?
In This Chapter
Licensing your way to revenues
Selling tools for WebRTC
Making money selling WebRTC services
Equipping WebRTC
Benefiting the enterprise with WebRTC

ebRTC is definitely a significant new technological


approach to communications, collaboration, and
multimedia services. But many great technologies have languished or died off because there wasnt a clear business case
for deploying them. WebRTC is a relatively new technology,
one thats receiving a lot of hype. If WebRTC is to get over the
hump and find widespread adoption, businesses will need to
discover their business case for WebRTC and figure out how
it will make them money. Because the bottom line is, after all,
the bottom line.
In this chapter, we explore different ways that companies
across the WebRTC ecosystem from software vendors
to network equipment vendors and from service providers
to enterprise end-users can benefit from the adoption of
WebRTC.

Tapping into Licensing Revenues


WebRTC is based on an open source project (originally developed by Google, but then released to the wider open source
community royalty-free). That means that the underlying

30

WebRTC For Dummies, Sonus Special Edition


bones of WebRTC are freely available for anyone literally
anyone to use for developing web applications to use for
WebRTC-based applications.
So, the APIs and audio/video codecs to make WebRTC work
are free. That doesnt mean that theres no place for software
sales in WebRTC. In fact, WebRTC is a framework and set of
specifications for browser-based real time communications,
and not finalized web applications that can just be deployed
on a web server and turned on.
The emerging WebRTC market offers a lot of opportunities
for software vendors to develop and license web applications
for all sorts of communications purposes. A vendor could,
for example, create a web application for browser-based calls
into call centers or for video chat for remote telemedicine.
The skys really the limit here.

Selling Tools for Apps


Beyond building apps and licensing them, software vendors
may also find opportunities building application toolkits for
WebRTC. A toolkit, in this sense, is simply a software package
and set of modular software components that allows thirdparty developers and enterprises to quickly and rapidly build
their own WebRTC applications.
The toolkit provides a layer of abstraction above the inner
workings of WebRTC, so a developer (in a third-party software
company or within an enterprise) doesnt need to become a
WebRTC expert and delve into the innards of the protocol in
order to build apps. Most toolkits include all the necessary
APIs, code snippets, and the ability to skin applications to fit
the look and feel of the destination website.

Toolkits may also make it easier for developers to keep up


with changes to the WebRTC standards as they continue to be
refined and grow. With a toolkit, the toolkit vendor is the one
to keep up with these changes; developers need only keep
their toolkit software up-to-date to keep their apps up and
running.

Chapter 4: Wheres The Money in WebRTC?


31

Vendors may offer their WebRTC toolkits as a Platform as a


Service (PaaS) offering providing developer access to the
toolkit online on vendor-hosted web servers so a developer
can quickly create WebRTC applications and deploy them to
customers or end-users on the toolkit vendors hosted web
servers.

Making Money for Telcos and


Other Service Providers
In addition to selling developed WebRTC applications and the
toolkits that create them, companies can also offer complete,
soup-to-nuts hosted WebRTC services. Typically this is the
realm of telcos and other service providers the same companies that offer other hosted telecommunications services,
in other words.
Service providers can choose to go one of two routes here:

Integrate WebRTC into their existing call center, video


conferencing, and other communications applications
the ones theyre already selling to their customer base

Develop from scratch WebRTC apps


Either way, WebRTC is easy to implement and provides a
service that can be used by any end-user with a standardscompliant web browser.

Building the Infrastructure


WebRTC is unlike many of the telecommunications technologies that came before it in the sense that its far less dependent on large CapEx (or capital expenditures) to deploy new
services. Most of the deployment of WebRTC simply requires
some software and commodity web server hardware things
that dont, in the large scheme of things, cost that much.
Nonetheless, WebRTC offers an opportunity for SBC and
WebRTC gateway vendors who help integrate WebRTC into

32

WebRTC For Dummies, Sonus Special Edition


existing enterprise and service provider communications networks. This investment has a few aspects:

Installation of SBCs and WebRTC gateways

Licensing for new codec required by WebRTC

Licensing and hardware upgrades as required by


increased network traffic driven by WebRTC application
usage

Benefiting Enterprise Users


Of course, there are cost benefits to the enterprises who


adopt WebRTC services for their business. Otherwise, why
would they even bother, right? These benefits can be measured both directly and indirectly.

Direct benefits come from the reduced costs of deploying


WebRTC to users within the company and to partners,
suppliers, and customers. Simply put, there is no cost
either with upfront software licenses or in terms of ongoing support for UC client software with WebRTC. Users
simply use their existing web browser.

Indirect benefits come from improvements in efficiency


and customer services within the enterprise created by
the adoption of WebRTC, including

Enhanced customer service opportunities provided


by the ability for customers to instantly connect to
the enterprise via voice or video from right within
the browser

New customer interaction opportunities offered


by WebRTC. For example, medical enterprises can
leverage WebRTC for telemedicine services, providing anywhere/anytime service to patients at a lower
cost than in-home or in-office visits.

Improved business efficiency within the enterprise,


driven by the ability of employees and partners
to instantly collaborate with colleagues from anywhere at any time, using just a web browser

Chapter 5

Ten Must Haves When


Deploying WebRTC
In This Chapter
Establishing a business case
Setting up the devices and picking the right browser
Getting behind JavaScript
Serving up the web part of WebRTC
Keeping it secure with authentication
Bringing it all together with transcoding

his is where we get down to brass tacks. In this chapter,


we walk through the ten must haves on both the client
(end-user) side of things and within the enterprise or service
provider thats providing the services. More than just delineate these WebRTC requirements, we throw in a few important tips and tricks. Enjoy!

Making a Business Case


Like any other service or technology that an enterprise or
service provider may adopt, WebRTC needs to be justified
by a business case that demonstrates a clear return on the
investment you make in it. The first thing to think about is
this: What problem is WebRTC going to solve for me? Do we
have real-time communications needs be they voice, video,
collaboration, or something else entirely that arent already
being well served? Are there people, inside or outside of the

34

WebRTC For Dummies, Sonus Special Edition


enterprise, who are hard to get connected to your existing
systems? Will making communications available through
the Web solve that problem? Or will it save you money to do
so? Answer these questions first, before you even consider
WebRTC.
Not everyone will need WebRTC, but many websites will benefit from implementing WebRTC in innovative ways, improving
the interactivity between the site (and things behind the site,
such as call centers) and users both internal and external
to the enterprise.

WebRTC isnt just about making voice calls; it can be used for
capturing images, sharing desktops, providing guidance in
real time, exchanging files, and all sorts of other use cases.

Getting Equipped with


a Mic and Cam
Most of the websites deploying WebRTC (at least today
who knows what use cases people will come up with as
WebRTC matures) are using it to enable voice and video
communication. So it comes as no surprise that for users
to participate, their devices of choice (be it laptop, tablet,
smartphone, and so on) will need at least a microphone and
speaker or headset (for audio calls) and a webcam for video.
The great thing about WebRTC is that users need no additional software no plug-ins and no downloads to perform
before a users computer can use these devices to connect to
a WebRTC. It just works!

Choosing a Compatible Browser


WebRTC can utilize the audio and video resources, but it
needs a compatible Web browser. The WebRTC standards
body (W3C) defines the way browsers should work and specifies the features that browsers must implement to support
WebRTC.

Chapter 5: Ten Must Haves When Deploying WebRTC

35

Major browsers for both PC and mobile devices now


support WebRTC. But not all browsers include this support,
so users of WebRTC services need to check their browser to
ensure its compatible and up to date.

The easiest answer for users, if theyre not sure, is to simply


download the latest versions of Chrome or Firefox, which
both support WebRTC.

Leveraging JavaScript
One of the web technologies enabling WebRTC communications between your users or your users and the website is
JavaScript. JavaScript is a programming language which
allows a webserver to send instructions to be run on the
browser. Youve no doubt used it (behind the scenes) a thousand times because JavaScript is used in literally hundreds of
thousands of websites to provide interactive content.
When a website wants to enable a WebRTC session between
users, it needs to send some instructions (the JavaScript) to
the browser in order for the browser to know how to communicate with another user. This happens invisibly, in the
background the JavaScript is shared with the browser just
as HTML, images, and other web content is.

Connecting to a Web Server


WebRTC is a web service, so you need one or more web servers to offer WebRTC services. In many cases, your existing
web servers, with the addition of WebRTC code and APIs, can
provide the WebRTC functionality.
Careful consideration must be given to how and where in the
website structure WebRTC is implemented and what use is
made of it. Theres more to enabling WebRTC on an existing
website than just adding the WebRTC APIs and creating additional code on an HTML page. You also need to think about
how the WebRTC services will be used by your website. For
example:

36

WebRTC For Dummies, Sonus Special Edition

Where in the sites navigation are the WebRTC services


available or launched?

How does the WebRTC session relate to the context of


the Webpage?

Is the session treated differently when you connect via


one page or another? Perhaps the user gets connected
to a different call agent, or the user has to login and be
authenticated.

Authenticating Sessions
WebRTC sessions be they voice, video, or something
else are secure, because the WebRTC standard includes
a strong encryption mechanism by default. So you dont
need to worry about WebRTC sessions being snooped on
by eavesdroppers.
What you do have to or perhaps we should say might want
to worry about is knowing who is on the other end of the
conversation. Thats the role of authentication. Authentication
is using passwords or cryptographic tools to verify the identity of the parties involved in a conversation or session.
Note that we said that you might want to implement authentication. As you begin to deploy WebRTC services, you need
to decide if the service youre offering requires users to be
authenticated or if its preferable for them to be allowed to
keep their anonymity. If youre a bank, the answer is probably
yes to using authentication; if youre setting up a customer
service hotline for a consumer product, probably not.

The good news is that authentication of users on the web is


an easily solved problem, with many solutions already available. Pretty much any web authentication scheme can be used
for WebRTC services, too. So although theres a technical
decision to make about which service to use, the more critical
decision is a business one does your website require it?

TURNing Your Sessions Around


One of the great advantages of the WebRTC standard is that
it can direct traffic (voice, video, and data) directly between

Chapter 5: Ten Must Haves When Deploying WebRTC

37

web browsers in a peer-to-peer fashion, bypassing any servers in the middle of the connection (see Chapter 1 for more
info). The advantage of this approach is that the data takes
the most direct path, which ensures the best speed and performance possible. An added benefit is that a website owner
avoids having to provide bandwidth capacity for all the sessions, which greatly reduces costs.

Due to technical limitations in some users broadband environments, the browsers cant always establish such a direct
path on their own. But WebRTC is really smart and has some
built-in procedures for working out which paths are possible
and identifying the best ones to use without the user getting
involved at all.
These alternative paths are provided by a component called
a TURN server. TURN servers live in the data center, alongside
web servers and provide an alternative way to connect users
when the preferred direct path isnt possible.
You can consider TURN server capacity a necessity, but
because WebRTC is so smart, it takes care of working out
when to use TURN severs and they are only used when necessary, minimizing the capacity needed (and costs incurred).

Utilizing a WebRTC Gateway


You can establish a WebRTC service where users on both
ends of the communication are using their browsers to communicate thats a perfectly legit deployment scenario. But
you can do so much more!
Perhaps you want to connect a web user to a regular phone.
Or you have a call center already, and you want people from
the web to be able to connect to your call center staff who are
using regular phones today.
WebRTC by itself doesnt solve this problem. The solution is
a WebRTC gateway, which takes the WebRTC traffic from your
website and converts it into SIP to connect to standard VoIP
networks. This opens your closed WebRTC world up to the
wider telecommunications networks of the world, allowing
you to connect web-based users to anyone in your network or
in the world.

38

WebRTC For Dummies, Sonus Special Edition

Interpreting Signals
with Transcoding
Another difference between WebRTC and standard VoIP
systems is the codecs used to transmit the audio and video
information. (We talk about codecs in Chapters 1 and 2, if you
need a refresher.) The codecs used by WebRTC dont always
line up with those used in VoIP systems. As a result, in some
scenarios, audio and/or video signals need to be transcoded
or remapped from one format to another for WebRTC to VoIP
calls to work.
This transcoding is usually done in a session border controller (SBC, discussed in Chapter 2). The SBC and WebRTC
gateway work hand in hand, dealing with both signaling (connecting and disconnecting the calls) and the media (the voice
and video streams themselves). Together the gateway and
SBC provide interworking between disparate WebRTC and
VoIP systems, ensuring calls can seamlessly and successfully
completed.

Connecting via SIP Trunks


This is where WebRTC gets really sophisticated. (As if it
wasnt already sophisticated enough to place voice and video
calls right from your browser!) What if you decide that you
need to connect your WebRTC service beyond the confines of
your VoIP network and out to the broader world?
The most practical and economical way to do this is to commission a SIP trunk from your telephony provider. For security
and traffic control reasons, you want to connect this SIP to
an SBC at the border between your network and the service
providers.
Luckily, this can be the same SBC, providing transcoding and
working with the WebRTC gateway to bridge between your
WebRTC service and your VoIP network. With the addition of
a SIP trunk, you complete the bridge between your WebRTC
users on the web and any other phone in the world which
is pretty darned cool.

Chapter 5: Ten Must Haves When Deploying WebRTC


39

You could chose to connect your network to the outside


world using a more traditional PSTN trunk such as ISDN, but
these connections are generally more expensive and require
further specialized equipment. A SIP trunk is just cheaper and
easier.

40

WebRTC For Dummies, Sonus Special Edition

You might also like