summaryrefslogtreecommitdiff
path: root/app/models/call.rb
blob: 57961ecca4f08482403efd7d4c4a0b75ba6bbb61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Call < ActiveRecord::Base
  self.table_name = 'channels'
  self.primary_key = 'uuid'
  
  # Makes sure that this is a readonly model.
  def readonly?
    return true
  end
 
  # Prevent objects from being destroyed
  def before_destroy
    raise ActiveRecord::ReadOnlyRecord
  end

  # Prevent objects from being deleted
  def self.delete_all
    raise ActiveRecord::ReadOnlyRecord
  end

  # Prevent objects from being deleted
  def delete
    raise ActiveRecord::ReadOnlyRecord
  end

  def sip_account
    auth_name = self.name.match('^.+[/:](.+)@.+$')
    if auth_name && ! auth_name[1].blank?
      return SipAccount.where(:auth_name => auth_name[1]).first
    end
  end

  def kill
    require 'freeswitch_event'
    return FreeswitchAPI.execute('uuid_kill', self.uuid, true);
  end
end