<p>Kevin Harwell <strong>submitted</strong> this change.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/18495">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Kevin Harwell: Looks good to me, but someone else must approve; Approved for Submit
  George Joseph: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">chan_dahdi: Don't allow MWI FSK if channel not idle.<br><br>For lines that have mailboxes configured on them, with<br>FSK MWI, DAHDI will periodically try to dispatch FSK<br>to update MWI. However, this is never supposed to be<br>done when a channel is not idle.<br><br>There is currently an edge case where MWI FSK can<br>extraneously get spooled for the channel if a caller<br>hook flashes and hangs up, which triggers a recall ring.<br>After one ring, the on hook time threshold in this if<br>condition has been satisfied and an MWI update is spooled.<br>This means that when the phone is picked up again, the<br>answerer gets an FSK spill before being reconnected to<br>the party on hold.<br><br>To prevent this, we now explicitly check to ensure that<br>subchannel 0 has no owner. There is no owner when DAHDI<br>channels are idle, but if the channel is "in use" in some<br>way (such as in the aforementioned scenario), then there<br>is an owner, and we shouldn't process MWI at this time.<br><br>ASTERISK-28518 #close<br><br>Change-Id: Ia3904434fd81688d71742f7e84358b7e1c38e92a<br>---<br>M channels/chan_dahdi.c<br>1 file changed, 1 insertion(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c</span><br><span>index 5f64575..26bb290 100644</span><br><span>--- a/channels/chan_dahdi.c</span><br><span>+++ b/channels/chan_dahdi.c</span><br><span>@@ -11573,6 +11573,7 @@</span><br><span>                                                      && !analog_p->fxsoffhookstate</span><br><span>                                                     && !last->owner</span><br><span>                                                   && !ast_strlen_zero(last->mailbox)</span><br><span style="color: hsl(120, 100%, 40%);">+                                                 && !analog_p->subs[SUB_REAL].owner /* could be a recall ring from a flash hook hold */</span><br><span>                                                    && (thispass - analog_p->onhooktime > 3)) {</span><br><span>                                                    res = has_voicemail(last);</span><br><span>                                                   if (analog_p->msgstate != res) {</span><br><span></span><br></pre><div style="white-space:pre-wrap"></div><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/18495">change 18495</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/asterisk/+/18495"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 19 </div>
<div style="display:none"> Gerrit-Change-Id: Ia3904434fd81688d71742f7e84358b7e1c38e92a </div>
<div style="display:none"> Gerrit-Change-Number: 18495 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: N A <mail@interlinked.x10host.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>