<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri, sans-serif" size="2">
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>I am experiencing an issue with server side call forward always which I didn&#8217;t see before but I now believe has always existed. Call forward always has been working. We recently switched phone manufacturers and now have the ability to offer bridged line
appearance (BLA). Part of the process for offering BLA is to have the phones register with the shared attribute for a given line. When we enable this attribute server side call forward always breaks. When I say break I mean that the call forwards OK but the
intermediate IP phone now rings which it never did before. </div>
<div>&nbsp;</div>
<div>Using ngrep I see that even with the old config (non-BLA setup) we had the same message flow:</div>
<div>&nbsp;</div>
<div> Invite (from PSTN gateway)-&gt; </div>
<div>&nbsp;&nbsp; Invite received at proxy-&gt;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; Proxy responds to gateway with 200 OK-&gt; </div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Proxy loads forward address from mysql usr_preferences table</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Proxy rewrite R-URI to the forward address - avp_pushto(&quot;$ruri/username&quot;, &quot;s:fwdaaddr&quot;);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Proxy send invite to this new address &#8211; but&#8230;</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Proxy also sends invite to each contact address registered to the original AOR.&nbsp; This should not happen but I think it was</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Always happening and the old phones just ignored it. Any thoughts on why and how to correct this behavior?</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>The ser.cfg snippets involved are included below:</div>
<div>&nbsp;</div>
<div>Determine if call forward all is on:</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # call forward always</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (avp_db_load(&quot;$ruri/username&quot;, &quot;s:callfwdall&quot;)) {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (avp_check(&quot;s:callfwdall&quot;,&quot;eq/y/i&quot;)) {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_INFO&quot;, &quot;\n[SER]: [%Tf] [%ci] User &lt;%ru&gt; has enabled Call Forward Always\n&quot;);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avp_write(&quot;$ruri&quot;, &quot;$ocn&quot;); - save original RURI&nbsp; for voicemail access if needed</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (avp_db_load(&quot;$ruri/username&quot;, &quot;s:fwdaaddr&quot;)) {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avp_pushto(&quot;$ruri/username&quot;, &quot;s:fwdaaddr&quot;);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewritehostport(&quot;mydomain.edu&quot;);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_INFO&quot;, &quot;\n[SER]: [%Tf] [%ci] Calls for user &lt;%tu&gt; FORWARDING to &lt;%ru&gt;\n&quot;);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(2);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</div>
<div>&nbsp;</div>
<div>And call relaying is done by:</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route[2] {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_INFO&quot;, &quot;\n[SER]: Route block #2 campus 5-digit extensions:\n\n&quot;);</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_INFO&quot;, &quot;\n[SER]: [%Tf] [%ci] Route block #2: sending oncampus call from &lt;%fu&gt; to local gateway\n&quot;);</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avp_write(&quot;65&quot;, &quot;inv_timeout&quot;); </div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewritehostport(&quot;my-gwy-ip-address:5060&quot;); </div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_on_failure(&quot;1&quot;);&nbsp;&nbsp;&nbsp; # for gwy failover</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_relay();</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Thanks,Steve</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Senior Network Engineer, <br>

Information Systems and Computing <br>

Networking and Telecommunications , Suite 221A /6228<br>

University of Pennsylvania <br>

Voice:215-573-8396</div>
<div>FAX:215-898-9348&nbsp; &nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
</font>
</body>
</html>