I am putting a bounty to add RESTful WebServices in FreeSwitch.<br>The bounty ask that TONIC is use as the RESTful Framework.<br>TONIC should then be use to create simple CALLback application and establish ad-hoc VoiceConference.<br>
<br>To those not familiar with TONIC here is write up.<br><h2><a class="doap-name" href="http://tonic.sourceforge.net/" rel="doap-homepage">Tonic</a> <span class="doap-shortdesc">A <strong class="framework-design">REST</strong>ful Web App Development Framework</span></h2>
<div class="doap-description">
<p>Tonic is an open source less is more, RESTful Web application development and Web site management <span class="doap-programming-language">PHP</span>
script designed to do things "the right way", where resources are king
and the framework gets out of the way and leaves the developer to get
on with it.
</p>
<p>Tonic helps you develop Web applications that embrace the way the
Web really works, enabling your applications to scale, extend and work
with other systems easily.
</p>
</div>
<dl><dt class="framework-principle">Everything is a resource</dt><dd>Tonic
works exclusively with resources, a resource is simply a piece of data
with some metadata accessable by a URL using HTTP methods. Everything
within a Tonic system is a resource and so can be handled via the
standard HTTP interface.</dd><dt class="framework-principle">Domain modelling through resources</dt><dd>When modelling your problem domain within a Tonic system, every domain object is a resource or a collection of resources.</dd>
<dt class="framework-principle">Keep it simple, stupid!</dt><dd>Following
the Unix philosophy of many small parts working together via a common
interface, Tonic uses resources as it's "programs" and HTTP as it's
"streams" to enable you to build complexity out of simplicity.</dd></dl>
<h3>Main features</h3>
        <p>Tonic embraces a number of standard Web
features and best practices, as well as features, principles and ideas
taken from PHP, Unix, and other software design patterns:</p>
<ul><li class="framework-feature">Resource editing via HTTP PUT and DELETE methods (or via the Resource::save() and Resource::remove() PHP methods)</li><li class="framework-feature">Easy to extend via new resource classes</li>
<li class="framework-feature">HTTP basic and digest authentication</li><li class="framework-feature">Resource method permissions to provide authorisation to individual resource methods</li><li class="framework-feature">Output templating via Smarty</li>
<li class="framework-feature">Output caching via HTTP 304 response codes and modified headers</li><li class="framework-feature">Extendable resource storage types via adapters</li><li class="framework-feature">Content negotiation</li>
<li class="framework-feature">Match multiple URLs to a single resource</li><li class="framework-feature">Follows Unix modular design principles</li></ul><br>And here is why everything one does or will do, should be done via RESTFul messaging..<br>
Think about it, Google, AMAZON, YAHOO have standardized on REST.<br><br><a href="http://www.infoq.com/articles/rest-introduction">http://www.infoq.com/articles/rest-introduction</a><br><a href="http://wiki.opengarden.org/REST/REST_for_the_Rest_of_Us">http://wiki.opengarden.org/REST/REST_for_the_Rest_of_Us</a><br>
<a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">http://en.wikipedia.org/wiki/Representational_State_Transfer</a><br><a href="http://rest.blueoxen.net/cgi-bin/wiki.pl?FrontPage">http://rest.blueoxen.net/cgi-bin/wiki.pl?FrontPage</a><br>
<a href="http://www.jibbering.com/2002/4/httprequest.html">http://www.jibbering.com/2002/4/httprequest.html</a><br><a href="http://java.sun.com/developer/technicalArticles/WebServices/restful/">http://java.sun.com/developer/technicalArticles/WebServices/restful/</a><br>
<a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/software_arch.htm#sec_1_2">http://www.ics.uci.edu/~fielding/pubs/dissertation/software_arch.htm#sec_1_2</a> ******<br><br>-E<br><a href="http://mobiquity.ws">http://mobiquity.ws</a><br>