class AstCall::Caller

Public Instance Methods

config() click to toggle source
# File lib/ast_call.rb, line 14
def config
  return @config if @config

  files = [ "#{ENV['HOME']}/.config/ast-call/config.yml", '/usr/local/etc/ast-call.yml', '/etc/ast-call.yml' ]
  files.each do |file|
    if File.exists?(file) then
      @config = YAML.load_file(file)
      return @config
    end
  end

  raise 'No suitable configuration file found'
end
connect() click to toggle source
# File lib/ast_call.rb, line 28
def connect
  @ami = RubyAsterisk::AMI.new(config['manager']['host'], config['manager']['port'])
  @ami.login(config['login']['username'], config['login']['secret'])
  @ami
end
originate(exten) click to toggle source
# File lib/ast_call.rb, line 34
def originate(exten)
  @ami ||= connect
  res = @ami.originate2(config['originate']['channel'], config['originate']['context'], exten, config['originate']['priority'], config['originate']['callerid'])
  raise res.message unless res.success
end