[SR-Users] Guidelines on E164 conversions

Melissa Frasik melissa.frasik at dicecorp.com
Wed Jul 28 19:52:26 CEST 2021


Hello,

My apologies, I seem to have ​posted an incomplete code segment. I only seem to have issues when it comes to replacing $fU (before using uac_replace_from) - the same action on $rU seems to work properly. In the below situation, the $fU variable should be updated with the plus, but the $avp(uacreplacefromdisplay) variable has the value of the original $fU, not the updated one. Is this practice redundant, and should actions on $fU and $rU be avoided in favor of uac_replace_to/uac_replace_from?



            $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)");

Thank you so much for your help!

________________________________
From: Henning Westerholt <hw at skalatan.de>
Sent: Wednesday, July 28, 2021 1:29 PM
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org>
Cc: Melissa Frasik <melissa.frasik at dicecorp.com>
Subject: RE: Guidelines on E164 conversions


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



--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com<https://gilawa.com/>





From: sr-users <sr-users-bounces at lists.kamailio.org> On Behalf Of Melissa Frasik
Sent: Tuesday, July 27, 2021 11:26 PM
To: sr-users at 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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210728/29304ca0/attachment.htm>


More information about the sr-users mailing list