Also, did you know that mod_xml_rpc not only does RPC but it also lets you access FSAPI functions by URL access which sounds to be the same idea as this. Try it by building and loading mod_xml_rpc The point your web browser at it http://my.fs.box:8080/webapi/status The default login/password is "freeswitch/works" The voicemail app can do this too see: http://my.fs.box:8080/api/voicemail/web you can actually use user@domain login based on your vm directory and auth per user and see your VM on the web. When you go to /webapi/foo FSAPI function foo is called after an implicit content-type: text/html is sent. if you go to /api/foo it is up to your function to print the Content-Type header similar to a cgi On Tue, May 27, 2008 at 10:46 AM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
cool, how much is the bounty?
On Tue, May 27, 2008 at 10:42 AM, EdPimentl <edpimentl@gmail.com> wrote:
I am putting a bounty to add RESTful WebServices in FreeSwitch. The bounty ask that TONIC is use as the RESTful Framework. TONIC should then be use to create simple CALLback application and establish ad-hoc VoiceConference.
To those not familiar with TONIC here is write up. Tonic <http://tonic.sourceforge.net/> A *REST*ful Web App Development Framework
Tonic is an open source less is more, RESTful Web application development and Web site management PHP 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.
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. Everything is a resourceTonic 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.Domain modelling through resourcesWhen modelling your problem domain within a Tonic system, every domain object is a resource or a collection of resources. Keep it simple, stupid!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. Main features
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:
- Resource editing via HTTP PUT and DELETE methods (or via the Resource::save() and Resource::remove() PHP methods) - Easy to extend via new resource classes - HTTP basic and digest authentication - Resource method permissions to provide authorisation to individual resource methods - Output templating via Smarty - Output caching via HTTP 304 response codes and modified headers - Extendable resource storage types via adapters - Content negotiation - Match multiple URLs to a single resource - Follows Unix modular design principles
And here is why everything one does or will do, should be done via RESTFul messaging.. Think about it, Google, AMAZON, YAHOO have standardized on REST.
http://www.infoq.com/articles/rest-introduction http://wiki.opengarden.org/REST/REST_for_the_Rest_of_Us http://en.wikipedia.org/wiki/Representational_State_Transfer http://rest.blueoxen.net/cgi-bin/wiki.pl?FrontPage http://www.jibbering.com/2002/4/httprequest.html http://java.sun.com/developer/technicalArticles/WebServices/restful/
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400