Skip to content

Commit

Permalink
Release SIPml API 1.0.0 and public documentation
Browse files Browse the repository at this point in the history
git-svn-id: http://sipml5.googlecode.com/svn/trunk@144 63d8a0da-676c-2731-e3aa-b417aa27da68
  • Loading branch information
Bossiel Thioriguel committed Dec 17, 2012
1 parent a09dafd commit a3acfee
Show file tree
Hide file tree
Showing 270 changed files with 25,814 additions and 538 deletions.
24 changes: 24 additions & 0 deletions SIPml-api.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Copyright (C) 2012 Doubango Telecom <http://www.doubango.org>
* License: GPLv3
* This file is part of Open Source sipML5 solution <http://www.sipml5.org>
*/

// IMPORTANT: /!\ DO NOT EDIT THIS FILE /!\

// ================== DEBUG CODE =============== //
var __b_debug_mode = true;
var tag_hdr = document.getElementsByTagName('head')[0];
['SIPml.js', 'src/tinySIP/src/tsip_api.js'].forEach(function (file) {
var tag_script = document.createElement('script');
tag_script.setAttribute('type', 'text/javascript');
tag_script.setAttribute('src', file + "?svn=20");
tag_hdr.appendChild(tag_script);
});
if (window.console) {
window.console.warn("YOUR ARE USING DEBUG CODE. PLEASE USE CODE UNDER 'release' FOLDER.");
}

// ================== RELEASE CODE =============== //
// http://code.google.com/p/sipml5/wiki/FAQ#How_to_reduce_the_size_of_the_scripts_before_deploying
//
1,488 changes: 1,488 additions & 0 deletions SIPml.js

Large diffs are not rendered by default.

549 changes: 260 additions & 289 deletions call.htm

Large diffs are not rendered by default.

352 changes: 352 additions & 0 deletions docgen.index.html

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions docgen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
java \
-Djsdoc.dir=./jsdoc-toolkit \
-jar ./jsdoc-toolkit/jsrun.jar \
./jsdoc-toolkit/app/run.js \
-t=./jsdoc-toolkit/templates/jsdoc \
-r=4 \
./SIPml.js \
-d=docgen \
-D="title:SIPml Library" \
-D"index:files"

cp docgen.index.html docgen/index.html

sed -i 's/="assets/="..\/assets/g' docgen/index.html
sed -i 's/="docgen\//="/g' docgen/index.html
sed -i 's/="images/="..\/images/g' docgen/index.html

sed -i 's/Namespace /AnonymousClass /g' docgen/symbols/SIPml.Session.Configuration.html
sed -i 's/Namespace /AnonymousClass /g' docgen/symbols/SIPml.Stack.Configuration.html
Binary file added google-closure-compiler.jar
Binary file not shown.
Binary file added images/classes.bmp
Binary file not shown.
Binary file added images/classes.dia
Binary file not shown.
Binary file added images/rectangle_256x256.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
169 changes: 104 additions & 65 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
padding-top: 80px;
padding-bottom: 40px;
}
tr.spaceUnder > td {
padding-bottom: 2em;
}
</style>
<link href="./assets/css/bootstrap-responsive.css" rel="stylesheet" />

Expand Down Expand Up @@ -50,9 +53,10 @@
<a class="brand" href="./index.html">Doubango Telecom</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="index.html?svn=13">Home</a></li>
<li class="active"><a href="index.html?svn=20">Home</a></li>
<li><a href="http://code.google.com/p/sipml5/source/checkout" target="_blank">Source code</a></li>
<li><a href="contact.htm?svn=13">Contact</a></li>
<li><a href="docgen/index.html?svn=20">Programmer's Guide</a></li>
<li><a href="contact.htm">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
Expand All @@ -67,71 +71,106 @@ <h2>World's first HTML5 SIP client</h2>
<p>This is the world's first open source HTML5 SIP client entirely written in javascript for integration in social networks (FaceBook, Twitter, Google+), online games, e-commerce websites... No extension, plugin or gateway is needed. The media stack rely on <a href="http://en.wikipedia.org/wiki/WebRTC" target="_blank">WebRTC</a>.<br />
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.<br />
</p>
<p><a class="btn btn-primary btn-large" href="call.htm?svn=13" target="_blank">Enjoy our live demo &raquo;</a></p>
<p><a class="btn btn-primary btn-large" href="call.htm?svn=20" target="_blank">Enjoy our live demo &raquo;</a></p>
</div>

<!-- Example row of columns -->
<div class="row-fluid">
<div class="span4">
<h3>Javascript SIP/SDP stack</h3>
<p>The SIP and SDP stacks (<b>~1 Mo</b>) are entirely written in javascript and the network transport uses WebSockets as per <a href="http://tools.ietf.org/html/draft-ibc-sipcore-sip-websocket-02">draft-ibc-sipcore-sip-websocket-02</a>.
This <a href="call.htm?svn=13" target="_blank">live demo</a> doesn't require any installation and can be used to connect to any SIP server using UDP, TCP or TLS transports.
</p>
<p>Short but not exhaustive list of supported features:</p>
<ul>
<li>Audio / Video call</li>
<li>Instant messaging</li>
<li>Presence</li>
<li>Call Hold / Resume</li>
<li>Explicit Call transfer</li>
<li>Multi-line and multi-account</li>
<li>Dual-tone multi-frequency signaling (DTMF) using SIP INFO</li>
</ul>
<p><a class="btn" href="http://code.google.com/p/sipml5/" target="_blank">View details &raquo;</a></p>
</div>
<div class="span4">
<h3>Media Stack</h3>
<p>The media stack depends on <a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC (Web Real Time Communication)</a> which is natively provided by the web browser.
<b>sipML5</b> should work on any web browser supporting WebRTC but we highly recommend using <a href="https://www.google.com/intl/en/chrome/browser/">Google Chrome 21.0.1180.60 m</a> or later for testing. <br />
For <b>Safari</b>, <b>Firefox</b>, <b>Opera</b> and <b>IE</b> you will need to install <a href="http://code.google.com/p/webrtc4all/downloads/list" target="_blank"> webrtc4all</a> extension. <br />
For more information on how to enable WebRTC on chrome, please visit <a href="http://code.google.com/p/sipml5/wiki/Enable_WebRTC_On_Chrome" target="_blank"> this page</a>.
</p>
<p><a class="btn" href="http://code.google.com/p/sipml5/wiki/Enable_WebRTC_On_Chrome" target="_blank">View details &raquo;</a></p>
</div>
<div class="span4">
<h3>Interoperability</h3>
<p>The implementation follows the standards defined by the <a href="http://tools.ietf.org/wg/rtcweb/" target="_blank">RTCWeb</a> and <a href="http://www.w3.org/TR/webrtc/" target="_blank">W3C</a> working groups. You can call any SIP client (mobile devices, browser, desktop client, set-top box...).</p>
<p>For interoperability with rich SIP clients we recommend:</p>
<ul>
<li><a href="http://code.google.com/p/boghe/">Boghe</a>: Windows XP, Vista and 7</li>
<li><a href="http://code.google.com/p/imsdroid/">IMSDroid</a>: Android</li>
<li><a href="http://code.google.com/p/idoubs/">iDoubs</a>: iOS (iPad, iPhone and iPod Touch) and MAC OS X</li>
</ul>
All these clients are developed using <a href="http://www.doubango.org" target="_blank"> Doubango IMS Framework</a>.
<p><a class="btn" href="http://code.google.com/p/sipml5/wiki/Calling_SIP_clients" target="_blank">View details &raquo;</a></p>
</div>
</div>

<br />

<table>
<tr>
<td>
<iframe id="ytplayer" type="text/html" width="512" height="312"
src="http://www.youtube.com/embed/ro3FFNx7d-g?autoplay=0&origin=http://sipml5.org"
frameborder="0"> </iframe>&nbsp;&nbsp;
</td>
<td>
<iframe id="Iframe1" type="text/html" width="512" height="312"
src="http://www.youtube.com/embed/7HEMyxAnATI?autoplay=0&origin=http://sipml5.org"
frameborder="0"> </iframe>
</td>
</tr>
<tr>
<td align="center"><i>Call between Google Chrome and iPad device</i></td>
<td align="center"><i>Call between Google Chrome and Android device</i></td>
</tr>
</table>

<table>
<tr class="spaceUnder"><td>
<table>
<tr><td><h2><a name="aSipSdpStack">Javascript SIP/SDP stack</a></h2></td></tr>
<tr class="spaceUnder"><td>
<p>The SIP and SDP stacks (<b>~1 Mo</b>) are entirely written in javascript and the network transport uses WebSockets as per <a href="http://tools.ietf.org/html/draft-ibc-sipcore-sip-websocket">draft-ibc-sipcore-sip-websocket</a>.
The <a href="call.htm?svn=13" target="_blank">live demo</a> doesn't require any installation and can be used to connect to any SIP server using UDP, TCP or TLS transports.
</p>
<p>Short but not exhaustive list of supported features:</p>
<ul>
<li>Audio / Video call</li>
<li>Instant messaging</li>
<li>Presence</li>
<li>Call Hold / Resume</li>
<li>Explicit Call transfer</li>
<li>Multi-line and multi-account</li>
<li>Dual-tone multi-frequency signaling (DTMF) using SIP INFO</li>
</ul>
<p><a class="btn" href="http://code.google.com/p/sipml5/" target="_blank">View details &raquo;</a></p>
</td></tr>
<tr><td align="center"><img alt="SIP Proxy architecture" src="http://webrtc2sip.googlecode.com/svn/trunk/documentation/images/architecture.png"/></td></tr>
<tr><td align="center"><i><u>sipML5 global solution architecture</u></i></td></tr>
</table>
</td></tr>

<tr><td>
<table>
<tr><td><h2><a name="aMediaStack">Media Stack</a></h2></td></tr>
<tr><td>
<p>The media stack depends on <a href="http://en.wikipedia.org/wiki/WebRTC">WebRTC (Web Real Time Communication)</a> which is natively provided by the web browser.
<b>sipML5</b> should work on any web browser supporting WebRTC but we highly recommend using <a href="https://www.google.com/intl/en/chrome/browser/">Google Chrome 21.0.1180.60 m</a> or later for testing. <br />
For <b>Safari</b>, <b>Firefox</b>, <b>Opera</b> and <b>IE</b> you will need to install <a href="http://code.google.com/p/webrtc4all/downloads/list" target="_blank"> webrtc4all</a> extension. <br />
</p>
</td></tr>
</table>
</td></tr>

<tr><td>
<table>
<tr><td><h2><a name="aInteroperability">Interoperability</a></h2></td></tr>
<tr><td>
<p>Using sipml5 and <a href="http://webrtc2sip.org">webrtc2sip.org</a> you can call any SIP-legacy endpoint or PSTN network. </p>
</td></tr>
</table>
</td></tr>

<tr class="spaceUnder"><td>
<table>
<tr><td><h2><a name="aInteroperability">Programing with sipML5 API</a></h2></td></tr>
<tr class="spaceUnder"><td>
<p>
The <a href="docgen/index.html">API</a> is designed with love to make it easy to develop rich and robust HTML5 applications in few lines of code. <br />
No need to know how SIP work to start writing your code. Using this <a href="docgen/index.html">API</a>, it will be a piece of cake to write HTML5 VoIP applications. <br />
Below, a very compact code showing how to initialize the engine, start the stack and make video call from <i>bob</i> to <i>alice</i> in <b>less than 15 lines</b>:
</p>
<pre><code>
<a href="docgen/symbols/SIPml.html#.init">SIPml.init</a>(
function(e){
var stack = new <a href="docgen/symbols/SIPml.Stack.html#constructor">SIPml.Stack</a>({realm: 'example.org', impi: 'bob', impu: 'sip:[email protected]', password: 'mysecret',
events_listener: { events: 'started', listener: function(<a href="docgen/symbols/SIPml.Stack.Event.html">e</a>){
var callSession = stack.<a href="docgen/symbols/SIPml.Stack.html#newSession">newSession</a>('call-audiovideo', {
video_local: document.getElementById('video-local'),
video_remote: document.getElementById('video-remote')
});
callSession.<a href="docgen/symbols/SIPml.Session.Call.html#call">call</a>('alice');
}
}
});
stack.<a href="docgen/symbols/SIPml.Stack.html#start">start</a>();
}
);
</code></pre>
</td></tr>
</table>
</td></tr>

</table>

<table>
<tr>
<td>
<iframe id="ytplayer" type="text/html" width="512" height="312"
src="http://www.youtube.com/embed/ro3FFNx7d-g?autoplay=0&origin=http://sipml5.org"
frameborder="0"> </iframe>&nbsp;&nbsp;
</td>
<td>
<iframe id="Iframe1" type="text/html" width="512" height="312"
src="http://www.youtube.com/embed/7HEMyxAnATI?autoplay=0&origin=http://sipml5.org"
frameborder="0"> </iframe>
</td>
</tr>
<tr>
<td align="center"><i>Call between Google Chrome and iPad device</i></td>
<td align="center"><i>Call between Google Chrome and Android device</i></td>
</tr>
</table>

<hr />
<g:plus href="https://plus.google.com/107177632824809995368" rel="author"></g:plus>
Expand Down
Loading

0 comments on commit a3acfee

Please sign in to comment.