From 10a7536f6e142e371de9256e0ad28694c63faf4c Mon Sep 17 00:00:00 2001 From: spag Date: Sat, 2 Feb 2013 22:40:58 +0100 Subject: fallback_sip_account added --- app/controllers/config_polycom_controller.rb | 69 +++++++++++++++------------- 1 file changed, 38 insertions(+), 31 deletions(-) (limited to 'app/controllers/config_polycom_controller.rb') diff --git a/app/controllers/config_polycom_controller.rb b/app/controllers/config_polycom_controller.rb index 9d44e51..fd730e3 100644 --- a/app/controllers/config_polycom_controller.rb +++ b/app/controllers/config_polycom_controller.rb @@ -26,12 +26,15 @@ class ConfigPolycomController < ApplicationController if ! params[:sip_account].blank? @sip_account = @phone.sip_accounts.where({ :id => params[:sip_account].to_i }).first + if ! @sip_account && @phone.fallback_sip_account && @phone.fallback_sip_account.id == params[:sip_account].to_i + @sip_account = @phone.fallback_sip_account + end if ! @sip_account render( :status => 404, :layout => false, :content_type => 'text/plain', - :text => "", + :text => "", ) return false end @@ -113,37 +116,41 @@ class ConfigPolycomController < ApplicationController softkey_index = 1 blf_index = 0 - @phone.sip_accounts.each do |sip_account| - sip_account_index = 0 - if (sip_account.sip_accountable_type == @phone.phoneable_type) and (sip_account.sip_accountable_id == @phone.phoneable_id) - sip_account_index += 1 - if sip_account_index == 1 - xml_applications_url = "#{request.protocol}#{request.host_with_port}/config_polycom/#{@phone.id}/#{sip_account.id}" - @settings['voIpProt.SIP.outboundProxy.address'] = sip_account.host - @settings['voIpProt.SIP.outboundProxy.port'] = SIP_DEFAULT_PORT - end + phone_sip_accounts = Array.new() + if @phone.sip_accounts && @phone.sip_accounts.count > 0 + phone_sip_accounts = @phone.sip_accounts + elsif @phone.fallback_sip_account + phone_sip_accounts.push( @phone.fallback_sip_account ) + end + sip_account_index = 0 + phone_sip_accounts.each do |sip_account| + sip_account_index += 1 + if sip_account_index == 1 + xml_applications_url = "#{request.protocol}#{request.host_with_port}/config_polycom/#{@phone.id}/#{sip_account.id}" + @settings['voIpProt.SIP.outboundProxy.address'] = sip_account.host + @settings['voIpProt.SIP.outboundProxy.port'] = SIP_DEFAULT_PORT + end - @settings["reg.#{sip_account_index}.address"] = "#{sip_account.auth_name}@#{sip_account.host}" - @settings["reg.#{sip_account_index}.auth.password"] = sip_account.password - @settings["reg.#{sip_account_index}.auth.userId"] = sip_account.auth_name - @settings["reg.#{sip_account_index}.displayName"] = 'Call' - @settings["reg.#{sip_account_index}.label"] = sip_account.caller_name - @settings["voIpProt.server.#{sip_account_index}.address"] = sip_account.host - @settings["voIpProt.server.#{sip_account_index}.port"] = SIP_DEFAULT_PORT - @settings["call.missedCallTracking.#{sip_account_index}.enabled"] = 0 - - sip_account.softkeys.order(:position).each do |softkey| - softkey_index += 1 - if softkey.softkey_function - softkey_function = softkey.softkey_function.name - end - case softkey_function - when 'blf' - blf_index += 1 - @settings["lineKey.#{softkey_index}.category"] = 'BLF' - @settings["attendant.resourceList.#{blf_index}.address"] = "#{softkey.number}@#{sip_account.host}" - @settings["attendant.resourceList.#{blf_index}.label"] = softkey.label - end + @settings["reg.#{sip_account_index}.address"] = "#{sip_account.auth_name}@#{sip_account.host}" + @settings["reg.#{sip_account_index}.auth.password"] = sip_account.password + @settings["reg.#{sip_account_index}.auth.userId"] = sip_account.auth_name + @settings["reg.#{sip_account_index}.displayName"] = 'Call' + @settings["reg.#{sip_account_index}.label"] = sip_account.caller_name + @settings["voIpProt.server.#{sip_account_index}.address"] = sip_account.host + @settings["voIpProt.server.#{sip_account_index}.port"] = SIP_DEFAULT_PORT + @settings["call.missedCallTracking.#{sip_account_index}.enabled"] = 0 + + sip_account.softkeys.order(:position).each do |softkey| + softkey_index += 1 + if softkey.softkey_function + softkey_function = softkey.softkey_function.name + end + case softkey_function + when 'blf' + blf_index += 1 + @settings["lineKey.#{softkey_index}.category"] = 'BLF' + @settings["attendant.resourceList.#{blf_index}.address"] = "#{softkey.number}@#{sip_account.host}" + @settings["attendant.resourceList.#{blf_index}.label"] = softkey.label end end end -- cgit v1.2.3