]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Remove undocumented default behavior of ast_play_and_record_full acceptdtmf.
authorMark Michelson <mmichelson@digium.com>
Thu, 11 Sep 2014 22:16:03 +0000 (22:16 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 11 Sep 2014 22:16:03 +0000 (22:16 +0000)
commit04887546ceccb130948bb343808b0799c02f94a5
tree078919a71b6de1dd56cb12c77f1c41654827ffab
parentef661d89b769ad469e186b5069d4ffc70a451412
Remove undocumented default behavior of ast_play_and_record_full acceptdtmf.

ast_play_and_record_full() has a parameter called "acceptdtmf" that is a
string of acceptable DTMF digits that may be pressed by a caller to end
and accept the recording.

ARI uses this function in order to perform recording, and it provides
options for what is passed as acceptdtmf to ast_play_and_record_full().
By default, ARI passes an empty string, with the intention that no DTMF
can be used to end the recording.

The problem is that ast_play_and_record_full() attempts to be "helpful"
by setting "#" as the acceptdtmf if an empty string or NULL pointer
has been passed in. With ARI, this results in unexpected behavior
occurring if you have attempted to intercept "#" yourself in order
to perform some other manipulation of the live recording.

This change removes the "helpful" behavior by no longer accepting
"#" as a default acceptdtmf if none is specified by the caller of
ast_play_and_record_full(). This makes the ARI scenario work as
expected.

The other callers of ast_play_and_record_full() are app_voicemail
and app_minivm, and in both cases, they pass an explicit "#" to
ast_play_and_record_full() as acceptdtmf, so they are unaffected
by this change.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@422964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/app.c