From 113e3c6c6117fbeca7b9bf1f0e6dc26b0db9c407 Mon Sep 17 00:00:00 2001 From: Peter Kozak Date: Wed, 16 Jan 2013 08:33:45 -0500 Subject: call_routes added --- app/models/call_route.rb | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 app/models/call_route.rb (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb new file mode 100644 index 0000000..4cf2445 --- /dev/null +++ b/app/models/call_route.rb @@ -0,0 +1,3 @@ +class CallRoute < ActiveRecord::Base + attr_accessible :table, :name, :endpoint_type, :endpoint_id, :position +end -- cgit v1.2.3 From 0bf4d1350f5d2a07db874977674e5ae0ff0d4256 Mon Sep 17 00:00:00 2001 From: Peter Kozak Date: Wed, 16 Jan 2013 08:38:54 -0500 Subject: route_elements belong to route --- app/models/call_route.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index 4cf2445..eba247c 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -1,3 +1,5 @@ class CallRoute < ActiveRecord::Base attr_accessible :table, :name, :endpoint_type, :endpoint_id, :position + + has_many :route_elements, :dependent => :destroy end -- cgit v1.2.3 From 0ee17f52f8ad337c1240b4c55dbd8f6c6c74dc90 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Wed, 16 Jan 2013 16:32:59 +0100 Subject: Fixed routes and breadcrumbs. #106 --- app/models/call_route.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index eba247c..de0f68a 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -2,4 +2,11 @@ class CallRoute < ActiveRecord::Base attr_accessible :table, :name, :endpoint_type, :endpoint_id, :position has_many :route_elements, :dependent => :destroy + + validates :name, + :presence => true + + def to_s + name.to_s + end end -- cgit v1.2.3 From f7f1785023f6fa52775c7ab2796fc247bf1ab15f Mon Sep 17 00:00:00 2001 From: spag Date: Wed, 16 Jan 2013 23:08:13 +0100 Subject: acts_as_list --- app/models/call_route.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index de0f68a..e423030 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -6,6 +6,8 @@ class CallRoute < ActiveRecord::Base validates :name, :presence => true + acts_as_list :scope => '`table` = \'#{table}\'' + def to_s name.to_s end -- cgit v1.2.3 From 1d18e9d7fc16501d7622889df9d6ef05c75adb2f Mon Sep 17 00:00:00 2001 From: spag Date: Thu, 17 Jan 2013 06:59:08 +0100 Subject: validations --- app/models/call_route.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index e423030..f6a3dd3 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -1,4 +1,6 @@ class CallRoute < ActiveRecord::Base + ROUTING_TABLES = ['prerouting', 'outbound', 'inbound'] + attr_accessible :table, :name, :endpoint_type, :endpoint_id, :position has_many :route_elements, :dependent => :destroy @@ -6,6 +8,10 @@ class CallRoute < ActiveRecord::Base validates :name, :presence => true + validates :table, + :presence => true, + :inclusion => { :in => ROUTING_TABLES } + acts_as_list :scope => '`table` = \'#{table}\'' def to_s -- cgit v1.2.3 From 17206a20e5bcb44fa4d90f0e176f7aa0fe43bca3 Mon Sep 17 00:00:00 2001 From: spag Date: Thu, 17 Jan 2013 21:51:58 +0100 Subject: rename_column table to routing_table --- app/models/call_route.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index f6a3dd3..0df961d 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -1,7 +1,7 @@ class CallRoute < ActiveRecord::Base ROUTING_TABLES = ['prerouting', 'outbound', 'inbound'] - attr_accessible :table, :name, :endpoint_type, :endpoint_id, :position + attr_accessible :routing_table, :name, :endpoint_type, :endpoint_id, :position has_many :route_elements, :dependent => :destroy @@ -12,7 +12,7 @@ class CallRoute < ActiveRecord::Base :presence => true, :inclusion => { :in => ROUTING_TABLES } - acts_as_list :scope => '`table` = \'#{table}\'' + acts_as_list :scope => '`routing_table` = \'#{routing_table}\'' def to_s name.to_s -- cgit v1.2.3 From 73c9984510d572030329d967e44c6adb00d98613 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Fri, 18 Jan 2013 08:11:56 +0100 Subject: Clean up mess which was created by renaming :table to :routing_table. --- app/models/call_route.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index 0df961d..5d90901 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -1,14 +1,15 @@ class CallRoute < ActiveRecord::Base - ROUTING_TABLES = ['prerouting', 'outbound', 'inbound'] + # https://github.com/rails/strong_parameters + include ActiveModel::ForbiddenAttributesProtection - attr_accessible :routing_table, :name, :endpoint_type, :endpoint_id, :position + ROUTING_TABLES = ['prerouting', 'outbound', 'inbound'] has_many :route_elements, :dependent => :destroy validates :name, :presence => true - validates :table, + validates :routing_table, :presence => true, :inclusion => { :in => ROUTING_TABLES } -- cgit v1.2.3 From c1cdcc3927a8632157017cf15801d2a508eed2ad Mon Sep 17 00:00:00 2001 From: spag Date: Sat, 19 Jan 2013 09:08:36 +0100 Subject: move methods added --- app/models/call_route.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index 5d90901..1fe61e9 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -18,4 +18,12 @@ class CallRoute < ActiveRecord::Base def to_s name.to_s end + + def move_up? + return self.position.to_i > CallRoute.where(:routing_table => self.routing_table ).order(:position).first.position.to_i + end + + def move_down? + return self.position.to_i < CallRoute.where(:routing_table => self.routing_table ).order(:position).last.position.to_i + end end -- cgit v1.2.3 From f7c8227521a758f769d3bde892b8b7201bf841dc Mon Sep 17 00:00:00 2001 From: spag Date: Mon, 21 Jan 2013 13:02:49 +0100 Subject: factory_defaults_prerouting method added --- app/models/call_route.rb | 212 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index 1fe61e9..0bf7816 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -26,4 +26,216 @@ class CallRoute < ActiveRecord::Base def move_down? return self.position.to_i < CallRoute.where(:routing_table => self.routing_table ).order(:position).last.position.to_i end + + def self.factory_defaults_prerouting(country_code, national_prefix = '', international_prefix = '', trunk_prefix = '', area_code = '') + CallRoute.where(:routing_table => "prerouting").destroy_all + + CallRoute.create_prerouting_entry('international call', [ + { :pattern => '^'+trunk_prefix+international_prefix+'([1-9]%d+)$', :replacement => '+%1', }, + ], 'phonenumber') + + CallRoute.create_prerouting_entry('national call', [ + { :pattern => '^'+trunk_prefix+national_prefix+'([1-9]%d+)$', :replacement => '+'+country_code+'%1', }, + ], 'phonenumber') + + if !trunk_prefix.blank? && !area_code.blank? + CallRoute.create_prerouting_entry('local call', [ + { :pattern => '^'+trunk_prefix+'([1-9]%d+)$', :replacement => '+'+country_code+area_code+'%1', }, + ], 'phonenumber') + end + + CallRoute.create_prerouting_entry('log in', [ + { :pattern => '^%*0%*$', :replacement => 'f-li', }, + { :pattern => '^%*0%*(%+?%d+)#*$', :replacement => 'f-li-%1', }, + { :pattern => '^%*0%*(%+?%d+)%*(%d+)#*$', :replacement => 'f-li-%1-%2', }, + ]) + + CallRoute.create_prerouting_entry('log out', [ + { :pattern => '^#0#$', :replacement => 'f-lo', }, + ]) + + CallRoute.create_prerouting_entry('toggle ACD membership', [ + { :pattern => '^%*5%*(%+?%d+)#$', :replacement => 'f-acdmtg-0-%1', }, + ]) + + CallRoute.create_prerouting_entry('activate CLIP', [ + { :pattern => '^%*30#$', :replacement => 'f-clipon', }, + ]) + + CallRoute.create_prerouting_entry('deactivate CLIP', [ + { :pattern => '^#30#$', :replacement => 'f-clipoff', }, + ]) + + CallRoute.create_prerouting_entry('activate CLIR', [ + { :pattern => '^#31#$', :replacement => 'f-cliron', }, + ]) + + CallRoute.create_prerouting_entry('deactivate CLIR', [ + { :pattern => '^%*31#$', :replacement => 'f-cliroff', }, + ]) + + elements = [ + { :pattern => '^#31#(%+?[1-9]%d+)$', :replacement => 'f-dcliron-%1', }, + { :pattern => '^#31#'+trunk_prefix+international_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+%1' }, + { :pattern => '^#31#'+trunk_prefix+national_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+'+country_code+'%1' }, + ] + + if !trunk_prefix.blank? && !area_code.blank? + elements << { :pattern => '^#31#'+trunk_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+'+country_code+area_code+'%1' } + end + + CallRoute.create_prerouting_entry('activate CLIR for call', elements) + + elements = [ + { :pattern => '^%*31#(%+?[1-9]%d+)$', :replacement => 'f-dcliroff-%1', }, + { :pattern => '^%*31#'+trunk_prefix+international_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+%1' }, + { :pattern => '^%*31#'+trunk_prefix+national_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+'+country_code+'%1' }, + ] + + if !trunk_prefix.blank? && !area_code.blank? + elements << { :pattern => '^%*31#'+trunk_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+'+country_code+area_code+'%1' } + end + + CallRoute.create_prerouting_entry('deactivate CLIR for call', elements) + + CallRoute.create_prerouting_entry('activate call waiting', [ + { :pattern => '^%*43#$', :replacement => 'f-cwaon', }, + ]) + + CallRoute.create_prerouting_entry('deactivate call waiting', [ + { :pattern => '^#43#$', :replacement => 'f-cwaoff', }, + ]) + + CallRoute.create_prerouting_entry('deactivate all call forwards', [ + { :pattern => '^#002#$', :replacement => 'f-cfoff', }, + ]) + + CallRoute.create_prerouting_entry('delete all call forwards', [ + { :pattern => '^##002#$', :replacement => 'f-cfdel', }, + ]) + + elements = [ + { :pattern => '^%*21#$', :replacement => 'f-cfu', }, + { :pattern => '^%*%*?21%*(%+?[1-9]%d+)#$', :replacement => 'f-cfu-%1', }, + { :pattern => '^%*%*?21%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+%1', }, + { :pattern => '^%*%*?21%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+'+country_code+'%1', }, + ] + + if !trunk_prefix.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?21%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+'+country_code+area_code+'%1' } + end + + CallRoute.create_prerouting_entry('set unconditional call forwarding', elements) + + CallRoute.create_prerouting_entry('deactivate unconditional call forwarding', [ + { :pattern => '^#21#$', :replacement => 'f-cfuoff', }, + ]) + + CallRoute.create_prerouting_entry('delete unconditional call forwarding', [ + { :pattern => '^##21#$', :replacement => 'f-cfudel', }, + ]) + + elements = [ + { :pattern => '^%*61#$', :replacement => 'f-cfn', }, + { :pattern => '^%*%*?61%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+%1', }, + { :pattern => '^%*%*?61%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+'+country_code+'%1', }, + { :pattern => '^%*%*?61%*(%+?[1-9]%d+)#$', :replacement => 'f-cfn-%1', }, + { :pattern => '^%*%*?61%*'+trunk_prefix+international_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+%1-%2', }, + { :pattern => '^%*%*?61%*'+trunk_prefix+national_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+'+country_code+'%1-%2', }, + { :pattern => '^%*%*?61%*(%+?[1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-%1-%2', }, + ] + + if !trunk_prefix.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?61%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+'+country_code+area_code+'%1' } + elements << { :pattern => '^%*%*?61%*'+trunk_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+'+country_code+area_code+'%1-%2' } + end + + CallRoute.create_prerouting_entry('call forward if not answered', elements) + + CallRoute.create_prerouting_entry('deactivate call forward if not answered', [ + { :pattern => '^#61#$', :replacement => 'f-cfnoff', }, + ]) + + CallRoute.create_prerouting_entry('delete call forward if not answered', [ + { :pattern => '^##61#$', :replacement => 'f-cfndel', }, + ]) + + elements = [ + { :pattern => '^%*62#$', :replacement => 'f-cfo', }, + { :pattern => '^%*%*?62%*(%+?[1-9]%d+)#$', :replacement => 'f-cfo-%1', }, + { :pattern => '^%*%*?62%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+%1', }, + { :pattern => '^%*%*?62%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+'+country_code+'%1', }, + ] + + if !trunk_prefix.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?62%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+'+country_code+area_code+'%1' } + end + + CallRoute.create_prerouting_entry('call forward if offline', elements) + + CallRoute.create_prerouting_entry('deactivate call forward if offline', [ + { :pattern => '^#62#$', :replacement => 'f-cfooff', }, + ]) + + CallRoute.create_prerouting_entry('delete call forward if offline', [ + { :pattern => '^##62#$', :replacement => 'f-cfodel', }, + ]) + + elements = [ + { :pattern => '^%*67#$', :replacement => 'f-cfb', }, + { :pattern => '^%*%*?67%*(%+?[1-9]%d+)#$', :replacement => 'f-cfb-%1', }, + { :pattern => '^%*%*?67%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+%1', }, + { :pattern => '^%*%*?67%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+'+country_code+'%1', }, + ] + + if !trunk_prefix.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?67%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+'+country_code+area_code+'%1' } + end + + CallRoute.create_prerouting_entry('call forward if busy', elements) + + CallRoute.create_prerouting_entry('deactivate call forward if busy', [ + { :pattern => '^#67#$', :replacement => 'f-cfboff', }, + ]) + + CallRoute.create_prerouting_entry('delete call forward if busy', [ + { :pattern => '^##67#$', :replacement => 'f-cfbdel', }, + ]) + + + CallRoute.create_prerouting_entry('redial', [ + { :pattern => '^%*66#$', :replacement => 'f-redial', }, + ]) + + CallRoute.create_prerouting_entry('check voicemail', [ + { :pattern => '^%*98$', :replacement => 'f-vmcheck', }, + { :pattern => '^%*98#$', :replacement => 'f-vmcheck', }, + { :pattern => '^%*98%*(%+?%d+)#$', :replacement => 'f-vmcheck-%1', }, + ]) + + CallRoute.create_prerouting_entry('acivate auto logout', [ + { :pattern => '^%*1337%*1%*1#$', :replacement => 'f-loaon', }, + ]) + + CallRoute.create_prerouting_entry('deacivate auto logout', [ + { :pattern => '^%*1337%*1%*0#$', :replacement => 'f-loaoff', }, + ]) + end + + def self.create_prerouting_entry(name, elements, endpoint_type = 'dialplanfunction') + call_route = CallRoute.create(:routing_table => 'prerouting', :name => name, :endpoint_type => endpoint_type) + + if !call_route.errors.any? then + elements.each do |element| + call_route.route_elements.create( + :var_in => 'destination_number', + :var_out => 'destination_number', + :pattern => element[:pattern], + :replacement => element[:replacement], + :action => 'match', + :mandatory => false + ) + end + end + end end -- cgit v1.2.3 From 7159618255c6911075723f6b11ba84b85e9e40cd Mon Sep 17 00:00:00 2001 From: spag Date: Mon, 21 Jan 2013 14:49:11 +0100 Subject: naming --- app/models/call_route.rb | 64 ++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'app/models/call_route.rb') diff --git a/app/models/call_route.rb b/app/models/call_route.rb index 0bf7816..28120c1 100644 --- a/app/models/call_route.rb +++ b/app/models/call_route.rb @@ -27,20 +27,20 @@ class CallRoute < ActiveRecord::Base return self.position.to_i < CallRoute.where(:routing_table => self.routing_table ).order(:position).last.position.to_i end - def self.factory_defaults_prerouting(country_code, national_prefix = '', international_prefix = '', trunk_prefix = '', area_code = '') + def self.factory_defaults_prerouting(country_code, national_prefix = '', international_prefix = '', trunk_access_code = '', area_code = '') CallRoute.where(:routing_table => "prerouting").destroy_all CallRoute.create_prerouting_entry('international call', [ - { :pattern => '^'+trunk_prefix+international_prefix+'([1-9]%d+)$', :replacement => '+%1', }, + { :pattern => '^'+trunk_access_code+international_prefix+'([1-9]%d+)$', :replacement => '+%1', }, ], 'phonenumber') CallRoute.create_prerouting_entry('national call', [ - { :pattern => '^'+trunk_prefix+national_prefix+'([1-9]%d+)$', :replacement => '+'+country_code+'%1', }, + { :pattern => '^'+trunk_access_code+national_prefix+'([1-9]%d+)$', :replacement => '+'+country_code+'%1', }, ], 'phonenumber') - if !trunk_prefix.blank? && !area_code.blank? + if !trunk_access_code.blank? && !area_code.blank? CallRoute.create_prerouting_entry('local call', [ - { :pattern => '^'+trunk_prefix+'([1-9]%d+)$', :replacement => '+'+country_code+area_code+'%1', }, + { :pattern => '^'+trunk_access_code+'([1-9]%d+)$', :replacement => '+'+country_code+area_code+'%1', }, ], 'phonenumber') end @@ -76,24 +76,24 @@ class CallRoute < ActiveRecord::Base elements = [ { :pattern => '^#31#(%+?[1-9]%d+)$', :replacement => 'f-dcliron-%1', }, - { :pattern => '^#31#'+trunk_prefix+international_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+%1' }, - { :pattern => '^#31#'+trunk_prefix+national_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+'+country_code+'%1' }, + { :pattern => '^#31#'+trunk_access_code+international_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+%1' }, + { :pattern => '^#31#'+trunk_access_code+national_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+'+country_code+'%1' }, ] - if !trunk_prefix.blank? && !area_code.blank? - elements << { :pattern => '^#31#'+trunk_prefix+'([1-9]%d+)$', :replacement => 'f-dcliron-+'+country_code+area_code+'%1' } + if !trunk_access_code.blank? && !area_code.blank? + elements << { :pattern => '^#31#'+trunk_access_code+'([1-9]%d+)$', :replacement => 'f-dcliron-+'+country_code+area_code+'%1' } end CallRoute.create_prerouting_entry('activate CLIR for call', elements) elements = [ { :pattern => '^%*31#(%+?[1-9]%d+)$', :replacement => 'f-dcliroff-%1', }, - { :pattern => '^%*31#'+trunk_prefix+international_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+%1' }, - { :pattern => '^%*31#'+trunk_prefix+national_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+'+country_code+'%1' }, + { :pattern => '^%*31#'+trunk_access_code+international_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+%1' }, + { :pattern => '^%*31#'+trunk_access_code+national_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+'+country_code+'%1' }, ] - if !trunk_prefix.blank? && !area_code.blank? - elements << { :pattern => '^%*31#'+trunk_prefix+'([1-9]%d+)$', :replacement => 'f-dcliroff-+'+country_code+area_code+'%1' } + if !trunk_access_code.blank? && !area_code.blank? + elements << { :pattern => '^%*31#'+trunk_access_code+'([1-9]%d+)$', :replacement => 'f-dcliroff-+'+country_code+area_code+'%1' } end CallRoute.create_prerouting_entry('deactivate CLIR for call', elements) @@ -117,12 +117,12 @@ class CallRoute < ActiveRecord::Base elements = [ { :pattern => '^%*21#$', :replacement => 'f-cfu', }, { :pattern => '^%*%*?21%*(%+?[1-9]%d+)#$', :replacement => 'f-cfu-%1', }, - { :pattern => '^%*%*?21%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+%1', }, - { :pattern => '^%*%*?21%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+'+country_code+'%1', }, + { :pattern => '^%*%*?21%*'+trunk_access_code+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+%1', }, + { :pattern => '^%*%*?21%*'+trunk_access_code+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+'+country_code+'%1', }, ] - if !trunk_prefix.blank? && !area_code.blank? - elements << { :pattern => '^%*%*?21%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfu-+'+country_code+area_code+'%1' } + if !trunk_access_code.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?21%*'+trunk_access_code+'([1-9]%d+)#$', :replacement => 'f-cfu-+'+country_code+area_code+'%1' } end CallRoute.create_prerouting_entry('set unconditional call forwarding', elements) @@ -137,17 +137,17 @@ class CallRoute < ActiveRecord::Base elements = [ { :pattern => '^%*61#$', :replacement => 'f-cfn', }, - { :pattern => '^%*%*?61%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+%1', }, - { :pattern => '^%*%*?61%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+'+country_code+'%1', }, + { :pattern => '^%*%*?61%*'+trunk_access_code+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+%1', }, + { :pattern => '^%*%*?61%*'+trunk_access_code+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+'+country_code+'%1', }, { :pattern => '^%*%*?61%*(%+?[1-9]%d+)#$', :replacement => 'f-cfn-%1', }, - { :pattern => '^%*%*?61%*'+trunk_prefix+international_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+%1-%2', }, - { :pattern => '^%*%*?61%*'+trunk_prefix+national_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+'+country_code+'%1-%2', }, + { :pattern => '^%*%*?61%*'+trunk_access_code+international_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+%1-%2', }, + { :pattern => '^%*%*?61%*'+trunk_access_code+national_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+'+country_code+'%1-%2', }, { :pattern => '^%*%*?61%*(%+?[1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-%1-%2', }, ] - if !trunk_prefix.blank? && !area_code.blank? - elements << { :pattern => '^%*%*?61%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfn-+'+country_code+area_code+'%1' } - elements << { :pattern => '^%*%*?61%*'+trunk_prefix+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+'+country_code+area_code+'%1-%2' } + if !trunk_access_code.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?61%*'+trunk_access_code+'([1-9]%d+)#$', :replacement => 'f-cfn-+'+country_code+area_code+'%1' } + elements << { :pattern => '^%*%*?61%*'+trunk_access_code+'([1-9]%d+)%*(%d+)#$', :replacement => 'f-cfn-+'+country_code+area_code+'%1-%2' } end CallRoute.create_prerouting_entry('call forward if not answered', elements) @@ -163,12 +163,12 @@ class CallRoute < ActiveRecord::Base elements = [ { :pattern => '^%*62#$', :replacement => 'f-cfo', }, { :pattern => '^%*%*?62%*(%+?[1-9]%d+)#$', :replacement => 'f-cfo-%1', }, - { :pattern => '^%*%*?62%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+%1', }, - { :pattern => '^%*%*?62%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+'+country_code+'%1', }, + { :pattern => '^%*%*?62%*'+trunk_access_code+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+%1', }, + { :pattern => '^%*%*?62%*'+trunk_access_code+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+'+country_code+'%1', }, ] - if !trunk_prefix.blank? && !area_code.blank? - elements << { :pattern => '^%*%*?62%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfo-+'+country_code+area_code+'%1' } + if !trunk_access_code.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?62%*'+trunk_access_code+'([1-9]%d+)#$', :replacement => 'f-cfo-+'+country_code+area_code+'%1' } end CallRoute.create_prerouting_entry('call forward if offline', elements) @@ -184,12 +184,12 @@ class CallRoute < ActiveRecord::Base elements = [ { :pattern => '^%*67#$', :replacement => 'f-cfb', }, { :pattern => '^%*%*?67%*(%+?[1-9]%d+)#$', :replacement => 'f-cfb-%1', }, - { :pattern => '^%*%*?67%*'+trunk_prefix+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+%1', }, - { :pattern => '^%*%*?67%*'+trunk_prefix+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+'+country_code+'%1', }, + { :pattern => '^%*%*?67%*'+trunk_access_code+international_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+%1', }, + { :pattern => '^%*%*?67%*'+trunk_access_code+national_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+'+country_code+'%1', }, ] - if !trunk_prefix.blank? && !area_code.blank? - elements << { :pattern => '^%*%*?67%*'+trunk_prefix+'([1-9]%d+)#$', :replacement => 'f-cfb-+'+country_code+area_code+'%1' } + if !trunk_access_code.blank? && !area_code.blank? + elements << { :pattern => '^%*%*?67%*'+trunk_access_code+'([1-9]%d+)#$', :replacement => 'f-cfb-+'+country_code+area_code+'%1' } end CallRoute.create_prerouting_entry('call forward if busy', elements) -- cgit v1.2.3