$fU = "+" + $avp(src=>countrycode) + $fU;
$avp(uacreplacefromdisplay) = $fU;
$avp(uacreplacefromuri) = $fu;
if ($avp(uacreplacefromdisplay) && $avp(uacreplacefromuri)) {
uac_replace_from("$avp(uacreplacefromdisplay)","$avp(uacreplacefromuri)");
$avp(uacreplacefromdisplay[*])=$null;
$avp(uacreplacefromuri[*])=$null;
}
xlog("$ci - converting domestic caller id number to $fU ($fu) - $avp(uacreplacefromdisplay) $avp(uacreplacefromuri)");
Hello,
If you want to change the From (or To) header content, you should use the “uac” modules replace_from/_to functions. They will transparently make sure that both end-points get the correct header content.
Cheers,
Henning
From: sr-users <sr-users-bounces@lists.kamailio.org>
On Behalf Of Melissa Frasik
Sent: Tuesday, July 27, 2021 11:26 PM
To: sr-users@lists.kamailio.org
Subject: [SR-Users] Guidelines on E164 conversions
Hi all,
I'm running into some issues with E164 conversions and was wondering if there was a decent standardized method for conversions. Conversions using $rU seem to be working great, but $fU is behaving badly. This is what I have so far:
xlog("$ci - caller id was $avp(src=>callerid)");
if($avp(src=>callerid) =~ "^\+"){
xlog("$ci - caller id already E164");
}else if($(rU{s.substr,0,$(avp(src=>countrycode){s.len})}) == $avp(src=>countrycode)){
$avp(src=>callerid) = "+" + $avp(src=>callerid);
$fU = $avp(src=>callerid);
$avp(uacreplacefromdisplay) = $fU;
$avp(uacreplacefromuri) = $fu;
xlog("$ci - Adding plus to make caller id e164");
}else{
$fU = "+" + $avp(src=>countrycode) + $fU;
$avp(uacreplacefromdisplay) = $fU;
$avp(uacreplacefromuri) = $fu;
xlog("$ci - converting domestic caller id number to $fU ($fu) - $avp(uacreplacefromdisplay) $avp(uacreplacefromuri)");
}
Previously, I'd found a suggestion mentioning using uac_replace_from in the route[RELAY] (which is the purpose of the uacreplacefrom avps), but $fU does not appear to be changing its value. Is there something I'm doing incorrectly?