DTMF events are now published on a channel's stasis_topic. AMI was

refactored to use these events rather than producing the events directly
in channel.c. Finally, the code was added to app_stasis to produce
DTMF events on the WebSocket.

The AMI events are completely backward compatible, including sending
events on transmitted DTMF, and sending DTMF start events.

The Stasis-HTTP events are somewhat simplified. Since DTMF start and
DTMF send events are generally less useful, Stasis-HTTP will only send
events on received DTMF end.

(closes issue ASTERISK-21282)
(closes issue ASTERISK-21359)
Review: https://reviewboard.asterisk.org/r/2439


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
David M. Lee
2013-04-15 16:22:03 +00:00
parent c6cf12408e
commit 2450722f52
5 changed files with 206 additions and 46 deletions

View File

@@ -82,6 +82,18 @@ static force_inline int attribute_pure ast_strlen_zero(const char *s)
*/
#define S_COR(a, b, c) ({typeof(&((b)[0])) __x = (b); (a) && !ast_strlen_zero(__x) ? (__x) : (c);})
/*!
* \brief return Yes or No depending on the argument.
*
* Note that this macro is used my AMI, where a literal "Yes" and "No" are
* expected, and translations would cause problems.
*
* \param x Boolean value
* \return "Yes" if x is true (non-zero)
* \return "No" if x is false (zero)
*/
#define AST_YESNO(x) ((x) ? "Yes" : "No")
/*!
\brief Gets a pointer to the first non-whitespace character in a string.
\param str the input string