summaryrefslogtreecommitdiff
path: root/include/asterisk/features.h
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2012-11-06 19:05:11 +0000
committerRichard Mudgett <rmudgett@digium.com>2012-11-06 19:05:11 +0000
commit6ad0126425993bd9c9c73b0c05a52984cbcadc5d (patch)
treef070df191a27b220f3097e18ea17a9870ea666b6 /include/asterisk/features.h
parent82dc21e0e1813b3f24099ad0c90918d95b39ff9d (diff)
Fix stuck DTMF when bridge is broken.
When a bridge is broken by an AMI Redirect action or the ChannelRedirect application, an in progress DTMF digit could be stuck sending forever. * Made simulate a DTMF end event when a bridge is broken and a DTMF digit was in progress. (closes issue ASTERISK-20492) Reported by: Jeremiah Gowdy Patches: bridge_end_dtmf-v3.patch.txt (license #6358) patch uploaded by Jeremiah Gowdy Modified to jira_asterisk_20492_v1.8.patch jira_asterisk_20492_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/2169/ ........ Merged revisions 375964 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 375965 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 375966 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/features.h')
-rw-r--r--include/asterisk/features.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asterisk/features.h b/include/asterisk/features.h
index 1619d54c4..4f5561381 100644
--- a/include/asterisk/features.h
+++ b/include/asterisk/features.h
@@ -169,6 +169,18 @@ int ast_parking_ext_valid(const char *exten_str, struct ast_channel *chan, const
/*! \brief Determine system call pickup extension */
const char *ast_pickup_ext(void);
+/*!
+ * \brief Simulate a DTMF end on a broken bridge channel.
+ *
+ * \param chan Channel sending DTMF that has not ended.
+ * \param digit DTMF digit to stop.
+ * \param start DTMF digit start time.
+ * \param why Reason bridge broken.
+ *
+ * \return Nothing
+ */
+void ast_bridge_end_dtmf(struct ast_channel *chan, char digit, struct timeval start, const char *why);
+
/*! \brief Bridge a call, optionally allowing redirection */
int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct ast_bridge_config *config);