class Asterisk::AMI
Attributes
connected[RW]
Public Class Methods
new(username, password, host="localhost", port=5038)
click to toggle source
# File lib/ami.rb, line 10 def initialize(username, password, host="localhost", port=5038) @connection = Asterisk::Connection.new(username, password, host, port) @connected = false end
Public Instance Methods
channels()
click to toggle source
# File lib/ami.rb, line 59 def channels Asterisk::Action.new("Command", { "Command" => "show channels" }).send(@connection) end
command(command)
click to toggle source
# File lib/ami.rb, line 35 def command(command) Asterisk::Action.new("Command", {"Command" => command}).send(@connection) end
connect()
click to toggle source
# File lib/ami.rb, line 15 def connect begin @connection.connect self.connected = true rescue Exception => ex false end end
core_show_channels()
click to toggle source
# File lib/ami.rb, line 39 def core_show_channels Asterisk::Action.new("CoreShowChannels").send(@connection) end
disconnect()
click to toggle source
# File lib/ami.rb, line 24 def disconnect begin @connection.disconnect if self.connected self.connected = false true rescue Exception => ex puts ex false end end
extension_state(exten,context)
click to toggle source
# File lib/ami.rb, line 51 def extension_state(exten,context) Asterisk::Action.new("ExtensionState", {"Exten" => exten, "Context" => context}).send(@connection) end
mailbox_count(exten, context="default")
click to toggle source
# File lib/ami.rb, line 95 def mailbox_count(exten, context="default") Asterisk::Action.new("MailboxCount", {"Mailbox" => "#{exten}@#{context}"}).send(@connection) end
mailbox_status(exten, context="default")
click to toggle source
# File lib/ami.rb, line 91 def mailbox_status(exten, context="default") Asterisk::Action.new("MailboxStatus", {"Mailbox" => "#{exten}@#{context}"}).send(@connection) end
meet_me_list()
click to toggle source
# File lib/ami.rb, line 43 def meet_me_list Asterisk::Action.new("MeetMeList").send(@connection) end
originate(caller,context,callee,priority,variable=nil)
click to toggle source
# File lib/ami.rb, line 55 def originate(caller,context,callee,priority,variable=nil) Asterisk::Action.new("Originate", {"Channel" => caller, "Context" => context, "Exten" => callee, "Priority" => priority, "Callerid" => caller, "Timeout" => "30000", "Variable" => variable }).send(@connection) end
parked_calls()
click to toggle source
# File lib/ami.rb, line 47 def parked_calls Asterisk::Action.new("ParkedCalls").send(@connection) end
queue_add(queue, exten, penalty=2, paused=false, member_name)
click to toggle source
# File lib/ami.rb, line 71 def queue_add(queue, exten, penalty=2, paused=false, member_name) Asterisk::Action.new("QueueAdd", {"Queue" => queue, "Interface" => exten, "Penalty" => penalty, "Paused" => paused, "MemberName" => member_name}).send(@connection) end
queue_pause(queue, exten)
click to toggle source
# File lib/ami.rb, line 75 def queue_pause(queue, exten) Asterisk::Action.new("QueuePause", {"Interface" => exten, "Paused" => paused}).send(@connection) end
queue_remove(queue, exten)
click to toggle source
# File lib/ami.rb, line 79 def queue_remove(queue, exten) Asterisk::Action.new("QueueRemove", {"Queue" => queue, "Interface" => exten}).send(@connection) end
queue_status()
click to toggle source
# File lib/ami.rb, line 83 def queue_status Asterisk::Action.new("QueueStatus").send(@connection) end
queue_summary(queue)
click to toggle source
# File lib/ami.rb, line 87 def queue_summary(queue) Asterisk::Action.new("QueueSummary", {"Queue" => queue}).send(@connection) end
queues()
click to toggle source
# File lib/ami.rb, line 67 def queues Asterisk::Action.new("Queues").send(@connection) end
redirect(caller,context,callee,priority,variable=nil)
click to toggle source
# File lib/ami.rb, line 63 def redirect(caller,context,callee,priority,variable=nil) Asterisk::Action.new("Redirect", {"Channel" => caller, "Context" => context, "Exten" => callee, "Priority" => priority, "Callerid" => caller, "Timeout" => "30000", "Variable" => variable}).send(@connection) end