Revision
15312
Author
diegoviola
Date
2009-11-01 19:50:34 -0600 (Sun, 01 Nov 2009)

Log Message

initial prepaid code

Added Paths

Diff

Added: freeswitch/trunk/contrib/diegoviola/ruby/prepaid/server.rb (0 => 15312)


--- freeswitch/trunk/contrib/diegoviola/ruby/prepaid/server.rb	                        (rev 0)
+++ freeswitch/trunk/contrib/diegoviola/ruby/prepaid/server.rb	2009-11-02 01:50:34 UTC (rev 15312)
@@ -0,0 +1,40 @@
+#!/usr/bin/env ruby
+
+require 'rubygems'
+require 'fsr'
+require 'fsr/listener/inbound'
+require 'fsr/listener/outbound'
+require 'sequel'
+
+DB = Sequel.connect('mysql://root@localhost/freeswitch')
+
+class Rate < Sequel::Model
+end
+
+module Prepaid
+  def update_balance
+    @@timer = EM::PeriodicTimer.new(1){ puts "hello world" }
+  end
+end
+
+class Inbound < FSL::Inbound
+  include Prepaid
+
+  add_event_hook(:CHANNEL_HANGUP) {|event| custom_channel_hangup_handler(event) }
+  def self.custom_channel_hangup_handler(event)
+    @@timer.cancel
+  end
+end
+
+class Outbound < FSR::Listener::Outbound
+  include Prepaid
+
+  def session_initiated
+    update_balance
+  end
+end
+
+EM.run do
+  EM.connect "0.0.0.0", 8021, Inbound
+  EM.start_server "0.0.0.0", 8084, Outbound
+end