class Twilreapi::ActiveCallRouter::PinCambodia::CallRouter
Constants
- DEFAULT_TRUNK_PREFIX
Attributes
caller_id[RW]
gateway[RW]
Private Class Methods
configuration(key)
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 111 def self.configuration(key) ENV["TWILREAPI_ACTIVE_CALL_ROUTER_PIN_CAMBODIA_#{key.to_s.upcase}"] end
Public Instance Methods
normalize_from()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 8 def normalize_from if source && trunk_prefix_replacement source.sub(/\A((\+)?#{trunk_prefix})/, "\\2#{trunk_prefix_replacement}") else source end end
routing_instructions()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 16 def routing_instructions @routing_instructions ||= generate_routing_instructions end
Private Instance Methods
default_dial_string_format()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 131 def default_dial_string_format self.class.configuration("default_dial_string_format") end
default_gateway()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 87 def default_gateway gateways["default"] end
default_to_national_dial_string_format?()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 135 def default_to_national_dial_string_format? default_dial_string_format == "NATIONAL" end
destination()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 34 def destination phone_call.to end
destination_torasup_number()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 103 def destination_torasup_number @destination_torasup_number ||= Torasup::PhoneNumber.new(normalized_destination) end
ews_caller_id()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 127 def ews_caller_id self.class.configuration("ews_caller_id") end
ews_source_number()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 123 def ews_source_number self.class.configuration("ews_source_number") end
from_host()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 26 def from_host phone_call.variables["sip_from_host"] end
gateways()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 95 def gateways operator.gateways || {} end
generate_routing_instructions()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 38 def generate_routing_instructions set_routing_variables gateway_configuration = gateway || {} gateway_name = gateway_configuration["name"] gateway_host = gateway_configuration["host"] gateway_caller_id = gateway_configuration["caller_id"] address = normalized_destination address = Phony.format( address, :format => :national, :spaces => "" ) if gateway_configuration["prefix"] == false || default_to_national_dial_string_format? if gateway_configuration["trunk"] == false address = address.sub(/^0/, "") end if gateway_name dial_string_path = "gateway/#{gateway_name}/#{address}" elsif gateway_host dial_string_path = "external/#{address}@#{gateway_host}" end routing_instructions = { "source" => gateway_caller_id || caller_id || source, "destination" => normalized_destination } if dial_string_path routing_instructions.merge!("dial_string_path" => dial_string_path) else routing_instructions.merge!("disable_originate" => "1") end routing_instructions end
mhealth_caller_id()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 119 def mhealth_caller_id self.class.configuration("mhealth_caller_id") end
mhealth_gateway()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 91 def mhealth_gateway gateways["mhealth"] end
mhealth_source_number()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 115 def mhealth_source_number self.class.configuration("mhealth_source_number") end
normalized_destination()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 107 def normalized_destination @normalized_destination ||= Phony.normalize(destination) end
operator()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 99 def operator destination_torasup_number.operator end
phone_call()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 22 def phone_call options[:phone_call] end
set_routing_variables()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 76 def set_routing_variables case source when mhealth_source_number self.caller_id = mhealth_caller_id self.gateway = mhealth_gateway when ews_source_number self.caller_id = ews_caller_id end self.gateway ||= default_gateway end
source()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 30 def source phone_call.from end
trunk_prefix()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 139 def trunk_prefix self.class.configuration("trunk_prefix") || DEFAULT_TRUNK_PREFIX end
trunk_prefix_replacement()
click to toggle source
# File lib/twilreapi/active_call_router/pin_cambodia/call_router.rb, line 143 def trunk_prefix_replacement self.class.configuration("trunk_prefix_replacement") end