<html 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)">
<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:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Préformaté HTML Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.PrformatHTMLCar
        {mso-style-name:"Préformaté HTML Car";
        mso-style-priority:99;
        mso-style-link:"Préformaté HTML";
        font-family:Consolas;}
span.EmailStyle21
        {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 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="FR" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Daniel,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">I just did some tests the same way as Duarte’s and the parameter I think you mentioned (<b>{uri.uparam}:
</b>“Return the value of user parameter”) does not work as expected:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">URI sip:123456789;test=param;phone-context=abcd@1.1.1.1;user=phone<o:p></o:p></span></p>
<p class="MsoNormal">$(var(URI){uri.<span style="mso-fareast-language:EN-US"> uparam</span>})<span style="mso-fareast-language:EN-US"> = "phone"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">URI sip:123456789;test=param;phone-context=abcd@1.1.1.1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">$(var(URI){uri.</span><span lang="EN-US" style="mso-fareast-language:EN-US"> uparam</span><span lang="EN-US">})</span><span lang="EN-US" style="mso-fareast-language:EN-US"> = ""<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Am I missing something?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black;mso-fareast-language:EN-US">--<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black;mso-fareast-language:EN-US">Julien</span><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p></o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">De : </span></b><span style="font-size:12.0pt;color:black">sr-users <sr-users-bounces@lists.kamailio.org> au nom de Duarte Rocha <duarterocha91@gmail.com><br>
<b>Répondre à : </b>"Kamailio (SER) - Users Mailing List" <sr-users@lists.kamailio.org><br>
<b>Date : </b>lundi 18 novembre 2019 à 14:19<br>
<b>À : </b>Daniel-Constantin Mierla <miconda@gmail.com><br>
<b>Cc : </b>"Kamailio (SER) - Users Mailing List" <sr-users@lists.kamailio.org><br>
<b>Objet : </b>Re: [SR-Users] Problem with URI transformations<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As far as i know, the URI transformations only provide the "user" parameter, not the user part parameters.
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">What i'm trying to do i build an object for Diversion and Contact. To do that i'm trying to parse the header and URI into it's elements. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">URI Example : <sip:123456;parameter=hello;parameter2=<a href="mailto:hey@1.1.1.1">hey@1.1.1.1</a>;kamailio=test><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Elements : <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  User : 123456<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  User Parameters : parameter=hello;parameter2=hey<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  Domain : 1.1.1.1<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  URI Parameters = kamailio=teste<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">To achieve this i'm using uri.user , uri.domain , uri.port and uri.params.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">uri.user will normally return "123456;parameter=hello;parameter2=hey" and after that i mannually split the user and teh user params. However, in the event of a TEL_URI with user=phone on uri.params, "parameter=hello;parameter2=hey" won't
 be present in the uri.user.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">It seems like i should be doing a special case for when user=phone is present. What do you think ?<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">A segunda, 18/11/2019, 12:29, Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>> escreveu:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p>Hello,<o:p></o:p></p>
<p>check the URI transformation docs, iirc there is an option to get user parameters.<o:p></o:p></p>
<p>If not, can you give an example of what params you want to work with, likely you can get it with other transformations...<o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 18.11.19 13:13, Duarte Rocha wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Greetings, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">My issue was related to user part parameters being lost. I didn't know that the parse would work differently when user=phone was present. Thank you for pointing that out.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That being said, how should i proceed if i want to check user part parameters in this scenario? Like phone-context for example. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Best Regards<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">A sexta, 15/11/2019, 20:38, Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>> escreveu:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p>Hello,<o:p></o:p></p>
<p>what did you expect to be? To be able to comment on the exact topic.<o:p></o:p></p>
<p>user=phone changes the structure of the URI in something similar to tel URI.<o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 15.11.19 17:51, Duarte Rocha wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">Greetings, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I'm trying to parse some URI info on Kamailio but i'm having some troubles the URI transformations.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Here i have two examples of URIS from which i'm trying to extract username(with user parameters included) and URI Parameters : <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- sip:123456789;test=<a href="mailto:param@1.1.1.1" target="_blank">param@1.1.1.1</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- sip:123456789;test=<a href="mailto:param@1.1.1.1" target="_blank">param@1.1.1.1</a>;user=phone<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">In order to test this i made the following code : <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">$var(URI) = "sip:123456789;test=<a href="mailto:param@1.1.1.1" target="_blank">param@1.1.1.1</a>";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xerr("DEBUG 1 : URI $var(URI)"); <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$var(User) = $(var(URI){uri.user}); <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$var(Parameters) = $(var(URI){uri.params}); <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xerr("DEBUG 1 : User = $var(User)");<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xerr("DEBUG 1 : Parameters = $var(Parameters)");<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$var(URI) = "sip:123456789;test=<a href="mailto:param@1.1.1.1" target="_blank">param@1.1.1.1</a>;user=phone";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xerr("DEBUG 2 : URI $var(URI)"); ;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$var(User) = $(var(URI){uri.user});<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$var(Parameters) = $(var(URI){uri.params}); <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xerr("DEBUG 2 : User =  $var(User)"); <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xerr("DEBUG 2 : Parameters = $var(Parameters)");<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The result is the following : <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">DEBUG 1 : URI sip:123456789;test=<a href="mailto:param@1.1.1.1" target="_blank">param@1.1.1.1</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">DEBUG 1 : User = 123456789;test=param<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">DEBUG 1 : Parameters =<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">DEBUG 2 : URI sip:123456789;test=<a href="mailto:param@1.1.1.1" target="_blank">param@1.1.1.1</a>;user=phone<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">DEBUG 2 : User =  123456789<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">DEBUG 2 : Parameters = user=phone<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">If the URI has parameters, the User parameters won't be included in the User part.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Is this a bug or is it working as intended? I'm running Kamailio 5.2.0 .<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thank you for your time.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Best Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Duarte Rocha<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Kamailio (SER) - Users Mailing List<o:p></o:p></pre>
<pre><a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><o:p></o:p></pre>
<pre><a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a><o:p></o:p></pre>
</div>
</blockquote>
</div>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a><o:p></o:p></pre>
</div>
</blockquote>
</div>
</div>
</body>
</html>