Click here to Skip to main content
15,353,759 members
Articles / Product Showcase
Posted 12 Feb 2013


5 bookmarked

Integrating Plantronics Call Control with WebRTC

12 Feb 2013CPOL3 min read
Integrating Plantronics Call Control with WebRTC

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

One of the big things that I think will radically transform the communications industry is an emerging technology called WebRTC.  In a nutshell WebRTC will provide web browser vendors standards-based signaling protocols, codecs and security for interoperable real-time voice and video (and data) communications.  What this means for web developers is that the barriers for introducing real time communications will be significantly lowered and will no longer require the use of a browser plugin.

To find out more about what WebRTC is and the current state of the standards development, I would recommend watching this video by Cisco Fellow Cullen Jennings

Recently at the WebRTC Expo ( Joe Burton and I demonstrated how Plantronics can seamlessly integrate our headset devices into a WebRTC call flow. The demo consisted of three parts. 

The first part was a node.js sever application that will serve as a rendezvous point for setting up a simple WebRTC call.  To build the server app we modified code we borrowed from an existing demo that Anant Narayanan put together called Gupshup.  The code for the server project can be found and downloaded from github (carybran/webrtc-server · GitHub .  The server code is relatively painless to use once you have node.js installed.

To run the server navigate to the webrtc-server project

  • Run the node package manager in the directory as follows: "npm install app.js", this will download the dependent packages for the application
  • Start node as follows: AUDIENCE="http://youripaddress:8000" node app.js
  • The server is now ready to go.

The second part is using a nightly build of Mozilla Firefox.  You should use the same version on each machine and I would recommend building your own copy of the nightly. To see what we used for the demo check out this file: webrtc-server/WebRTCExpo2012-demo-machine-config.txt at master · carybran/webrtc-server · GitHub Note: this demo was written for use with Mozilla but could easily be modified to work with Google Chrome.

The third part is the Plantronics client side code also on Github: carybran/PlantronicsWebRTC · GitHub.  This code connects the Plantronics headset functionality to the web browser using websockets.  For more information on how to build and use the code - check out the readme on Github

PlantronicsWebRTC/ at master · carybran/PlantronicsWebRTC · GitHub

Once you have the server up and running and your Mozilla nightly configured to run WebRTC applications you should be able to connect to the node.js application and login with the username of your choice.

If you have questions or comments about getting the demo running please let me know.

This article was written by Cary Bran. Cary works for Plantronics out of his backyard shed located in Seattle, Washington. His job title is Senior Director, Advanced Software and Architecture. What that translates to is he leads the research and development of next generation software and device concepts.

He's been developing solutions in the unified communications and collaboration space since 1998. In recent history, he's served as a software architect, technical strategist and contributor to the IETF and W3C WebRTC standardization efforts. He has a BS in Computer Science and an MBA from the Foster School of Business at the University of Washington.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

United States United States
Today’s smart devices and applications have untapped potential in the realm of context-aware computing. Plantronics is making it possible for its audio devices to deliver contextual information to a range of applications through Plantronics headsets. The Plantronics Spokes SDK allows developers to create a range of business applications that will have the power to change the way we communicate and collaborate.

Please check out our DevZone for more info on the Spokes SDK:

Comments and Discussions

BugCan't watch your site! Pin
Sperneder Patrick12-Mar-13 1:00
professionalSperneder Patrick12-Mar-13 1:00 
GeneralRe: Can't watch your site! Pin
Plantronics25-Mar-13 10:08
MemberPlantronics25-Mar-13 10:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.