<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
<div class="moz-cite-prefix">On 8/23/12 11:54 AM, <a class="moz-txt-link-abbreviated" href="mailto:martian@centrum.sk">martian@centrum.sk</a>
wrote:<br>
</div>
<blockquote cite="mid:20120823115419.63CC468C@centrum.sk"
type="cite">
<p style="padding:0 0 0 0; margin:0 0 0 0;">Hello to everybody.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">I am currently working
with Kamailio 3.3.1 on RedHat.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">The "loose_route"
function was not working correctly and I observed some very
strange behaviour (not as one described in the documentation of
the function).</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">I have found that
there needs to be a port included in the "alias" variable for
the loose_route function to work correctly.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">However, upon adding
the port to alias, the INVITE messages were no longer
authenticated (Kamailio just accepted them and didn't send
proxy-auth header in 407 message).</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">My alias:</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">alias="domain.ch:5060"</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Examining default
routing logic, I found the problem here:</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">if
(is_method("REGISTER") || from_uri==myself)</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">{</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
class="Apple-tab-span" style="white-space: pre;"> </span>#
authenticate requests</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
class="Apple-tab-span" style="white-space: pre;"> </span>...</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">}</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">The "from_uri==myself"
was no longer evaluated as true, because there was a port at the
end of the alias.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">The FROM Header of the
INVITE messages looks like:</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">From: "acc1"
<a class="moz-txt-link-rfc2396E" href="sip:acc1@domain.ch"><sip:acc1@domain.ch></a>;tag=12345</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">..so .. no port number
there.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Btw, I have fixed this
with replacing the "myself" list with my own defined variable
MY_DOMAIN.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">#!define MY_DOMAIN
<a class="moz-txt-link-rfc2396E" href="mailto:.*@domain.ch">".*@domain.ch"</a></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">So now the condition
looks like this:</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">if
(is_method("REGISTER") || from_uri=~MY_DOMAIN)</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">{</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">...</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">}</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">I am not sure if this
is a bug that needs to be fixed or not. I am just pointing my
finger at it and I hope it will contribute to the development.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Also, a valid
description of this behavior (when using port in alias) would be
appreciated.</p>
</blockquote>
<br>
if you enclose the value of the alias parameter in double quotes,
then it is taken as string value. If you want to set it to a
host:port, then remove the double quotes:<br>
<br>
<p style="padding:0 0 0 0; margin:0 0 0 0;">alias=domain.ch:5060<br>
</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><br>
Why do you say the loose_route() was working strangely? Do you add
the hostname as record-route, not the IP address? Detail more
about what you think is wrong with record routing/loose routing.<br>
<br>
</p>
<br>
Cheers,<br>
Daniel<br>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Kamailio Advanced Training, Berlin, Nov 5-8, 2012 - <a class="moz-txt-link-freetext" href="http://asipto.com/u/kat">http://asipto.com/u/kat</a></pre>
</body>
</html>