FYI, I've been playing with this and it is very cool. I am working on a mini web-page that will be like a control panel, although it's just for me to watch what's happening on my FS box via a web page using Dojo widgets + Ajax/(D)HTML/CSS. I have a need for my users to be able to monitor certain aspects of OpenZAP calls/spans and a simple web page is the best option I've got. The webapi is very cool - you can fetch via the web interface anything that you could type at the CLI and get it back in an HTML table, or in some cases, raw text. (I'm using 8080/api/oz?list, etc. for OpenZAP list/dump commands but I'm using 8080/webapi/show?channels, etc. for the more traditional CLI commands.) Note: use the question mark to separate the command from the first argument, and then spaces to separate additional arguments: http://my.fs.box:8080/webapi/show?channels http://my.fs.box:8080/webapi/oz?dump 1 -or- http://my.fs.box:8080/webapi/oz?dump%201 Enjoy! -MC ________________________________ From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: Tuesday, May 27, 2008 9:40 AM To: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] RESTful Bounty ..... Putting the competitionto REST with RestFul VoIP2.x services 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 RESTful 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 resource 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. Domain modelling through resources When 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/ http://www.ics.uci.edu/~fielding/pubs/dissertation/software_arch.htm#sec _1_2 <http://www.ics.uci.edu/%7Efielding/pubs/dissertation/software_arch.htm# sec_1_2> ****** -E http://mobiquity.ws _______________________________________________ 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 <mailto:MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com <mailto:PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org <mailto: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 <mailto:MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com <mailto:PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org <mailto:googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400