diff options
-rw-r--r-- | app/controllers/sip_accounts_controller.rb | 33 | ||||
-rw-r--r-- | app/models/ability.rb | 2 | ||||
-rw-r--r-- | config/routes.rb | 3 | ||||
-rw-r--r-- | misc/freeswitch/scripts/dialplan/dialplan.lua | 2 |
4 files changed, 3 insertions, 37 deletions
diff --git a/app/controllers/sip_accounts_controller.rb b/app/controllers/sip_accounts_controller.rb index 621bd3c..b34172d 100644 --- a/app/controllers/sip_accounts_controller.rb +++ b/app/controllers/sip_accounts_controller.rb @@ -1,7 +1,6 @@ class SipAccountsController < ApplicationController load_resource :user load_resource :tenant - load_and_authorize_resource :sip_account, :only => [:call] load_and_authorize_resource :sip_account, :through => [:user, :tenant ] before_filter :set_and_authorize_parent @@ -11,7 +10,7 @@ class SipAccountsController < ApplicationController end def show - @register_tel_protocol = "#{request.protocol}#{request.host_with_port}/sip_accounts/#{@sip_account.try(:id)}/call?url=%s" + @register_tel_protocol = "#{request.protocol}#{request.host_with_port}/sip_accounts/#{@sip_account.try(:id)}/calls/new?url=%s" end def new @@ -76,36 +75,6 @@ class SipAccountsController < ApplicationController redirect_to :root, :notice => t('sip_accounts.controller.successfuly_destroyed') end - def call - if !params[:url].blank? - protocol, separator, phone_number = params[:url].partition(':') - if ! phone_number.blank? - @sip_account.call(phone_number) - render( - :status => 200, - :layout => false, - :content_type => 'text/plain', - :text => "<!-- CALL -->", - ) - return; - end - render( - :status => 404, - :layout => false, - :content_type => 'text/plain', - :text => "<!-- Number not found -->", - ) - return; - end - - render( - :status => 404, - :layout => false, - :content_type => 'text/plain', - :text => "<!-- Call URL not found -->", - ) - end - private def set_and_authorize_parent @parent = @user || @tenant diff --git a/app/models/ability.rb b/app/models/ability.rb index 3ba4481..48cce84 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -131,7 +131,7 @@ class Ability # SipAccounts and Phones # - can [:read, :call], SipAccount, :sip_accountable_type => 'User', :sip_accountable_id => user.id + can :read, SipAccount, :sip_accountable_type => 'User', :sip_accountable_id => user.id user.sip_accounts.each do |sip_account| can :read, PhoneNumber, :id => sip_account.phone_number_ids can :manage, CallForward, :call_forwardable_id => sip_account.phone_number_ids diff --git a/config/routes.rb b/config/routes.rb index 2fe1682..83ac5c4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -277,9 +277,6 @@ Gemeinschaft42c::Application.routes.draw do end end resources :voicemail_settings - member do - get 'call' - end end resources :phones, :only => [] do diff --git a/misc/freeswitch/scripts/dialplan/dialplan.lua b/misc/freeswitch/scripts/dialplan/dialplan.lua index 7d9ac58..4425f8b 100644 --- a/misc/freeswitch/scripts/dialplan/dialplan.lua +++ b/misc/freeswitch/scripts/dialplan/dialplan.lua @@ -251,7 +251,7 @@ function Dialplan.retrieve_caller_data(self) -- TODO: Set auth_account on transfer initiated by calling party if not common.str.blank(self.caller.dialed_sip_user) then - self.caller.auth_account = self:object_find('sipaccount', self.caller.dialed_domain, dialed_sip_user); + self.caller.auth_account = self:object_find('sipaccount', self.caller.dialed_domain, self.caller.dialed_sip_user); if self.caller.set_auth_account then self.caller:set_auth_account(self.caller.auth_account); end |