summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/config_snom_controller.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/app/controllers/config_snom_controller.rb b/app/controllers/config_snom_controller.rb
index b692693..805f682 100644
--- a/app/controllers/config_snom_controller.rb
+++ b/app/controllers/config_snom_controller.rb
@@ -242,6 +242,7 @@ class ConfigSnomController < ApplicationController
phone_sip_accounts = Array.new()
if send_sensitve
+ phone_parameters = GsParameter.get_list('phones', 'snom')
if @phone.sip_accounts && @phone.sip_accounts.count > 0
phone_sip_accounts = @phone.sip_accounts
elsif @phone.fallback_sip_account
@@ -250,6 +251,7 @@ class ConfigSnomController < ApplicationController
expiry_seconds = GsParameter.get('SIP_EXPIRY_SECONDS')
phone_sip_accounts.each do |sip_account|
if (sip_account.sip_accountable_type == @phone.phoneable_type) and (sip_account.sip_accountable_id == @phone.phoneable_id)
+
snom_sip_account = {
:id => sip_account.id,
:active => 'on',
@@ -259,7 +261,7 @@ class ConfigSnomController < ApplicationController
:outbound => sip_account.host,
:name => sip_account.auth_name,
:realname => 'Call',
- :idle_text => sip_account.caller_name,
+ :user_idle_text => sip_account.caller_name,
:expiry => expiry_seconds,
}
@@ -267,6 +269,16 @@ class ConfigSnomController < ApplicationController
snom_sip_account[:mailbox] = "<sip:#{sip_account.voicemail_account.name}@#{sip_account.host}>"
end
+ phone_parameters.each do |name, value|
+ snom_sip_account[name.to_sym] = value.gsub!(/\{([a-z0-9_\.]+)\}/) { |v|
+ source = sip_account
+ $1.split('.').each do |method|
+ source = source.send(method) if source.respond_to?(method)
+ end
+ source.to_s
+ }
+ end
+
@sip_accounts.push(snom_sip_account)
sip_account_index = @sip_accounts.length
sip_account.softkeys.order(:position).each do |softkey|