<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<tt>Hi B<tt>en,<br>
<br>
<tt>The fix is p<tt>resent on trunk <tt>(2.4)<tt>, 2<tt>.3 and
2.<tt>2 (the curren<tt>tly maintained versions).
Indeed, the 1.11 does not have the fix. <tt>You
can easily <tt>apply the fix on<tt> your 1.11
code <tt>vi<tt>a this patch -
<a class="moz-txt-link-freetext" href="https://github.com/OpenSIPS/opensips/commit/91c14ce679f80c8b4888769004c08039da2fc805.patch">https://github.com/OpenSIPS/opensips/commit/91c14ce679f80c8b4888769004c08039da2fc805.patch</a>
. It should be <tt>100% co<tt>mpatible.
<br>
<br>
<tt>Other<tt>wise, you can try to
get rid of user=phone in th<tt>e
URI by doing changes <tt>over
the full RURI (<tt>to avo<tt>i<tt>d
its parsing)<tt> -
like a subst o<tt>ver
the full <tt>RURI.</tt></tt></tt></tt></tt></tt></tt></tt></tt></tt><br>
</tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt><br>
<tt>Regards,</tt><br>
</tt></tt>
<pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a>
OpenSIPS Bootcamp 2017, Houston, US
<a class="moz-txt-link-freetext" href="http://opensips.org/training/OpenSIPS_Bootcamp_2017.html">http://opensips.org/training/OpenSIPS_Bootcamp_2017.html</a>
</pre>
<div class="moz-cite-prefix">On 07/05/2017 05:32 PM, Ben Newlin
wrote:<br>
</div>
<blockquote
cite="mid:C9AC3E07-7B9D-4B71-BC69-3405C2C94AAB@genesys.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<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:"Courier New";
panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:Calibri;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
tt
{mso-style-priority:99;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:Calibri;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Courier;}
span.EmailStyle21
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle22
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle23
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle24
{mso-style-type:personal-reply;
font-family:Calibri;
color:windowtext;}
span.msoIns
{mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
color:teal;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1878198596;
mso-list-type:hybrid;
mso-list-template-ids:1154257720 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style>
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Bogdan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thanks for
your work to find the issue. I do agree that the usage of
the “user=phone” parameter is not well defined and a bit
ambiguous. However, I think your action is correct as it
should be the responsibility of the end gateway to do any
necessary SIP -> Tel conversion, not the proxy. And
especially not a partial conversion. :)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Just to
clarify, where was the change you made submitted? I know
1.11 is no longer supported, but we are still using it and
are not ready to upgrade yet due to the many script changes
necessary to use 2.X. If this change cannot be added to
1.11, do you have any suggestions for a workaround? I
haven’t found anything yet, but I’ve yet to try using
revert_uri in the failure route to remove the user params
before any other processing. Do you think this will work?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" style="text-autospace:none"><span
style="color:#FC3619">Ben Newlin</span><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;color:#838487">Lead Voice Network
Engineer, PureCloud</span><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt"><img id="_x0000_i1042"
src="cid:part1.F51D6A2D.95E214B5@opensips.org"
height="9" width="291"></span><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span
style="font-size:6.0pt;color:#FC3619"> </span></b><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:6.0pt;color:#FC3619">O</span><span
style="font-size:10.0pt">
<span style="color:#838487">+1 317.957.1009</span></span><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><u><span
style="font-size:10.0pt;color:#0B4CB4"><a
moz-do-not-send="true"
href="mailto:ben.newlin@genesys.com"><a class="moz-txt-link-abbreviated" href="mailto:ben.newlin@genesys.com">ben.newlin@genesys.com</a></a></span></u><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt"><img id="_x0000_i1041"
src="cid:part1.F51D6A2D.95E214B5@opensips.org"
border="0" height="9" width="291"></span><span
style="font-family:"Times New Roman""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><a
moz-do-not-send="true" href="http://www.genesys.com/"><span
style="color:#838487;text-decoration:none"><br>
</span></a><span style="font-family:"Times New
Roman""><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><a moz-do-not-send="true"
href="https://twitter.com/Genesys"><span
style="color:#838487;text-decoration:none"><img
id="_x0000_i1039"
src="cid:part5.05097DAC.0D412E4C@opensips.org"
border="0" height="23" width="25"></span></a><a
moz-do-not-send="true"
href="http://www.linkedin.com/company/601919?trk=tyah"><span
style="color:#838487;text-decoration:none"><img
id="_x0000_i1038"
src="cid:part7.D131DA92.3AE4EF35@opensips.org"
border="0" height="23" width="25"></span></a><a
moz-do-not-send="true"
href="https://plus.google.com/+Genesyslab?rel=publisher"><span
style="color:#838487;text-decoration:none"><img
id="_x0000_i1037"
src="cid:part9.25DCD014.341C32BC@opensips.org"
border="0" height="23" width="23"></span></a><a
moz-do-not-send="true"
href="https://www.facebook.com/Genesys/"><span
style="color:#838487;text-decoration:none"><img
id="_x0000_i1036"
src="cid:part11.12545C52.19434435@opensips.org"
border="0" height="23" width="25"></span></a><a
moz-do-not-send="true"
href="https://www.youtube.com/Genesys"><span
style="color:#838487;text-decoration:none"><img
id="_x0000_i1035"
src="cid:part13.D97362AB.A2A95AAF@opensips.org"
border="0" height="23" width="25"></span></a><a
moz-do-not-send="true" href="http://blog.genesys.com/"><span
style="color:#838487;text-decoration:none"><img
id="_x0000_i1034"
src="cid:part15.AB6E8053.BB89F2E0@opensips.org"
border="0" height="23" width="23"></span></a><span
style="font-size:11.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span
style="color:black">Bogdan-Andrei Iancu
<a class="moz-txt-link-rfc2396E" href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a><br>
<b>Date: </b>Monday, July 3, 2017 at 11:46 AM<br>
<b>To: </b>Ben Newlin <a class="moz-txt-link-rfc2396E" href="mailto:Ben.Newlin@genesys.com"><Ben.Newlin@genesys.com></a>,
OpenSIPS users mailling list
<a class="moz-txt-link-rfc2396E" href="mailto:users@lists.opensips.org"><users@lists.opensips.org></a><br>
<b>Subject: </b>Re: [OpenSIPS-Users] SIP URI User
Parameters<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Times New
Roman""><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi Ben,</span></tt><span
style="font-size:10.0pt;font-family:"Courier New""><br>
<br>
<tt>Thank you for your digging and reporting. Following your
leads I found some old strange behavior of the parse_uri()
function - the function responsible for parsing the URIs
in OpenSISP.
</tt><br>
</span><br>
<br>
<o:p></o:p></p>
<pre>For some ancient and unknown reasons, a SIP URI with user=phone was automatically converted to a TEL URI. Such conversion, automatically done, is dangerous - there is nothing in the RFC3261 stating something like this. Even more, the conversion is not complete - besides moving the username parameters to URI parameters, the domain is not stripped and the TEL not added.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Basically, the existing code was converting:<o:p></o:p></pre>
<pre> <a moz-do-not-send="true" href="sip:username;bla=foo@host.com;param1=1;param2=2;user=phone">sip:username;bla=foo@host.com;param1=1;param2=2;user=phone</a><o:p></o:p></pre>
<pre>to<o:p></o:p></pre>
<pre> <a moz-do-not-send="true" href="sip:username@host.com;bla=foo">sip:username@host.com;bla=foo</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>I tried to dig around the subject, but not more - there is no reference or recommendation for such a behavior. If you have the time, see these links: <o:p></o:p></pre>
<pre>* SIP implementer -> <a moz-do-not-send="true" href="https://lists.cs.columbia.edu/pipermail/sip-implementors/2013-February/028837.html">https://lists.cs.columbia.edu/pipermail/sip-implementors/2013-February/028837.html</a><o:p></o:p></pre>
<pre>* SIP Core -> <a moz-do-not-send="true" href="https://www.ietf.org/mail-archive/web/sipcore/current/msg01783.html">https://www.ietf.org/mail-archive/web/sipcore/current/msg01783.html</a><o:p></o:p></pre>
<pre>* voip info -> <a moz-do-not-send="true" href="https://www.voip-info.org/wiki/view/SIP+URI">https://www.voip-info.org/wiki/view/SIP+URI</a> (Telephone numbers section)<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>On voip-info there is a recommendation on how to compare a SIP uri with a TEL uri (in terms of username and parameters parts), but nothing of a "must" conversion.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>So, I disabled the guilty code in OpenSIPS, and it should work as expected now.<o:p></o:p></pre>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>Best regards,</tt><br>
<br>
<br>
</span><o:p></o:p></p>
<pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
<pre> OpenSIPS Founder and Developer<o:p></o:p></pre>
<pre> <a moz-do-not-send="true" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>OpenSIPS Bootcamp 2017, Houston, US<o:p></o:p></pre>
<pre> <a moz-do-not-send="true" href="http://opensips.org/training/OpenSIPS_Bootcamp_2017.html">http://opensips.org/training/OpenSIPS_Bootcamp_2017.html</a><o:p></o:p></pre>
<br>
</div>
</blockquote>
<br>
</body>
</html>