Guest User

Untitled

a guest
Jun 18th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. require 'fsr'
  2. require 'fsr/listener/outbound'
  3.  
  4. FSR.load_all_commands
  5.  
  6. class CallCard < FSR::Listener::Outbound
  7. def session_initiated
  8. exten = @session.headers[:caller_caller_id_number]
  9. FSR::Log.info "*** Answering incoming call from #{exten}"
  10. answer do
  11. play_and_get_digits("/usr/local/freeswitch/sounds/en/us/callie/conference/8000/conf-pin.wav","/usr/local/freeswitch/sounds/en/us/callie/conference/8000/conf-bad-pin.wav",2,10,3,60000,["#"],"pin_number","\\d") do
  12. update_session do
  13. pin_number = @session.headers[:variable_pin_number]
  14. customer = Customer.find_by_card_number(@session.headers[:variable_pin_number])
  15. if customer then
  16. FSR::Log.info "*** Success, grabbed #{@session.headers[:variable_pin_number].to_s.strip} from #{exten}"
  17. play_and_get_digits("tone_stream://%(10000,0,350,440)","/usr/local/freeswitch/sounds/en/us/callie/conference/8000/conf-bad-pin.wav",2,20,3,7000,["#"],"destination_number","\\d") do
  18. update_session do
  19. FSR::Log.info "*** Success, grabbed #{@session.headers[:variable_destination_number].to_s.strip} from #{exten}"
  20. FSR::Log.info "*** Billing."
  21. send_data("api uuid_setvar #{@session.headers[:unique_id]} nibble_rate #{customer.rate}\n\n")
  22. send_data("api uuid_setvar #{@session.headers[:unique_id]} nibble_account #{customer.id}\n\n")
  23. FSR::Log.info "*** Bridging."
  24. transfer("#{@session.headers[:variable_destination_number]}", "XML", "default") { close_connection }
  25. #bridge("sofia/internal/#{@session.headers[:variable_destination_number].to_s.strip}@63.211.239.19")
  26. end
  27. end
  28. else
  29. FSR::Log.info "*** Failure, grabbed #{@session.headers[:variable_pin_number].to_s.strip} from #{exten}"
  30. FSR::Log.info "*** Hanging up the call."
  31. hangup
  32. end
  33. end
  34. end
  35. end
  36. end
  37. end
  38.  
  39. FSR.start_oes! CallCard, :port => 8084, :host => "127.0.0.1"
Add Comment
Please, Sign In to add comment