Revision
14493
Author
diegoviola
Date
2009-08-11 23:11:33 -0500 (Tue, 11 Aug 2009)

Log Message

added fs_sleep

Modified Paths

Diff

Modified: freeswitch/trunk/contrib/diegoviola/ruby/callcard/callcard.rb (14492 => 14493)


--- freeswitch/trunk/contrib/diegoviola/ruby/callcard/callcard.rb	2009-08-11 22:50:52 UTC (rev 14492)
+++ freeswitch/trunk/contrib/diegoviola/ruby/callcard/callcard.rb	2009-08-12 04:11:33 UTC (rev 14493)
@@ -1,5 +1,6 @@
-#!/usr/bin/env ruby
+#!/usr/bin/ruby
 
+require 'rubygems'
 require 'fsr'
 require 'fsr/listener/outbound'
 require 'activerecord'
@@ -24,27 +25,29 @@
     dial_tone = "tone_stream://%(10000,0,350,440)"
     FSR::Log.info "*** Answering incoming call from #{exten}"
     answer do
-      play_and_get_digits(pin_wav, bad_pin_wav, 2, 10, 3, 7000, ["#"], "pin_number", "\\d") do |pin_number|
-        @card = Card.find_by_card_number(pin_number)
-        if @card then
-          FSR::Log.info "*** Success, grabbed #{pin_number} from #{exten}"
-          play_and_get_digits(dial_tone, bad_pin_wav, 2, 10, 3, 7000, ["#"], "destination_number", "\\d") do |destination_number|
-            FSR::Log.info "*** Success, grabbed #{destination_number} from #{exten}"
-            FSR::Log.info "*** Setting up the billing variables."
-            uuid_setvar(@session.headers[:unique_id], 'nibble_rate', @card.rate)
-            uuid_setvar(@session.headers[:unique_id], 'nibble_account', @card.id)
-            FSR::Log.info "*** Bridging."
-            FSR::Log.info "*** You have #{duration} minutes to talk."
-            speak("You have #{duration} minutes to talk.")
-            #api("sched_api +#{(duration*60)-60} none uuid_displace #{@session.headers[:unique_id]} start tone_stream://%(500,0,500)")
-            #transfer("#{destination_number}", "XML", "default") { close_connection }
-            bridge("sofia/internal/#{destination_number}@0.0.0.0")
+      fs_sleep(2000) do
+        play_and_get_digits(pin_wav, bad_pin_wav, 2, 10, 3, 7000, ["#"], "pin_number", "\\d") do |pin_number|
+          @card = Card.find_by_card_number(pin_number)
+          if @card then
+            FSR::Log.info "*** Success, grabbed #{pin_number} from #{exten}"
+            play_and_get_digits(dial_tone, bad_pin_wav, 2, 10, 3, 7000, ["#"], "destination_number", "\\d") do |destination_number|
+              FSR::Log.info "*** Success, grabbed #{destination_number} from #{exten}"
+              FSR::Log.info "*** Setting up the billing variables."
+              uuid_setvar(@session.headers[:unique_id], 'nibble_rate', @card.rate)
+              uuid_setvar(@session.headers[:unique_id], 'nibble_account', @card.id)
+              FSR::Log.info "*** Bridging."
+              FSR::Log.info "*** You have #{duration} minutes to talk."
+              speak("You have #{duration} minutes to talk.")
+              #api("sched_api +#{(duration*60)-60} none uuid_displace #{@session.headers[:unique_id]} start tone_stream://%(500,0,500)")
+              transfer("#{destination_number}", "XML", "default") { close_connection }
+              #bridge("sofia/internal/#{destination_number}@0.0.0.0")
+            end
+          else
+            FSR::Log.info "*** Failure, grabbed #{pin_number} from #{exten}"
+            playback(bad_pin_wav)
+            FSR::Log.info "*** Hanging up the call."
+            hangup
           end
-        else
-          FSR::Log.info "*** Failure, grabbed #{pin_number} from #{exten}"
-          playback(bad_pin_wav)
-          FSR::Log.info "*** Hanging up the call."
-          hangup
         end
       end
     end