From 1748f7fa973dd66e2fab2baee48678610a4c6c94 Mon Sep 17 00:00:00 2001 From: Ben Klang Date: Sat, 2 Oct 2010 08:41:04 -0400 Subject: [PATCH] Respect the :auto_reconnect setting for AMI --- lib/adhearsion/initializer/asterisk.rb | 2 +- lib/adhearsion/initializer/configuration.rb | 15 ++++++++++----- lib/adhearsion/voip/asterisk/manager_interface.rb | 3 ++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/adhearsion/initializer/asterisk.rb b/lib/adhearsion/initializer/asterisk.rb index f70f03208..295fc88d6 100644 --- a/lib/adhearsion/initializer/asterisk.rb +++ b/lib/adhearsion/initializer/asterisk.rb @@ -50,7 +50,7 @@ def manager_interface end def ami_options - %w(host port username password events).inject({}) do |options, property| + %w(host port username password events auto_reconnect).inject({}) do |options, property| options[property.to_sym] = config.ami.send property options end diff --git a/lib/adhearsion/initializer/configuration.rb b/lib/adhearsion/initializer/configuration.rb index 73b873100..7255e6945 100644 --- a/lib/adhearsion/initializer/configuration.rb +++ b/lib/adhearsion/initializer/configuration.rb @@ -129,8 +129,8 @@ def default_listening_host end def initialize(overrides = {}) - @listening_port = overrides.has_key?(:port) ? overrides.delete(:port) : self.class.default_listening_port @listening_host = overrides.has_key?(:host) ? overrides.delete(:host) : self.class.default_listening_host + @listening_port = overrides.has_key?(:port) ? overrides.delete(:port) : self.class.default_listening_port super end end @@ -158,7 +158,7 @@ def initialize(overrides = {}) end class AMIConfiguration < AbstractConfiguration - attr_accessor :port, :username, :password, :events, :host + attr_accessor :port, :username, :password, :events, :host, :auto_reconnect class << self def default_port @@ -172,12 +172,17 @@ def default_events def default_host 'localhost' end + + def default_auto_reconnect + true + end end def initialize(overrides = {}) - self.host = self.class.default_host - self.port = self.class.default_port - self.events = self.class.default_events + self.host = self.class.default_host + self.port = self.class.default_port + self.events = self.class.default_events + self.auto_reconnect = self.class.default_auto_reconnect super end end diff --git a/lib/adhearsion/voip/asterisk/manager_interface.rb b/lib/adhearsion/voip/asterisk/manager_interface.rb index 7b50faa0a..501d6df6f 100644 --- a/lib/adhearsion/voip/asterisk/manager_interface.rb +++ b/lib/adhearsion/voip/asterisk/manager_interface.rb @@ -108,8 +108,9 @@ def causal_event_terminator_name_for(action_name) # @param [Hash] options Available options are :host, :port, :username, :password, and :events # def initialize(options={}) +puts options.inspect options = parse_options options - +puts options.inspect @host = options[:host] @username = options[:username] @password = options[:password]