<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/1685/">https://reviewboard.asterisk.org/r/1685/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/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 Mark Michelson.</div>





<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;">A recent change (rev 347595) caused channel technology-specific blind transfers to fail if the called channel transferred the calling channel, and the calling channel was in a context or macro with an h extension.

Presumably, there was a pre-existing problem since the h extension was being run on the transferee channel, and the transferee channel was not being hung up in the first place. Rather, the transferer (who does not have a PBX running on his channel) was the one being hung up. With the addition of setting the softhangup flag, the problem was compounded since the channel would be hung up unexpectedly.

My change is to examine the softhangup value on the channel when a bridge is broken and set the AST_FLAG_BRIDGE_HANGUP_DONT flag on the channel if the cause of the bridge breakage is for a &quot;fake&quot; hangup, such as an async goto. This makes it so the h extension is not run on a channel that&#39;s actually still alive, and it makes it so that blind transfers are once again fixed.

My only hesitation with just committing this is that it means that the h extension is no longer run in situations where it once was. However, in my opinion, it was buggy to be running the h extension since the channel was not actually being hung up.</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;">Tested blind transfers using SIP phones. Worked for me. Asked reporter of ASTERISK-19173 for testing feedback as well.</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-19173">ASTERISK-19173</a>


</div>


<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.8/main/features.c <span style="color: grey">(351501)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1685/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>