<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 12 (filtered medium)">
<style><!--
/* Font Definitions */
@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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:24.0pt;
        font-family:"Times New Roman","serif";
        font-weight:bold;}
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;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Cambria","serif";
        color:#365F91;
        font-weight:bold;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;
        letter-spacing:0pt;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:898708306;
        mso-list-template-ids:199526502;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Is it possible to get this on the roadmap for 1.8.5 / 1.8.6 or is this only for Trunk?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Nic.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> asterisk-dev-bounces@lists.digium.com [mailto:asterisk-dev-bounces@lists.digium.com]
<b>On Behalf Of </b>Russell Bryant<br>
<b>Sent:</b> 05 May 2011 20:39<br>
<b>To:</b> David Vossel; Russell Bryant; Asterisk Developers<br>
<b>Subject:</b> Re: [asterisk-dev] [Code Review] SIP: peer matching by callbackextension<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<table class="MsoNormalTable" border="1" cellpadding="0" width="100%" style="width:100.0%;background:#F9F3C9;border:solid #C9C399 1.0pt">
<tbody>
<tr>
<td style="border:none;padding:6.0pt 6.0pt 6.0pt 6.0pt">
<p class="MsoNormal">This is an automatically generated e-mail. To reply, visit: <a href="https://reviewboard.asterisk.org/r/344/">
https://reviewboard.asterisk.org/r/344/</a> <o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p><span style="font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;">Ship it!<o:p></o:p></span></p>
<pre style="white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap: break-word">It's optional, off by default, and multiple people seem to want this and find it useful.&nbsp; It's fine with me.<o:p></o:p></pre>
<p class="MsoNormal"><span style="font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p><span style="font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;">- Russell<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p><span style="font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;">On December 9th, 2010, 12:16 p.m., David Vossel wrote:<o:p></o:p></span></p>
<table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;background:#FEFADF;border:solid black 1.0pt;background-position-x:0%;background-position-y:0%">
<tbody>
<tr>
<td style="border:none;padding:6.0pt 6.0pt 6.0pt 6.0pt">
<div>
<p class="MsoNormal">Review request for Asterisk Developers.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">By David Vossel.<o:p></o:p></p>
</div>
<p style="color:grey"><i>Updated 2010-12-09 12:16:42</i><o:p></o:p></p>
<h1 style="margin-top:18.0pt"><span style="font-size:10.0pt;color:#575012">Description
<o:p></o:p></span></h1>
<table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;background:white;border:solid #B8B5A0 1.0pt">
<tbody>
<tr>
<td style="border:none;padding:7.5pt 7.5pt 7.5pt 7.5pt">
<pre style="white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap: break-word">If there are a number of peers with different callbackextension parameters and the same host address.&nbsp; The first peer found matching the address is used regardless if that peer's callbackextension matches the incoming extension or not.<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Now, to better match peers with incoming calls, if an incoming call's address can match multiple peers by address, we check each of those peer's callbackextension against the incoming extension for the best possible match.<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>It is possible that my implementation may be too expensive and only serve to address a minor edge case in the usage of chan_sip.&nbsp; I do not fully understand the impact my changes may have upon performance when a large number of peers are present.&nbsp; This patch assumes the new parse_uri() change has been made.<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>-------------------------------------------<o:p></o:p></pre>
<pre>for example with two peers as follows<o:p></o:p></pre>
<pre>[trunk1]<o:p></o:p></pre>
<pre>host=sip.myitsp.com<o:p></o:p></pre>
<pre>callbackextension=9991<o:p></o:p></pre>
<pre>...<o:p></o:p></pre>
<pre>[trunk2]<o:p></o:p></pre>
<pre>host=sip.myitsp.com<o:p></o:p></pre>
<pre>callbackextension=9992<o:p></o:p></pre>
<pre>...<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>incoming calls to 9991 and to 9992 are both matched to the peer trunk1<o:p></o:p></pre>
<pre>--------------------------------------------<o:p></o:p></pre>
</td>
</tr>
</tbody>
</table>
<h1 style="margin-top:18.0pt"><span style="font-size:10.0pt;color:#575012">Testing
<o:p></o:p></span></h1>
<table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;background:white;border:solid #B8B5A0 1.0pt">
<tbody>
<tr>
<td style="border:none;padding:7.5pt 7.5pt 7.5pt 7.5pt">
<pre style="white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap: break-word">Tested multiple peers with the same address containing different callbackextensions. Verified the correct peers were matched with incoming calls.<o:p></o:p></pre>
</td>
</tr>
</tbody>
</table>
<div style="margin-top:18.0pt">
<p class="MsoNormal"><b><span style="font-size:10.0pt;color:#575012">Bugs: </span>
</b><a href="https://issues.asterisk.org/view.php?id=14340">14340</a> <o:p></o:p></p>
</div>
<h1 style="margin-top:18.0pt"><span style="font-size:10.0pt;color:#575012">Diffs <o:p>
</o:p></span></h1>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
/trunk/channels/chan_sip.c (297950)<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
/trunk/channels/sip/include/sip.h (297950)<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
/trunk/configs/sip.conf.sample (297950)<o:p></o:p></li></ul>
<p><a href="https://reviewboard.asterisk.org/r/344/diff/">View Diff</a><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</body>
</html>