sipml5


The world's first HTML5 SIP client (WebRTC)

Source code freely provided to you by http://www.doubango.org'> Doubango Telecom ® under BSD terms.
Click here to download the API.

Foreword

This is the world's first open source HTML5 SIP client (May 12, 2012) entirely written in javascript for integration in social networks (FaceBook, Twitter, Google+), online games, e-commerce sites... No extension, plugin or gateway is needed. The media stack rely on http://en.wikipedia.org/wiki/WebRTC'>WebRTC.
The client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. It's also possible to make calls to PSTN or any SIP-legacy network using webrtc2sip.org
The protocol parsers (SIP, SDP...) are highly optimized using http://www.complang.org/ragel/'>Ragel lookup tables and is suitable for embedded systems with limited memory and low computing power.

sipML5 solution also contains webrtc2sip, click-to-call, webrtc4all and SIP TelePresence (Video Group chat) client components.

http://webrtc2sip.googlecode.com/svn/trunk/documentation/images/architecture.png
sipML5 solution architecture (1)

http://sipml5.googlecode.com/svn/trunk/images/architecture_asterisk.png
sipML5 solution architecture (2)

<hr />

Compatibility

| Windows | OS X | Linux | Android | iOS | |:------------|:---------|:----------|:------------|:--------| | Chrome, Firefox Nightly/Aurora , Firefox stable[1], IE[1], Opera[1], Safari[1] | Chrome, Firefox Nightly/Aurora | Chrome, Firefox Nightly | Chrome Beta, Firefox Nightly| Bowser[2] |

[1]: Thanks to webrtc4all
[2]: http://labs.ericsson.com/blog/bowser-the-world-s-first-webrtc-enabled-mobile-browser

License

The code is released under BSD license. More information at https://code.google.com/p/sipml5/wiki/License.

Features

Short but not exhaustive list of supported features: * Works on Chrome, Firefox, IE, Safari, Opera and Bowser. * Audio / Video call * Screen/Desktop sharing from Chrome to *any* SIP client * Instant messaging * Presence * Call Hold / Resume * Explicit Call transfer * Multi-line and multi-account * Dual-tone multi-frequency signaling (DTMF) using SIP INFO * click-to-call * SIP TelePresence (Video Group chat) * 3GPP IMS standards

Getting started

sipML5 works on any web browser supporting WebRTC but we highly recommend using Google Chrome or Firefox Nightly for testing. * Enable WebRTC on your browser * http://sipml5.org/call.htm'>Live demo * Calling SIP rich clients running on iOS, Android, OS X or Windows * Frequently asked questions * Screen sharing * Non-exhaustive list of Public SIP Servers known to work with sipML5 * Programmer's guide * To develop your own SIP phone, download the API here.

Programing with the API

The API is designed with love to make it easy to develop rich and robust HTML5 applications in few lines of code. No need to know how SIP work to start writing your code. Using this API, it will be a piece of cake to write HTML5 VoIP applications. Below, a very compact code showing how to initialize the engine, start the stack and make video call from bob to alice in less than 15 lines:

```javascript

SIPml.init( function(e){ var stack = new SIPml.Stack({realm: 'example.org', impi: 'bob', impu: 'sip:bob@example.org', password: 'mysecret', events_listener: { events: 'started', listener: function(e){ var callSession = stack.newSession('call-audiovideo', { audio_remote: document.getElementById('audio-remote'), video_local: document.getElementById('video-local'), video_remote: document.getElementById('video-remote') }); callSession.call('alice'); } } }); stack.start(); } ); // // // ```

Technical help

Please don't send me technical questions by mail. I'll certainly not respond to the mail as I receive more than a hundred messages per day. Sorry :)
To get technical help, please subscribe to our http://groups.google.com/group/doubango'> developer's group or use the http://code.google.com/p/sipml5/issues/list'>Issue tracker to report bugs.

Demo videos

Call between Google Chrome and iPad device Call between Google Chrome and Android device



© 2012-2013 Doubango Telecom
Inspiring the future

Project Information

The project was created on Mar 9, 2012.

Labels:
HTML5 SIP WebRTC RTCWEB IMS doubango html5 WebSockets