Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
WebRTC Integrator's Guide
WebRTC Integrator's Guide

WebRTC Integrator's Guide: Successfully build your very own scalable WebRTC infrastructure quickly and efficiently

eBook
$22.99 $32.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

WebRTC Integrator's Guide

Chapter 2. Making a Standalone WebRTC Communication Client

The objective of this chapter is to make a simple WebRTC client and server module that bypasses a centralized server and, instead, makes a direct peer-to-peer connection between browsers through a Session Initiation Protocol (SIP) proxy server. The aim is to connect a WebRTC client to another WebRTC client using SIP over WebSocket as the signaling protocol. In this chapter, we will study the following three prime ways of making SIP WebRTC calls:

  • WebRTC to WebRTC call through a public cloud-hosted, WebRTC-capable SIP server, such as SIP2SIP
  • WebRTC to WebRTC call through a locally hosted, WebRTC-capable SIP server, such as OfficeSIP
  • WebRTC call to SIP phone through a WebSocket gateway and SIP server, such as Kamailio

We will begin the chapter by describing a simple WebRTC client-server model.

Description of the WebRTC client-server model

The components of a typical WebRTC SIP-based client include the following:

  • SIP stack, in the form of a JavaScript library, to perform signaling
  • Cascading Style Sheets (CSS) to style a page
  • WebRTC media API to render a peer-to-peer connection between the audio-video components of a page
  • An HTML5-based graphical interface to provide inputs such as registration parameters, self-URI (short for Uniform Resource Identifier), URI of the party to be called, and so on

The following diagram depicts the important components to set up a WebRTC infrastructure:

.

Description of the WebRTC client-server model

The client side must be linked to a server that runs on the network side to complete the signal flow. The components that must be deployed on the network side are as follows:

  • The WebRTC gateway to connect to the native SIP world
  • The SIP server to embed the SIP application/proxy logic

The web browser is the key component in WebRTC transactions. It is the client-side environment that pulls out the HTML content...

SIP servers

The WebRTC client with an SIP stack can be registered and can send an invitation or give answers through an SIP server. The SIP server might or might not have the support for WebSocket. This categorization can be understood in two parts:

  • This part consists of a WebRTC-compliant SIP server, and the caller and receiver are both on SIP over WebSocket (SIP WS to SIP WS). The WebRTC-compliant SIP server can belong to one of the following two categories:
    • Using open public domains (such as SIP2SIP, JSSIP Tryit Server, or sipML5.org). This is demonstrated in the following diagram:
      SIP servers
    • Using locally hosted WebRTC-compatible SIP server (OfficeSIP). This is demonstrated in the following diagram:
    SIP servers
  • This part consists of a simple SIP server that does not respond to SIP over WebSocket, but only to SIP (Sip WS to Sip). This server can belong to one of the following two categories:
    • Using the WebRTC2sip gateway as an inter-conversion node between SIPWS and SIP. This enables the WebRTC client to connect...

Limitations of the existing setup

We saw how to develop a WebRTC client, install an SIP server, and configure a WebRTC to SIP environment. A sky view of our final, existing client-server solution setup for SIPWS signaling and WebRTC media so far is shown as follows:

Limitations of the existing setup

As per our current setup status, only the WebRTC-enabled client and servers can participate in the communication flow in an offer/answer (O/A) model.

There are, however, numerous limitations of the existing solution, some of which are mentioned in the following sections. In the upcoming chapters, we shall do away with most of the limitations.

Firewall and NAT issues

The existing architecture does not provide the Network Address Translation (NAT) technique to overcome the blockage due to firewalls and enterprise policies. As a solution, we must see the alternative for public IP discovery in the WebRTC client server setup. NAT is possible in the Kamailio server through RTP proxy modules and STUN.

Media transcoding

If the codecs on...

Summary

In this chapter, we learned how to make a dynamic web application for the WebRTC client using primitive building blocks such as CSS, JavaScript, SIP library, and HTML form elements. We also saw the setup of various kinds of SIP servers and their applicability in establishing an end-to-end call. In this process, we studied the implementation of WebSocket-supported SIP servers. We also studied the integration of the SIP WebRTC client with non-WebSocket supported SIP servers, through WebSocket gateways.

In essence, we learned about how client development and essential servers help to support the WebRTC SIP infrastructure. This includes the Tomcat web server, which caters to the loading of a web page and the HTTP handshake; the Kamailio SIP server, which acts as a registrar; and the SIP proxy node. The WebRTC client programs used open source libraries such as jsSIP and sipML5. The interaction and challenges inherent in communication between non-WebRTC sip endpoints, such as SIP phones...

Left arrow icon Right arrow icon

Description

This book is for programmers who want to learn about real-time communication and utilize the full potential of WebRTC. It is assumed that you have working knowledge of setting up a basic telecom infrastructure as well as basic programming and scripting knowledge.

What you will learn

  • Understand the purpose of Media APIs in the WebRTC media stack
  • Discover more about WebRTC and next generation communication networks
  • Learn how to run simple WebRTC clients with the default peertopeer behavior
  • Run WebRTC calls over a WebSocket protocol using a WebSocket signaling server
  • Integrate WebRTC with old networks
  • Learn best practices to build up a dynamic web project with support for WebRTC calls
  • Explore the usefulness of the interconversion of protocols and the transcoding of codecs with WebRTC

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 31, 2014
Length: 382 pages
Edition : 1st
Language : English
ISBN-13 : 9781783981274
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Oct 31, 2014
Length: 382 pages
Edition : 1st
Language : English
ISBN-13 : 9781783981274
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 133.97
WebRTC Blueprints
$45.99
WebRTC Integrator's Guide
$54.99
Learning WebRTC
$32.99
Total $ 133.97 Stars icon
Banner background image

Table of Contents

11 Chapters
1. Running WebRTC with and without SIP Chevron down icon Chevron up icon
2. Making a Standalone WebRTC Communication Client Chevron down icon Chevron up icon
3. WebRTC with SIP and IMS Chevron down icon Chevron up icon
4. WebRTC Integration with Intelligent Network Chevron down icon Chevron up icon
5. WebRTC Integration with PSTN Chevron down icon Chevron up icon
6. Basic Features of WebRTC over SIP Chevron down icon Chevron up icon
7. WebRTC with Industry Standard Frameworks Chevron down icon Chevron up icon
8. WebRTC and Rich Communication Services Chevron down icon Chevron up icon
9. Native SIP Application and Interaction with WebRTC Clients Chevron down icon Chevron up icon
10. Other WebRTC Use Cases Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.8
(4 Ratings)
5 star 75%
4 star 25%
3 star 0%
2 star 0%
1 star 0%
Yahamid Dec 31, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I chose this book after going thoroughly through its ToC and comparing it with many other books on WebRTC. This book is quite comprehensive and covers a lot more topics in quite less pages. The good point is that it starts from basics and goes until PSTN, etc. (although I did not read that stuff). I think it makes a good read. You must know programming very well, though.
Amazon Verified review Amazon
udit mital Jul 09, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
this book is good and filled with easy to do setups ans excercizes to get stated with webrtc for setting my inoffice communication. saved the cost of setting physical phones and vpn etc
Amazon Verified review Amazon
Tsahi Levent-Levi Feb 25, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is suitable for those who are looking to integrate WebRTC into a SIP infrastructure, be it native SIP, IMS, RTC, VoLTE or any other of the VoIP curses that use SIP as their signaling protocol.Altanai does a great job at covering many of the aspects associated with this fusion of WebRTC and SIP, taking the time to go over a rich set of use cases.
Amazon Verified review Amazon
rahul jain Jan 05, 2015
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
I bought this book after a good research on the list of books available on this topic. It really helps me a lot in developing my VOIP tool. Has in depth information.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.