Method: OverSIP::SIP.module_init

Defined in:
lib/oversip/sip/sip.rb

.module_initObject



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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/oversip/sip/sip.rb', line 3

def self.module_init
  conf = ::OverSIP.configuration

  @local_ipv4 = conf[:sip][:listen_ipv4]
  @local_ipv6 = conf[:sip][:listen_ipv6]

  @tcp_keepalive_interval = conf[:sip][:tcp_keepalive_interval]

  @local_aliases = {}

  sip_local_domains = conf[:sip][:local_domains] || []
  sip_local_ips = []
  sip_local_ips << conf[:sip][:listen_ipv4]  if conf[:sip][:enable_ipv4]
  sip_local_ips << "[#{OverSIP::Utils.normalize_ipv6(conf[:sip][:listen_ipv6])}]"  if conf[:sip][:enable_ipv6]
  sip_local_ports = [ conf[:sip][:listen_port], conf[:sip][:listen_port_tls] ].compact
  sip_local_domains.each do |domain|
    @local_aliases[domain] = true
    sip_local_ports.each do |port|
      @local_aliases["#{domain}:#{port}"] = true
    end
  end
  sip_local_ips.each do |ip|
    sip_local_ports.each do |port|
      @local_aliases["#{ip}:#{port}"] = true
    end
  end
  sip_local_ips.each do |ip|
    @local_aliases[ip] = true  if conf[:sip][:listen_port] == 5060 or conf[:sip][:listen_port_tls] == 5061
  end

  ws_local_domains = conf[:sip][:local_domains] || []
  ws_local_ips = []
  ws_local_ips << conf[:websocket][:listen_ipv4]  if conf[:websocket][:enable_ipv4]
  ws_local_ips << "[#{OverSIP::Utils.normalize_ipv6(conf[:websocket][:listen_ipv6])}]"  if conf[:websocket][:enable_ipv6]
  ws_local_ports = [ conf[:websocket][:listen_port], conf[:websocket][:listen_port_tls] ].compact
  ws_local_domains.each do |domain|
    @local_aliases[domain] = true
    ws_local_ports.each do |port|
      @local_aliases["#{domain}:#{port}"] = true
    end
  end
  ws_local_ips.each do |ip|
    ws_local_ports.each do |port|
      @local_aliases["#{ip}:#{port}"] = true
    end
  end
  ws_local_ips.each do |ip|
    @local_aliases[ip] = true  if conf[:websocket][:listen_port] == 80 or conf[:websocket][:listen_port_tls] == 443
  end

  @callback_on_client_tls_handshake = conf[:sip][:callback_on_client_tls_handshake]
end