summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/sip_accounts_controller.rb33
-rw-r--r--app/models/ability.rb2
-rw-r--r--config/routes.rb3
-rw-r--r--misc/freeswitch/scripts/dialplan/dialplan.lua2
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