config: Allow ConfBridge DTMF menus to have '#' as the first digit.

ConfBridge allows custom DTMF menus to be created in the confbridge.conf
file by assigning a DTMF key sequence to a sequence of actions as follows:

DTMF-sequence = action,action...

Unfortunately, the normal config file processing code interprets an
initial '#' character as starting a directive such as #include.

* Add the ability to escape the first non-blank character in a config line
so the '#' character can be used without triggering the directive
processing code.

(closes issue AFS-2)
(closes issue ASTERISK-22478)
Reported by: Nicolas Tanski
Patches:
      jira_asterisk_22478_v11.patch (license #5621) patch uploaded by rmudgett (modified)

Review: https://reviewboard.asterisk.org/r/2969/
........

Merged revisions 402407 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett
2013-11-02 01:11:16 +00:00
parent 05a838e7ab
commit ff9809c0a8
3 changed files with 33 additions and 6 deletions

View File

@@ -426,6 +426,13 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
each channel using the application. Like the User and Bridge profiles a menu
is passed in to ConfBridge as an argument in the dialplan.</para>
<para>Below is a list of menu actions that can be assigned to a DTMF sequence.</para>
<note><para>
To have the first DTMF digit in a sequence be the '#' character, you need to
escape it. If it is not escaped then normal config file processing will
think it is a directive like #include. For example: The mute setting is
toggled when <literal>#1</literal> is pressed.</para>
<para><literal>\#1=toggle_mute</literal></para>
</note>
<note><para>
A single DTMF sequence can have multiple actions associated with it. This is
accomplished by stringing the actions together and using a <literal>,</literal> as the
@@ -450,7 +457,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
<enum name="toggle_mute"><para>
Toggle turning on and off mute. Mute will make the user silent
to everyone else, but the user will still be able to listen in.
continue to collect the dtmf sequence.</para></enum>
</para></enum>
<enum name="no_op"><para>
This action does nothing (No Operation). Its only real purpose exists for
being able to reserve a sequence in the config as a menu exit sequence.</para></enum>