<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/2169/">https://reviewboard.asterisk.org/r/2169/</a>
</td>
</tr>
</table>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://reviewboard.asterisk.org/r/2169/diff/1/?file=31944#file31944line873" style="color: black; font-weight: bold; text-decoration: underline;">/branches/1.8/include/asterisk/channel.h</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">struct ast_channel {</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">873</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="kt">char</span> <span class="n">sending_dtmf_digit</span><span class="p">;</span>                        <span class="cm">/*!< Digit the channel is currently sending. (zero if not sending) */</span></pre></td>
</tr>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">874</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">struct</span> <span class="n">timeval</span> <span class="n">sending_dtmf_tv</span><span class="p">;</span>                <span class="cm">/*!< The time started sending current digit. */</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">1) Clarify the wording of sending_dtmf_digit so that it's clear that it's Asterisk sending the digit out and not the far end sending the digit to Asterisk. I initially read it as the digit being sent by the far end to Asterisk since the word "channel" is sometimes used to describe the entity being communicated with by Asterisk.
2) Clearly indicate that sending_dtmf_tv is invalid if sending_dtmf_digit is 0.</pre>
</div>
<br />
<p>- Mark</p>
<br />
<p>On October 25th, 2012, 4:11 p.m., rmudgett wrote:</p>
<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 rmudgett.</div>
<p style="color: grey;"><i>Updated Oct. 25, 2012, 4:11 p.m.</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;">Using the AMI redirect action or ChannelRedirect application on a bridged call to transfer a channel can result in a stuck DTMF digit on the channel sending the digit.
Initial scenario that resulted in a stuck DTMF digit on a channel:
1) A is bridged with B (It doesn't matter who called whom)
2) B is sending a DTMF digit to A.
3) An AMI redirect action or the ChannelRedirect application redirects A to another channel or dialplan extension.
4) A will be stuck sending DTMF
Another scenario that could result in a stuck DTMF digit on a channel is the following:
1) A calls B
2) B is sending a DTMF digit to A
3) An AMI hangup action is done to B.
4) A will be stuck sending DTMF if it is setup to execute dialplan after the bridge exits. (Dial g option)
</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;">Both scenarios get the simulated DTMF end digit.
For DAHDI channels, the initial scenario would result in A hearing ringback even though C answered and C could not hear anything from A.</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-20492">ASTERISK-20492</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/include/asterisk/channel.h <span style="color: grey">(375354)</span></li>
<li>/branches/1.8/include/asterisk/features.h <span style="color: grey">(375354)</span></li>
<li>/branches/1.8/main/channel.c <span style="color: grey">(375354)</span></li>
<li>/branches/1.8/main/features.c <span style="color: grey">(375354)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/2169/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>