<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://reviewboard.asterisk.org/r/1059/">https://reviewboard.asterisk.org/r/1059/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On December 16th, 2010, 1:41 p.m., <b>schmidts</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">i dont know the rfc part of via headers itself, but i think its a good way at all.
what happens if there is a record route and a via header in one sip message? I dont know if this could happens but IMHO record route overrules a via.
</pre>
</blockquote>
<p>On December 16th, 2010, 1:59 p.m., <b>Matthew Nicholson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hmm, it looks like asterisk does not respect the Record-Route header on responses either. I will consult the RFC to see if Via or Record-Route takes precedence.</pre>
</blockquote>
<p>On December 17th, 2010, 7:31 a.m., <b>Mark Michelson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Not sure if you've already done this or not Matt, but you definitely need to follow the Via headers and not Record-Route for responses. The important thing is that the response goes through all SIP proxies that the request did.</pre>
</blockquote>
<p>On December 17th, 2010, 7:56 a.m., <b>Matthew Nicholson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So should Via take precedence over Record-Route then?</pre>
</blockquote>
<p>On December 17th, 2010, 8:40 a.m., <b>schmidts</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">i was thinking about a situation which is not allowed from the RFC so it would not be a problem:
he URI placed in the Record-Route header field MUST resolve to
the element inserting it (or a suitable stand-in) when the
server location procedures of [4] are applied to it, so that
subsequent requests reach the same SIP element.
so it could not happens that a record route header differs from a via cause they have to point to the same adress/domain.</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">@Matt: Yes, as a UAS, you should never attempt to route responses based on Record-Route headers. Thus, you could say that Via has an infinite amount of precedence over Record-Route. Record-Route is used so that user agents can build a route set to be used for future transactions within the dialog. It's not used as a method of determining where messages during the initial transaction of dialog creation should be sent.</pre>
<br />
<p>- Mark</p>
<br />
<p>On December 16th, 2010, 2:36 p.m., Matthew Nicholson wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers.</div>
<div>By Matthew Nicholson.</div>
<p style="color: grey;"><i>Updated 2010-12-16 14:36:19</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch makes asterisk respect the Via headers in a request when responding to it. This is necessary in the even that a stateless proxy is in between asterisk and the requester. Without this patch, the response is simply routed back to the address we received the initial request from (unless nat=yes is set).</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Briefly tested using openser as a stateless proxy and another asterisk machine as the requester. I sent and invite, then some INFO DTMF messages. Without the patch, our asterisk machine sends all responses to the INFO requests to the proxy, with the patch they are properly routed to the requesting asterisk machine. I also briefly tested with openser configured to use the Record-Route header as a stateful proxy.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/branches/1.4/channels/chan_sip.c <span style="color: grey">(294163)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/1059/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>