[Ruby] Looking for beta testers for a Ruby (on Rails) phone call API/web service
James Moore
banshee at banshee.com
Wed Jan 3 22:56:31 PST 2007
I'm looking for some beta testers for RESTPhone - it's a Ruby on Rails API
for making and receiving phone calls. You can use it in two ways - either
as a web service (there's a REST interface) where I handle the actual calls,
or you can use it on your own Asterisk server.
(It's only Ruby on Rails because it's using ActiveRecord, FYI.)
Note - eventually the phone calls via REST service bits will cost actual
money - charges yet to be determined (have to pay the phone company
somehow). No charges during the beta though, and of course no charges if
you're running on your own Asterisk server - MIT license on the code. No
charges at all related to using the code that is; you'll still need to pay
someone to ship around your calls if you want to hit the public phone
network. If you know how to do this for free I'd love to have a
conversation with you :-].
Send me mail if you're interested or have any questions. Code's available
from Rubyforge now, but I'm still working on documentation (and the running
it on your own Asterisk server bit is pretty much undocumented at this
point, but I'd be happy to answer questions) and I'm fully prepared to help
anyone who's interested in implementing phone systems. (I'm not a
professional tech writer by any means, so one of the points of the beta will
be to help me figure out what bits aren't obvious.)
To get the code:
ruby script/plugin install svn://rubyforge.org/var/svn/bansheetalk/trunk
There's a basic demo if you call +1 206 400 2414, and visit
www.nosinglepointoffailure.com.
The interface for building the voice menu on the demo looks like:
def self.create_menus
# Specify the username and password for your restphone.com account.
builder_args = {
:uname => 'default_customer',
:pword => 'xxxxx'
}
# Create the menu building object
builder = RestPhone::PhoneMenuBuilderRemote.new builder_args
# Create a menu that plays a brief announcement, then waits
# for the user to key up to two numbers on their phone.
builder.create_menu :name => 'default_menu' do |m|
m.goto :goto => 'got_dtmf',
:dtmf_length => 2,
:dtmf => '*',
:prompt => {:text => "Welcome to the Banshee Talk demonstration
system. Press one or two keys to display on the demonstration site."}
end
# Create a menu that plays a thankyou, then posts the
# keys recevied to the remote URL.
builder.create_menu :name => :got_dtmf do |m|
m.post :url =>
"http://www.nosinglepointoffailure.com/dtmf_checks/create"
m.audio :prompt => {:text => "Thank you."}
m.previous
end
# Put these menus on the restphone.com server
builder.push
end
When you hit keys talking to the demo, the posts to
nosinglepointoffailure.com look like:
Processing DtmfChecksController#create (for 216.182.228.122 at 2007-01-04
01:37:18) [POST]
Session ID: e0d76b2650c7eb72877c612d4269857d
Parameters: {"action"=>"create", "controller"=>"dtmf_checks",
"caller_id"=>"removed", "caller_id_name"=>"Moore James ", "dtmf"=>"99"}
- James
More information about the Ruby
mailing list