|
|
|
@ -61,7 +61,7 @@ route[PRESENCE_FAST_PICKUP_ATTEMPT] |
|
|
|
$du = $sht(fp=>$var(md5)); |
|
|
|
append_hf("Replaces: $var(replaced_call_id)$var(Pickup)\r\n"); |
|
|
|
xlog("L_INFO", "$ci|log|fast|found shortcut for call-id $var(replaced_call_id) , redirecting ($(ru{uri.user})) to $du\n"); |
|
|
|
route(EXTERNAL_TO_INTERNAL_RELAY); |
|
|
|
route(RELAY); |
|
|
|
exit(); |
|
|
|
} else { |
|
|
|
$var(replaced_call_id) = "none"; |
|
|
|
@ -89,7 +89,7 @@ route[PRESENCE_FAST_PICKUP_ATTEMPT] |
|
|
|
remove_hf_re("^Replaces"); |
|
|
|
append_hf("Replaces: $var(rep)\r\n"); |
|
|
|
xlog("L_INFO", "$ci|log|call-id $var(replaced_call_id) found, redirecting call ($(ru{uri.user})) to $du => $var(rep)\n"); |
|
|
|
route(EXTERNAL_TO_INTERNAL_RELAY); |
|
|
|
route(RELAY); |
|
|
|
exit(); |
|
|
|
} else { |
|
|
|
xlog("L_WARN", "$ci|log|call-id $var(replaced_call_id) not found in cluster, proceeding with normal dispatch\n"); |
|
|
|
@ -108,8 +108,8 @@ route[PRESENCE_FAST_PICKUP_ATTEMPT] |
|
|
|
$var(park) = $_s(*3$(ru{uri.user}{s.substr,2,0})@$(ru{uri.domain})); |
|
|
|
if($sht(park=>$var(park)) != $null) { |
|
|
|
$du = $sht(park=>$var(park)); |
|
|
|
xlog("L_INFO", "$ci|log|redirecting park request to $du\n"); |
|
|
|
route(EXTERNAL_TO_INTERNAL_RELAY); |
|
|
|
xlog("L_INFO", "$ci|log|redirecting park request to $du , callid : $sht(park=>$var(park)::callid)\n"); |
|
|
|
route(RELAY); |
|
|
|
exit(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -117,8 +117,8 @@ route[PRESENCE_FAST_PICKUP_ATTEMPT] |
|
|
|
|
|
|
|
if($sht(park=>$(ru{uri.user})@$(ru{uri.domain})) != $null) { |
|
|
|
$du = $sht(park=>$(ru{uri.user})@$(ruri{uri.domain})); |
|
|
|
xlog("L_INFO", "$ci|log|redirecting park request to $du\n"); |
|
|
|
route(EXTERNAL_TO_INTERNAL_RELAY); |
|
|
|
xlog("L_INFO", "$ci|log|redirecting park request to $du, callid: $sht(park=>$(ru{uri.user})@$(ruri{uri.domain})::callid)\n"); |
|
|
|
route(RELAY); |
|
|
|
exit(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -135,7 +135,7 @@ route[PRESENCE_FAST_PICKUP_ATTEMPT] |
|
|
|
$du = $(kzR{kz.json,Channels[0].switch_url}); |
|
|
|
if($du != $null) { |
|
|
|
xlog("L_INFO", "$ci|log|redirecting park request to $du, courtesy of kazoo\n"); |
|
|
|
route(EXTERNAL_TO_INTERNAL_RELAY); |
|
|
|
route(RELAY); |
|
|
|
exit(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -166,8 +166,10 @@ route[PRESENCE_FAST_PICKUP_INIT] |
|
|
|
if($var(AppName) == "park") { |
|
|
|
if($(kzE{kz.json,State}) == "terminated") { |
|
|
|
$sht(park=>$(kzE{kz.json,Presence-ID})) = $null; |
|
|
|
$sht(park=>$(kzE{kz.json,Presence-ID})::callid) = $null; |
|
|
|
} else { |
|
|
|
$sht(park=>$(kzE{kz.json,Presence-ID})) = $(kzE{kz.json,Switch-URI}); |
|
|
|
$sht(park=>$(kzE{kz.json,Presence-ID})::callid) = $(kzE{kz.json,Call-ID}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|