Add an option to app_followme to disable the "please hold" announcement.
[asterisk/asterisk.git] / apps / app_followme.c
index db2d984..b8ee480 100644 (file)
@@ -79,6 +79,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                                <para>Playback the unreachable status message if we've run out
                                                of steps to reach the or the callee has elected not to be reachable.</para>
                                        </option>
+                                       <option name="d">
+                                               <para>Disable the 'Please hold while we try to connect your call' announcement.</para>
+                                       </option>
                                </optionlist>
                        </parameter>
                </syntax>
@@ -159,13 +162,15 @@ struct findme_user {
 enum {
        FOLLOWMEFLAG_STATUSMSG = (1 << 0),
        FOLLOWMEFLAG_RECORDNAME = (1 << 1),
-       FOLLOWMEFLAG_UNREACHABLEMSG = (1 << 2)
+       FOLLOWMEFLAG_UNREACHABLEMSG = (1 << 2),
+       FOLLOWMEFLAG_DISABLEHOLDPROMPT = (1 << 3)
 };
 
 AST_APP_OPTIONS(followme_opts, {
        AST_APP_OPTION('s', FOLLOWMEFLAG_STATUSMSG ),
        AST_APP_OPTION('a', FOLLOWMEFLAG_RECORDNAME ),
        AST_APP_OPTION('n', FOLLOWMEFLAG_UNREACHABLEMSG ),
+       AST_APP_OPTION('d', FOLLOWMEFLAG_DISABLEHOLDPROMPT ),
 });
 
 static int ynlongest = 0;
@@ -1095,11 +1100,12 @@ static int app_exec(struct ast_channel *chan, const char *data)
 
        if (!ast_fileexists(namerecloc, NULL, chan->language))
                ast_copy_string(namerecloc, "", sizeof(namerecloc));
-
-       if (ast_streamfile(chan, targs.plsholdprompt, chan->language))
-               goto outrun;
-       if (ast_waitstream(chan, "") < 0)
-               goto outrun;
+       if (!ast_test_flag(&targs.followmeflags, FOLLOWMEFLAG_DISABLEHOLDPROMPT)) {
+               if (ast_streamfile(chan, targs.plsholdprompt, chan->language))
+                       goto outrun;
+               if (ast_waitstream(chan, "") < 0)
+                       goto outrun;
+       }
        ast_moh_start(chan, S_OR(targs.mohclass, NULL), NULL);
 
        targs.status = 0;