RubyGems Navigation menu

freeswitcher 0.0.11

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/listener/outbound" require ‘pp’ FSR.load_all_applications FSR.load_all_commands class DtmfDemo < FSR::Listener::Outbound def session_initiated(session, step = 0) @step ||= step exten = session.headers pp 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" 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:
= Copy to clipboard Copied!

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.11 - 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:

a3f29e9a717402b5f94f5bf8ab72724a7813e745d25d8ec0c6a6f86b464580e3

Total downloads 248,504

For this version 4,763

Licenses:

N/A

Required Ruby Version: None

Links: