<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.p1, li.p1, div.p1
        {mso-style-name:p1;
        margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.s1
        {mso-style-name:s1;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.s2
        {mso-style-name:s2;}
span.s3
        {mso-style-name:s3;}
p.p2, li.p2, div.p2
        {mso-style-name:p2;
        margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.s4
        {mso-style-name:s4;}
span.s6
        {mso-style-name:s6;}
p.p5, li.p5, div.p5
        {mso-style-name:p5;
        margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.E-MailFormatvorlage32
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Yes – as said, you should use the uac functions to change the From/To headers. This is recommended over using the $fU or $tU.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Henning<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-left:35.4pt"><b><span lang="EN-GB">From:</span></b><span lang="EN-GB"> sr-users <sr-users-bounces@lists.kamailio.org>
<b>On Behalf Of </b>Melissa Frasik<br>
<b>Sent:</b> Wednesday, July 28, 2021 7:52 PM<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org><br>
<b>Subject:</b> Re: [SR-Users] Guidelines on E164 conversions<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt;color:black">Hello,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt;color:black">My apologies, I seem to have
<span style="background:yellow">​</span>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?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="p1" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37"><o:p> </o:p></span></p>
<p class="p1" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">           
</span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">$fU =</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37"> "+" + $avp(src=>countrycode) + $fU</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">           
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">$avp(uacreplacefromdisplay) =</span></span><span class="s4"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37"> $fU</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">           
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">$avp(uacreplacefromuri) =</span></span><span class="s4"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37"> $fu</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A"><br>
<br>
</span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">       
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">if ($avp(uacreplacefromdisplay) && $avp(uacreplacefromuri)) {</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">               
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">uac_replace_from("$avp(uacreplacefromdisplay)","$avp(uacreplacefromuri)")</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">               
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">$avp(uacreplacefromdisplay</span></span><span class="s6"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#4BD535">[*]</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">)=</span></span><span class="s4"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37">$null</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">               
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">$avp(uacreplacefromuri</span></span><span class="s6"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#4BD535">[*]</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">)=</span></span><span class="s4"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#F24E37">$null</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">       
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">}</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="p5" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87);min-height:14px">
<span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p> </o:p></span></p>
<p class="p2" style="margin-left:35.4pt;background-color:rgba(53, 53, 76, 0.87)">
<span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">           
</span></span><span class="s2"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white">xlog("$ci - converting domestic caller id number to $fU ($fu) - $avp(uacreplacefromdisplay) $avp(uacreplacefromuri)")</span></span><span class="s3"><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A">;</span></span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:#00008A"><br>
<br>
</span><span style="font-size:9.0pt;font-family:"Menlo",serif;color:white"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt;color:black">Thank you so much for your help!<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="margin-left:35.4pt;text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal" style="margin-left:35.4pt"><b><span style="color:black">From:</span></b><span style="color:black"> Henning Westerholt <<a href="mailto:hw@skalatan.de">hw@skalatan.de</a>><br>
<b>Sent:</b> Wednesday, July 28, 2021 1:29 PM<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <<a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>><br>
<b>Cc:</b> Melissa Frasik <<a href="mailto:melissa.frasik@dicecorp.com">melissa.frasik@dicecorp.com</a>><br>
<b>Subject:</b> RE: Guidelines on E164 conversions</span> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">Hello,</span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB"> </span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">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.</span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB"> </span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">Cheers,</span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB"> </span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">Henning</span><o:p></o:p></p>
<div>
<p class="xmsonormal" style="margin-left:35.4pt"> <o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">-- </span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">Henning Westerholt –
</span><a href="https://skalatan.de/blog/"><span lang="EN-GB" style="color:#0563C1">https://skalatan.de/blog/</span></a><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB">Kamailio services –
</span><a href="https://gilawa.com/"><span lang="EN-GB" style="color:#0563C1">https://gilawa.com</span></a>
<o:p></o:p></p>
</div>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB"> </span><o:p></o:p></p>
<p class="xmsonormal" style="margin-left:35.4pt"><span lang="EN-GB"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="xmsonormal" style="margin-left:70.8pt"><b>From:</b> sr-users <<a href="mailto:sr-users-bounces@lists.kamailio.org">sr-users-bounces@lists.kamailio.org</a>>
<b>On Behalf Of </b>Melissa Frasik<br>
<b>Sent:</b> Tuesday, July 27, 2021 11:26 PM<br>
<b>To:</b> <a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
<b>Subject:</b> [SR-Users] Guidelines on E164 conversions<o:p></o:p></p>
</div>
</div>
<p class="xmsonormal" style="margin-left:70.8pt"> <o:p></o:p></p>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">Hi all,</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">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:</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black"><br>
    xlog("$ci - caller id was $avp(src=>callerid)"); </span><o:p></o:p></p>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black"> </span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">    if($avp(src=>callerid) =~ "^\+"){</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            xlog("$ci - caller id already E164");</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">    }else if($(rU{s.substr,0,$(avp(src=>countrycode){s.len})}) == $avp(src=>countrycode)){</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $avp(src=>callerid) = "+" + $avp(src=>callerid);</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $fU = $avp(src=>callerid);</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $avp(uacreplacefromdisplay) = $fU;</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $avp(uacreplacefromuri) = $fu;</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            xlog("$ci - Adding plus to make caller id e164");</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">    }else{</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $fU = "+" + $avp(src=>countrycode) + $fU;</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $avp(uacreplacefromdisplay) = $fU;</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            $avp(uacreplacefromuri) = $fu;</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">            xlog("$ci - converting domestic caller id number to $fU ($fu) - $avp(uacreplacefromdisplay) $avp(uacreplacefromuri)");</span><o:p></o:p></p>
</div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">    }</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black"> </span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="margin-left:70.8pt"><span style="font-size:12.0pt;color:black">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?</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>