网页SIP电话客户端:sipml5

http://code.google.com/p/sipml5/

 

Source code freely provided to you by Doubango Telecom ® under BSD terms.

Click here to download the API.

    • Foreword
    • Compatibility
    • License
    • Features
    • Getting started
    • Programing with the API
    • Technical help
    • Demo videos

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 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 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.



sipML5 solution architecture (1)



sipML5 solution architecture (2)


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
  • 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:

 SIPml.init(
         function(e){
             var stack =  new SIPml.Stack({realm: 'example.org', impi: 'bob', impu: 'sip:[email protected]', 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 developer's group or use the Issue tracker to report bugs.

 

你可能感兴趣的:(其他)