RubyGems Navigation menu

freeswitcher 0.0.13

FreeSWITCHeR Copyright © 2009 The Rubyists (Jayson Vaughn, Tj Vanderpoel, Michael Fellinger, Kevin Berry) Distributed under the terms of the MIT License. ========================================================== About —– *** STILL UNDER HEAVY DEVELOPMENT *** A ruby library for interacting with the "FreeSWITCH" (www.freeswitch.org) opensource telephony platform *** STILL UNDER HEAVY DEVELOPMENT *** Requirements ———— - ruby (>= 1.8) - eventmachine (If you wish to use Outbound and Inbound listener) Usage —– Example of originating a new call in ‘irb’ using FSR::CommandSocket#originate: 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"} Example of creating an Outbound Eventsocket listener: #!/usr/bin/env ruby require ‘fsr’ require "fsr/listener/outbound" class OesDemo < FSR::Listener::Outbound def session_initiated number = @session.headers # Grab the inbound caller id FSR::Log.info "*** Answering incoming call from #{number}" answer # Answer the call set("hangup_after_bridge", "true")# Set a variable speak ‘Hello, This is your phone switch. Have a great day’ # use mod_flite to speak hangup # Hangup the call end end FSR.start_oes!(OesDemo, :port => 1888, :host => "localhost") Example of creating an Outbound Eventsocket listener that can read DTMF input and keep state: #!/usr/bin/env ruby require ‘fsr’ require ‘fsr/listener/outbound’ FSR.load_all_applications FSR.load_all_commands class DtmfDemo < FSR::Listener::Outbound def session_initiated exten = @session.headers FSR::Log.info "*** Answering incoming call from #{exten}" answer # Answer the call end def receive_reply(reply) exten = @session.headers case @step when 1 FSR::Log.info "*** Reading dtmf for #{exten}" read "/home/freeswitch/freeswitch/sounds/music/8000/sweet.wav",4,10,"test",15000 # read test when 2 FSR::Log.info "*** updating session for #{exten}" update_session when 3 FSR::Log.info "** Success, grabbed #{@session.headers.strip} from #{exten}" FSR::Log.info "*** Hanging up call" hangup # Hangup the call end end end FSR.start_oes! DtmfDemo, :port => 8084, :host => "127.0.0.1" Example of creating an Inbound Eventsocket listener: #!/usr/bin/env ruby require ‘fsr’ require ‘fsr/listener/inbound’ require ‘pp’ 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) Support ——- Home page at code.rubyists.com/projects/fs #rubyists on FreeNode

Gemfile:
=

installieren:
=

Versionen:

  1. 0.8.0 November 26, 2012 (60,5 KB)
  2. 0.7.1 January 13, 2012 (60 KB)
  3. 0.7.0 January 12, 2012 (60 KB)
  4. 0.6.18 January 11, 2012 (59,5 KB)
  5. 0.6.17 January 11, 2012 (59,5 KB)
  6. 0.0.13 April 16, 2009* (22,5 KB)
Zeige alle Versionen (53 total)

Runtime Abhängigkeiten (1):

Besitzer:

Autoren:

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

SHA 256-Prüfsumme:

=

Downloads insgesamt 255.993

Für diese Version 4.921

Version veröffentlicht:

Lizenzen:

k.A.

Erforderliche Ruby-Version: None

Links: