WebRTC for Twilio Client Now Available

Twilio Client just got better! Today, we are happy to announce general availability of Twilio Client with WebRTC; only a few days after Google Chrome announced general support for it. This latest version of Twilio Client offers improved audio quality and a better user experience for calls to and from the browser.

WebRTC is an open source project focused on adding real-time communication capabilities to the browser. Google, Mozilla, and Opera are building it into their browsers so there are no annoying plug-ins to install or configure. Even better, WebRTC uses the latest audio codecs which means calls will sound better than ever.

Getting Started

If you are new to Twilio Client and want to get started, take a look at our documentation and quickstart tutorial.

If you have an existing web app, just update the twilio.js library to the latest version (1.1).

WebRTC for Twilio Client is currently supported in Google Chrome, version 23 and above. However, Twilio Client supports all major browsers. If a browser doesn’t support WebRTC, Twilio Client will automatically detect this and make the call using the best alternate means.

Microphone Permissions using Twilio Client with WebRTC

When you load WebRTC for Twilio Client in Chrome 23 or above, a permission dialog will appear, asking for access to the microphone. This is the default permissions interface for Chrome. Once you click “Allow”, the Twilio Client call, using WebRTC, will start.

Remembering Microphone Permissions on Chrome

During beta, many users requested a way for Chrome to remember your microphone permissions, so you didn’t have to choose “Allow” each time you made a call. Chrome has limited support for this, but we found a way that works. This is how you can set it up:

1) Run your application over HTTPS (eg https://www.example.com).
2) Include twilio.js via HTTPS (eg https://static.twilio.com/libs/twiliojs/1.1/twilio.js).

After setup, users can click on “Options”, in the microphone permission dialog, and select “Always allow this site to use this microphone” before placing a call. Once this option is selected, subsequent calls placed by this user will not display the permissions dialog.

WebRTC, Open Source Projects and Twilio

Our job is to make sure you have the leading developer tools to build the best communications products possible. Open Source projects allow all of us to work together to build even more powerful services for all developers, which is why we continue to support projects like WebRTC as well as build our own.

Learn more about the Open Source projects we support: http://www.twilio.com/open-source

  • Reid Stidolph

    Congrats on the launch! good stuff!!

    • http://www.twilio.com Twilio

      Thank you!

  • http://www.facebook.com/mgkimsal Michael Kimsal

    integrating this with openvbx? any pointers?

  • Austin from Lua


  • warcaster

    Can you implement ZRTP for calls?

  • Naseef Chowdhury

    Is there any way to implement webRTC without JavaScript ICE library? If yes, how?

    • http://www.twilio.com Twilio

      Naseef – WebRTC includes a native ICE implementation that gets activated automatically when you create a PeerConnection. There is actually no Javascript ICE library. If you have questions email help@twilio.com and our team can walk you through any issue.

      • Naseef Chowdhury

        OK. Thanks.

  • droopyar

    hope you add zrtp protocol implementation.

  • http://creativform.com/ Creativ Form

    Why in chrome and Opera can’t made a calls? I get error like this: “User denied access to microphone, or the web browser did not allow microphone access at this address.”

    On FireFox are good.

    • rickyrobinett

      You may receive this message if you’ve previously hit “Deny” when prompted for camera / microphone access on the webpage. You can updated your permissions by clicking on the camera icon on the URL bar.

      Hope that helps!

    • Pradeep

      Twilio in chrome worked for me initially. After months I got this issue. When i used incognito window, it worked good. And after resetting browser it worked in chrome too.