Class: AstCall::Caller

Inherits:
Object
  • Object
show all
Defined in:
lib/ast_call.rb

Instance Method Summary collapse

Instance Method Details

#configObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# 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

#connectObject



28
29
30
31
32
# File 'lib/ast_call.rb', line 28

def connect
  @ami = RubyAsterisk::AMI.new(config['manager']['host'], config['manager']['port'])
  @ami.(config['login']['username'], config['login']['secret'])
  @ami
end

#originate(exten) ⇒ Object



34
35
36
37
38
# 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