From timuckun at gmail.com Thu Jun 7 20:10:40 2007 From: timuckun at gmail.com (Tim Uckun) Date: Fri, 8 Jun 2007 12:10:40 +1200 Subject: [Telegraph-users] Configuring the AGI server. Message-ID: <855e4dcf0706071710l11ee2037n8f34fb1d1d628726@mail.gmail.com> Hello. I want to specify a non standard port for the AGI server. Do I change the config.rb in the lib or is there a YAML file someplace? Thanks. From jpalley at gmail.com Fri Jun 8 01:17:07 2007 From: jpalley at gmail.com (Jonathan Palley) Date: Thu, 7 Jun 2007 22:17:07 -0700 Subject: [Telegraph-users] Configuring the AGI server. In-Reply-To: <855e4dcf0706071710l11ee2037n8f34fb1d1d628726@mail.gmail.com> References: <855e4dcf0706071710l11ee2037n8f34fb1d1d628726@mail.gmail.com> Message-ID: <2d8777c00706072217o35a09576xd89c86c746bd9851@mail.gmail.com> No YML right now. You can change it in the library or probably better override it in your environments.rb. If you want to add in a yml config that would be great! Jonathan On 6/7/07, Tim Uckun wrote: > > Hello. > > I want to specify a non standard port for the AGI server. Do I change > the config.rb in the lib or is there a YAML file someplace? > > Thanks. > _______________________________________________ > Telegraph-users mailing list > Telegraph-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/telegraph-users > -- Jonathan Palley | Idapted Inc. jpalley at idapted.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070607/ae962600/attachment.html From anthony at openadvantage.org Fri Jun 8 08:53:21 2007 From: anthony at openadvantage.org (Anthony Ramm) Date: Fri, 8 Jun 2007 13:53:21 +0100 Subject: [Telegraph-users] banking_demo on a distant server Message-ID: Hello there. I think the reason you can't connect to your distant server is because your agi_server running on port 4573 is only bound to the localhost. I've changed line 48 of lib/call_server.rb from @config[:BindAddress]='localhost' to @config[:BindAddress]= Telegraph::Config::Globals['agiServer'] || 'localhost' Then in your environment.rb file you can Telegraph::Config::Globals["agiServer"] = "0.0.0.0" When you run the call server it will then bind to any available IP address. I've also submitted a patch to the rubyforge page. Hope this helps Anthony ----- Anthony Ramm OpenAdvantage Systems Specialist T: 0121 6341620 F: 0121 6341630 http://www.openadvantage.org/ http://cumu.li/ Be enlightened - you are in control To find out more about our free IT consultancy and to visit a place on a seminar or training workshop visit http://www.openadvantage.org/ events Freedom, Choice, Control From anthony at openadvantage.org Fri Jun 8 08:35:39 2007 From: anthony at openadvantage.org (Anthony Ramm) Date: Fri, 8 Jun 2007 13:35:39 +0100 Subject: [Telegraph-users] banking_demo on a distant server Message-ID: <09EFA076-A25C-44EF-9379-3793DBB64AA4@openadvantage.org> Hello there. I think the reason you can't connect to your distant server is because your agi_server running on port 4573 is only bound to the localhost. I've changed line 48 of lib/call_server.rb from @config[:BindAddress]='localhost' to @config[:BindAddress]= Telegraph::Config::Globals['agiServer'] || 'localhost' Then in your environment.rb file you can Telegraph::Config::Globals["agiServer"] = "0.0.0.0" When you run the call server it will then bind to any available IP address. Hope this helps Anthony ----- Anthony Ramm OpenAdvantage Systems Specialist T: 0121 6341620 F: 0121 6341630 http://www.openadvantage.org/ http://cumu.li/ Be enlightened - you are in control To find out more about our free IT consultancy and to visit a place on a seminar or training workshop visit http://www.openadvantage.org/ events Freedom, Choice, Control From chichgu at gmail.com Fri Jun 8 11:04:31 2007 From: chichgu at gmail.com (Hoang-Anh Phan) Date: Fri, 8 Jun 2007 16:04:31 +0100 Subject: [Telegraph-users] banking_demo on a distant server In-Reply-To: References: Message-ID: Hi Thanks for the tip. I've tested it and it fixes the problem. Now there's the problem of fetching audio files from a distant server. I was thinking of using a system/trysystem call with wget to save the file to a tmp file on the asterisk box. Something like (in call_connection.rb): def prepare_audio(soundName) if File.exists?(soundName) suffix = File.extname(soundName) tmpFile = "/tmp/#{File.basename(soundName, suffix)}" soundUrl = soundName.gsub(Telegraph::Config::Globals["SOUNDPATH"], Telegraph::Config::Globals["SOUNDURL"]) exec("System", "(/bin/echo \"#{soundUrl}\" >> /tmp/prepare_audio.log)") exec("System", "(/usr/bin/wget #{soundUrl} -O #{tmpFile}#{suffix})") exec("playback", tmpFile) tmpFile else soundName end end However it seems that the call isn't executed. I tried as well with a simple /bin/echo instead of the wget command, but without success. Do you know if there's any restriction on using some applications like System with AGI? In the CLI with agi debug on, it seems alright to me: AGI Rx << EXEC System (/bin/echo " http://morcheeba:3000/sounds/banking-main-menu.sln" >> /tmp/prepare_audio.log) AGI Tx >> 200 result=0 AGI Rx << EXEC System (/usr/bin/wget http://morcheeba:3000/sounds/banking-main-menu.sln -O /tmp/banking- main-menu.sln) AGI Tx >> 200 result=0 Finally, if I call the System app directly by editing extensions.conf, it works fine. So I was thinking I could go for a macro instead. What do you think? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070608/1ddcaa06/attachment.html From jpalley at gmail.com Sun Jun 10 04:49:32 2007 From: jpalley at gmail.com (Jonathan Palley) Date: Sun, 10 Jun 2007 01:49:32 -0700 Subject: [Telegraph-users] banking_demo on a distant server In-Reply-To: References: Message-ID: <2d8777c00706100149t16eb6c5fm2ce9787c94af9731@mail.gmail.com> Have you had any more luck with this? It seems to me like it should work as well, but I haven't had a chance to play around with it. I'll give it a shot in the next few days - let us know if you discover anything! JP On 6/8/07, Hoang-Anh Phan wrote: > > Hi > > Thanks for the tip. I've tested it and it fixes the problem. > > Now there's the problem of fetching audio files from a distant server. > > I was thinking of using a system/trysystem call with wget to save the file > to a tmp file on the asterisk box. Something like (in call_connection.rb): > > def prepare_audio(soundName) > if File.exists?(soundName) > suffix = File.extname(soundName) > tmpFile = "/tmp/#{File.basename(soundName, suffix)}" > soundUrl = soundName.gsub(Telegraph::Config::Globals["SOUNDPATH"], > Telegraph::Config::Globals["SOUNDURL"]) > exec("System", "(/bin/echo \"#{soundUrl}\" >> > /tmp/prepare_audio.log)") > exec("System", "(/usr/bin/wget #{soundUrl} -O > #{tmpFile}#{suffix})") > exec("playback", tmpFile) > tmpFile > else > soundName > end > end > > However it seems that the call isn't executed. I tried as well with a > simple /bin/echo instead of the wget command, but without success. Do you > know if there's any restriction on using some applications like System with > AGI? > > In the CLI with agi debug on, it seems alright to me: > AGI Rx << EXEC System (/bin/echo "http://morcheeba:3000/sounds/banking-main-menu.sln > " >> /tmp/prepare_audio.log) > AGI Tx >> 200 result=0 > AGI Rx << EXEC System (/usr/bin/wget http://morcheeba:3000/sounds/banking-main-menu.sln > -O /tmp/banking-main-menu.sln) > AGI Tx >> 200 result=0 > > Finally, if I call the System app directly by editing extensions.conf, it > works fine. So I was thinking I could go for a macro instead. What do you > think? > > > _______________________________________________ > Telegraph-users mailing list > Telegraph-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/telegraph-users > > -- Jonathan Palley | Idapted Inc. jpalley at idapted.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070610/5aecc28e/attachment.html From chichgu at gmail.com Tue Jun 12 10:33:58 2007 From: chichgu at gmail.com (Hoang-Anh Phan) Date: Tue, 12 Jun 2007 15:33:58 +0100 Subject: [Telegraph-users] banking_demo on a distant server In-Reply-To: <2d8777c00706100149t16eb6c5fm2ce9787c94af9731@mail.gmail.com> References: <2d8777c00706100149t16eb6c5fm2ce9787c94af9731@mail.gmail.com> Message-ID: It is working pretty well with a macro like this: [macro-prepare-audio] exten => s,1,System(/usr/bin/wget ${ARG1} -O ${ARG2}) which can be called this way in call_connection.rb: exec("Macro", "prepare-audio|\"#{soundUrl}\"|\"#{tmpFile}#{suffix}\"") exec("playback", tmpFile) Audio files need to be moved to the public folder so that wget can fetch them. Using this, the next stage would be to have some kind of cache mechanism to mimic the voicexml maxstale, maxage properties. I'm not sure how this solution would scale though... -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070612/8d03629a/attachment.html From timuckun at gmail.com Thu Jun 14 01:00:19 2007 From: timuckun at gmail.com (Tim Uckun) Date: Thu, 14 Jun 2007 17:00:19 +1200 Subject: [Telegraph-users] Killing the AGi server on windows. Message-ID: <855e4dcf0706132200s4542c35fre554a6d46b6c9d5b@mail.gmail.com> Hey I finally got around to playing with telegraph. Very nice. I do have one problem though. When I start the AGI server I can't kill it with CTRL-C in windows. I have to go to the task manager and kill the ruby process from there. Am I missing something here? From edgargonzalez at gmail.com Thu Jun 14 12:45:40 2007 From: edgargonzalez at gmail.com (Edgar Gonzalez) Date: Thu, 14 Jun 2007 12:45:40 -0400 Subject: [Telegraph-users] How to make a call transfer? and bug fixed for update.redirect in ami_server Message-ID: Hello, I'm a newbie in Asterisk world I can make a call using something like this: AMIModel.create(:call, :channel=>'SIP/11', :context=>'from-internal', :exten=>'13',:priority=>1) Now I want to transfer the call to another extension, but I don't know how. I'm reading Asterisk Manager API (http://www.voip-info.org/wiki/view/Asterisk+manager+API), and I find that I have to use the redirect function, what in telegraph world should be something like this: AMIModel.update(:redirect, ...) my problem is that the current channels are some like this (after run in asterisk-cr the command: show channels) Channel SIP/99-09f21ac8 SIP/11-09ec47c8 How do I to retrieve the current channels from telegraph? how do I to retrieve the string after SIP/xx- ? btw, in lib/ami_manager.rb there is a bug in line #36 the param should be :exten instead of :extension thanks in advance -- Edgar Gonz?lez Gonz?lez E-mail: edgargonzalez at gmail.com http://lacaraoscura.com http://rubycorner.com http://to2blogs.com -- From jpalley at gmail.com Thu Jun 14 13:35:59 2007 From: jpalley at gmail.com (Jonathan Palley) Date: Thu, 14 Jun 2007 10:35:59 -0700 Subject: [Telegraph-users] Killing the AGi server on windows. In-Reply-To: <855e4dcf0706132200s4542c35fre554a6d46b6c9d5b@mail.gmail.com> References: <855e4dcf0706132200s4542c35fre554a6d46b6c9d5b@mail.gmail.com> Message-ID: <2d8777c00706141035j7f19e414q59b460eb19d0dff6@mail.gmail.com> Hi Tim - I haven't been able to test out Telegraph on windows. I think, although don't really know, that some of the TERM catching code has to be OS specific and its possible it is not correct for windows. If you look at the script/agi_server file perhaps you can figure it out? If you can figure out the fix that would be great. Thanks, Jonathan On 6/13/07, Tim Uckun wrote: > > Hey I finally got around to playing with telegraph. Very nice. > > I do have one problem though. When I start the AGI server I can't kill > it with CTRL-C in windows. I have to go to the task manager and kill > the ruby process from there. > > Am I missing something here? > _______________________________________________ > Telegraph-users mailing list > Telegraph-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/telegraph-users > -- Jonathan Palley | Idapted Inc. jpalley at idapted.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070614/1ecc53ee/attachment.html From jpalley at gmail.com Thu Jun 14 13:41:35 2007 From: jpalley at gmail.com (Jonathan Palley) Date: Thu, 14 Jun 2007 10:41:35 -0700 Subject: [Telegraph-users] How to make a call transfer? and bug fixed for update.redirect in ami_server In-Reply-To: References: Message-ID: <2d8777c00706141041l4eddec03m898efef8efd42744@mail.gmail.com> Edgar - Thanks for the bug report. To get the current channels, check out AMIModel.find(:status, :channel=>''). That's basically the AMI equivalent of show channels. Check out the example application to see this in use. Best, Jonathan On 6/14/07, Edgar Gonzalez wrote: > > Hello, > > I'm a newbie in Asterisk world > > I can make a call using something like this: > > AMIModel.create(:call, :channel=>'SIP/11', :context=>'from-internal', > :exten=>'13',:priority=>1) > > Now I want to transfer the call to another extension, but I don't know > how. I'm reading Asterisk Manager API > (http://www.voip-info.org/wiki/view/Asterisk+manager+API), and I find > that I have to use the redirect function, what in telegraph world > should be something like this: > > AMIModel.update(:redirect, ...) > > my problem is that the current channels are some like this (after run > in asterisk-cr the command: show channels) > > Channel > SIP/99-09f21ac8 > SIP/11-09ec47c8 > > How do I to retrieve the current channels from telegraph? how do I to > retrieve the string after SIP/xx- ? > > btw, in lib/ami_manager.rb there is a bug in line #36 the param should > be :exten instead of :extension > > thanks in advance > -- > Edgar Gonz?lez Gonz?lez > E-mail: edgargonzalez at gmail.com > http://lacaraoscura.com > http://rubycorner.com > http://to2blogs.com > -- > _______________________________________________ > Telegraph-users mailing list > Telegraph-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/telegraph-users > -- Jonathan Palley | Idapted Inc. jpalley at idapted.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070614/fdaa7676/attachment.html From timuckun at gmail.com Tue Jun 19 21:30:09 2007 From: timuckun at gmail.com (Tim Uckun) Date: Wed, 20 Jun 2007 13:30:09 +1200 Subject: [Telegraph-users] A better way of handling config. Message-ID: <855e4dcf0706191830y6f40b44dge05e2812cbd1126@mail.gmail.com> I am not a ruby guru by any means but I made the following modification to the config.rb to make it easier to configure the application and also to make it more "rails-ish". Basically it reads a yaml file for the information it needs but the setting can be overridden by the RAI_ environment variables. I have included the code and a sample YAML file. --------------config.rb-------------- require 'webrick/config' require 'yaml' #require 'RAI/call_handler' module Telegraph begin TELEGRAPH_CONF = YAML.load_file(RAILS_ROOT + '/config/telegraph.yaml')[RAILS_ENV] rescue TELEGRAPH_CONF = {} end DEFAULT_PORT = TELEGRAPH_CONF['agi_port'] ||= 4574 module Config # for HTTPServer, HTTPRequest, HTTPResponse ... Standard = WEBrick::Config::General.dup.update( :Port => Telegraph::DEFAULT_PORT ) Globals = { # Name of the box running the agi server, so that asterisk can find it # by default this will use your Ruby server's name "agiServer" => TELEGRAPH_CONF['agi_server'], #'192.168.50.151', #:BindAddress # Path to use for saving outgoing call files "outgoingCallPath" => ENV['RAI_OUT_CALL_PATH'] || TELEGRAPH_CONF['outgoing_call_path'] || "/var/spool/asterisk/outgoing" , # Path to use for saving wakeup call files "wakeupCallPath" => ENV['RAI_WAKEUP_CALL_PATH'] || TELEGRAPH_CONF['wakeup_call_path'] || "var/spool/asterisk/wakeups", "SOUNDPATH" => ENV['RAI_SOUND_PATH'] || TELEGRAPH_CONF['sound_path'] || File.expand_path(File.join(RAILS_ROOT,'sounds')), "RECORDINGPATH" => ENV['RAI_RECORDING_PATH'] || TELEGRAPH_CONF['recording_path'] || File.expand_path(File.join(RAILS_ROOT,'public/sound_files')) } end end -----------------telegraph.yaml----------------------- development: agi_server: 192.168.50.151 agi_port: 4574 outgoing_call_path: /var/spool/asterisk/outgoing wakeup_call_path: /var/spool/asterisk/wakeups sound_path: /var/lib/asterisk/sounds recording_path: /var/lib/asterisk/sounds test: agi_server: 192.168.50.151 agi_port: 4574 outgoing_call_path: /var/spool/asterisk/outgoing wakeup_call_path: var/spool/asterisk/wakeups sound_path: recording_path: production: agi_server: 192.168.50.151 agi_port: 4574 outgoing_call_path: /var/spool/asterisk/outgoing wakeup_call_path: var/spool/asterisk/wakeups sound_path: recording_path: From mmangino at elevatedrails.com Wed Jun 20 19:27:12 2007 From: mmangino at elevatedrails.com (Mike Mangino) Date: Wed, 20 Jun 2007 18:27:12 -0500 Subject: [Telegraph-users] Problems with remote AGI and redirect Message-ID: <281E76A1-9C48-4AA8-BD5F-FFC3B82D61F2@elevatedrails.com> Has anyone successfully used telegraph on a remote host? I'm having problems with redirect failing. I get: Processing CallsController#index (for 0.0.0.0 at 2007-06-20 18:21:41) [POST] [2007-06-20 18:21:41] INFO Session ID: 7da03cac80a6c6b37b70a97b4ef18995 [2007-06-20 18:21:41] INFO Parameters: {"action"=>"index", "controller"=>"CallsController"} nil [2007-06-20 18:21:43] INFO Redirected to http://agi:84837/calls Is this really looking at the host and making a new request? That's never going to work for me, since the port used is an ephemeral port. On an unrelated note, how do I get the Caller id of the party dialing in? It doesn't look like it is in the params hash. Mike -- Mike Mangino http://www.elevatedrails.com From timuckun at gmail.com Wed Jun 20 19:31:16 2007 From: timuckun at gmail.com (Tim Uckun) Date: Thu, 21 Jun 2007 11:31:16 +1200 Subject: [Telegraph-users] Problems with remote AGI and redirect In-Reply-To: <281E76A1-9C48-4AA8-BD5F-FFC3B82D61F2@elevatedrails.com> References: <281E76A1-9C48-4AA8-BD5F-FFC3B82D61F2@elevatedrails.com> Message-ID: <855e4dcf0706201631g79a10c6fw5f91894b809cf569@mail.gmail.com> > > > Is this really looking at the host and making a new request? That's > never going to work for me, since the port used is an ephemeral port. The Agi server only connects to 127.0.0.1 There is a patch on the rubyforge site which fixes a bug and sets that to the config file. I also posted an email yesterday on how to set up a YAML file for production, testing and dev so you can specify your host accordingly. From mmangino at elevatedrails.com Wed Jun 20 19:36:26 2007 From: mmangino at elevatedrails.com (Mike Mangino) Date: Wed, 20 Jun 2007 18:36:26 -0500 Subject: [Telegraph-users] Problems with remote AGI and redirect In-Reply-To: <855e4dcf0706201631g79a10c6fw5f91894b809cf569@mail.gmail.com> References: <281E76A1-9C48-4AA8-BD5F-FFC3B82D61F2@elevatedrails.com> <855e4dcf0706201631g79a10c6fw5f91894b809cf569@mail.gmail.com> Message-ID: I already fixed that. I can make the initial connection, I just can't redirect. I'll dig through the implementation of that tomorrow. At least I got something working! Mike On Jun 20, 2007, at 6:31 PM, Tim Uckun wrote: >> >> >> Is this really looking at the host and making a new request? That's >> never going to work for me, since the port used is an ephemeral port. > > The Agi server only connects to 127.0.0.1 There is a patch on the > rubyforge site which fixes a bug and sets that to the config file. > > I also posted an email yesterday on how to set up a YAML file for > production, testing and dev so you can specify your host accordingly. -- Mike Mangino http://www.elevatedrails.com From timuckun at gmail.com Wed Jun 20 19:43:49 2007 From: timuckun at gmail.com (Tim Uckun) Date: Thu, 21 Jun 2007 11:43:49 +1200 Subject: [Telegraph-users] AMI server doesn't start. Message-ID: <855e4dcf0706201643g3e69aaa7o1876d55a5aa569a3@mail.gmail.com> I get the following error when I attempt to start the AMI server. D:\Source\trunk\borg\telegraph_test>ruby script\ami_server d:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- script/../vendor/plu gins/rai/lib/ami_server (LoadError) from d:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from script/ami_server:79:in `start' from script/ami_server:65:in `send' from script/ami_server:65:in `initialize' from script/ami_server:170:in `new' from script/ami_server:170 What am I missing here? Also how do I specify which machine my asterisk server is on? What is the equivalent of.. ami_server = Rami::Server.new({'host' => '192.168.3.1', 'username' => 'username', 'secret' => 'password'}) From timuckun at gmail.com Wed Jun 20 19:44:52 2007 From: timuckun at gmail.com (Tim Uckun) Date: Thu, 21 Jun 2007 11:44:52 +1200 Subject: [Telegraph-users] Problems with remote AGI and redirect In-Reply-To: References: <281E76A1-9C48-4AA8-BD5F-FFC3B82D61F2@elevatedrails.com> <855e4dcf0706201631g79a10c6fw5f91894b809cf569@mail.gmail.com> Message-ID: <855e4dcf0706201644h5f2d91aj7a79ecf492950e7f@mail.gmail.com> On 6/21/07, Mike Mangino wrote: > I already fixed that. I can make the initial connection, I just can't > redirect. I'll dig through the implementation of that tomorrow. At > least I got something working! > > Let us know your progress. I got some things working too but others I am not having so much luck with. From jpalley at gmail.com Wed Jun 20 23:25:41 2007 From: jpalley at gmail.com (Jonathan Palley) Date: Wed, 20 Jun 2007 20:25:41 -0700 Subject: [Telegraph-users] AMI server doesn't start. In-Reply-To: <855e4dcf0706201643g3e69aaa7o1876d55a5aa569a3@mail.gmail.com> References: <855e4dcf0706201643g3e69aaa7o1876d55a5aa569a3@mail.gmail.com> Message-ID: <2d8777c00706202025r45b36d9sd4f8efc04ee5c211@mail.gmail.com> Look at "Loading it up" here: http://telegraph.rubyforge.org/wiki/wiki.pl?UsingAMI The key line is Telegraph::AsteriskManager.establish_connection!(:username=>'user', :secret=>'password') Jonathan On 6/20/07, Tim Uckun wrote: > > I get the following error when I attempt to start the AMI server. > > D:\Source\trunk\borg\telegraph_test>ruby script\ami_server > d:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in > `gem_original_require': no such file to load -- script/../vendor/plu > gins/rai/lib/ami_server (LoadError) > from > d:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in > `require' > from script/ami_server:79:in `start' > from script/ami_server:65:in `send' > from script/ami_server:65:in `initialize' > from script/ami_server:170:in `new' > from script/ami_server:170 > > > What am I missing here? > > Also how do I specify which machine my asterisk server is on? What is > the equivalent of.. > > ami_server = Rami::Server.new({'host' => '192.168.3.1', 'username' => > 'username', 'secret' => 'password'}) > _______________________________________________ > Telegraph-users mailing list > Telegraph-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/telegraph-users > -- Jonathan Palley | Idapted Inc. jpalley at idapted.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/telegraph-users/attachments/20070620/b12f539e/attachment-0001.html