RubyGems Navigation menu

freeswitcher 0.0.12

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(session) 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(session, step = 0) @step ||= step exten = session.headers FSR::Log.info "*** Answering incoming call from #{exten}" answer # Answer the call end def receive_reply(reply) exten = @session.headers @step += 1 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 #{reply.content.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:
=

install:
=

Versions:

  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.12 April 16, 2009* (22 KB)
Show all versions (53 total)

Runtime Dependencies (1):

Owners:

Authors:

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

SHA 256 checksum:

=

Total downloads 255,964

For this version 4,891

Version Released:

Licenses:

N/A

Required Ruby Version: None

Links: