RubyGems Navigation menu

bougyman-freeswitcher 0.4.1

FreeSWITCHeR Copyright © 2009 The Rubyists (Jayson Vaughn, Tj Vanderpoel, Michael Fellinger, Kevin Berry) Distributed under the terms of the MIT License. ========================================================== ABOUT —– A ruby library for interacting with the “FreeSWITCH” (www.freeswitch.org) opensource telephony platform REQUIREMENTS ———— * ruby (>= 1.8) * eventmachine (If you wish to use Outbound and Inbound listener) USAGE —– An Outbound Event Listener Example that reads and returns DTMF input: ——————————————————————– Simply just create a subclass of FSR::Listner::Outbound and all new calls/sessions will invoke the “session_initiated” callback method. <b>NOTE</b>: FSR uses blocks within the ‘session_inititated’ method to ensure that the next “freeswich command” is not executed until the previous “Freeswitch command” has finished. This is kicked off by “answer do” #!/usr/bin/ruby require ‘fsr’ require ‘fsr/listener/outbound’ class OutboundDemo < FSR::Listener::Outbound def session_initiated exten = @session.headers FSR::Log.info “*** Answering incoming call from #{exten}” answer do FSR::Log.info “***Reading DTMF from #{exten}” read(“/home/freeswitch/freeswitch/sounds/music/8000/sweet.wav”, 4, 10, “input”, 7000) do |read_var| FSR::Log.info “***Success, grabbed #{read_var.strip} from #{exten}” # Tell the caller what they entered speak(“Got the DTMF of: #{read_var}”) do #Hangup the call hangup end end end end end FSR.start_oes! OutboundDemo, :port => 8084, :host => “127.0.0.1” An Inbound Event Socket Listener example using FreeSWITCHeR’s hook system: ————————————————————————– #!/usr/bin/ruby require ‘pp’ require ‘fsr’ require “fsr/listener/inbound” # EXAMPLE 1 # This adds a hook on CHANNEL_CREATE events. You can also create a method to handle the event you’re after. See the next example FSL::Inbound.add_event_hook(:CHANNEL_CREATE) {|event| FSR::Log.info “*** [#{event.content}] Channel created - greetings from the hook!” } # EXAMPLE 2 # Define a method to handle CHANNEL_HANGUP events. def custom_channel_hangup_handler(event) FSR::Log.info “*** [#{event.content}] Channel hangup. The event:” pp event end # This adds a hook for EXAMPLE 2 FSL::Inbound.add_event_hook(:CHANNEL_HANGUP) {|event| custom_channel_hangup_handler(event) } # Start FSR Inbound Listener FSR.start_ies!(FSL::Inbound, :host => “localhost”, :port => 8021) An Inbound Event Socket Listener example using the on_event callback method instead of hooks: ——————————————————————————————— #!/usr/bin/ruby require ‘pp’ require ‘fsr’ require “fsr/listener/inbound” class IesDemo < FSR::Listener::Inbound def on_event(event) pp event.headers pp event.content end end FSR.start_ies!(IesDemo, :host => “localhost”, :port => 8021) An example of using FSR::CommandSocket to originate a new call in irb: ———————————————————————- irb(main):001:0> require ‘fsr’ => true irb(main):002:0> FSR.load_all_commands => [:sofia, :originate] irb(main):003:0> sock = FSR::CommandSocket.new => #<FSR::CommandSocket:0xb7a89104 @server=“127.0.0.1”, @socket=#<TCPSocket:0xb7a8908c>, @port=“8021”, @auth=“ClueCon”> irb(main):007:0> sock.originate(:target => ‘sofia/gateway/carlos/8179395222’, :endpoint => FSR::App::Bridge.new(“user/bougyman”)).run => {“Job-UUID”=>“732075a4-7dd5-4258-b124-6284a82a5ae7”, “body”=>“”, “Content-Type”=>“command/reply”, “Reply-Text”=>“+OK Job-UUID: 732075a4-7dd5-4258-b124-6284a82a5ae7”} SUPPORT ——- Home page at code.rubyists.com/projects/fs #rubyists on FreeNode

Gemfile:
=

installieren:
=

Versionen:

  1. 0.4.2 - August 11, 2014 (45 KB)
  2. 0.4.1 - August 11, 2014 (43 KB)
  3. 0.4.0 - August 11, 2014 (43 KB)
  4. 0.3.1 - August 11, 2014 (41,5 KB)
  5. 0.3.0 - August 11, 2014 (41,5 KB)
Zeige alle Versionen (11 total)

Runtime Abhängigkeiten (1):

Autoren:

  • Jayson Vaughn, Michael Fellinger, Kevin Berry, TJ Vanderpoel

SHA 256-Prüfsumme:

=

Downloads insgesamt 33.284

Für diese Version 2.948

Version veröffentlicht:

Lizenzen:

k.A.

Erforderliche Ruby-Version: >= 0

Links: