Skip to content
Snippets Groups Projects
Commit 18a6c3a4 authored by Jonathan Rose's avatar Jonathan Rose
Browse files

Adds an option to FollowMe that isn't useful for the bug it was made to solve....

Adds an option to FollowMe that isn't useful for the bug it was made to solve.  Still, due to the nature of FollowMe, it makes sense to have this option since it keeps apps bound to channels that would otherwise go away from being lost.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@311427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent b1f45895
No related branches found
No related tags found
No related merge requests found
......@@ -77,6 +77,13 @@ MixMonitor
(mixed) recording. The mixed file name argument is optional now as long
as at least one recording option is used.
FollowMe
--------------------------
* Added a new option, l, which will disable local call optimization for
channels involved with the FollowMe thread. Use this option to improve
compatability for a FollowMe call with certain dialplan apps, options, and
functions.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.2 to Asterisk 1.8 ----------------
------------------------------------------------------------------------------
......
......@@ -86,6 +86,11 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
<option name="d">
<para>Disable the 'Please hold while we try to connect your call' announcement.</para>
</option>
<option name="l">
<para>Disable local call optimization so that applications with
audio hooks between the local bridge don't get dropped when the
calls get joined directly.</para>
</option>
</optionlist>
</parameter>
</syntax>
......@@ -168,7 +173,8 @@ enum {
FOLLOWMEFLAG_RECORDNAME = (1 << 1),
FOLLOWMEFLAG_UNREACHABLEMSG = (1 << 2),
FOLLOWMEFLAG_DISABLEHOLDPROMPT = (1 << 3),
FOLLOWMEFLAG_NOANSWER = (1 << 4)
FOLLOWMEFLAG_NOANSWER = (1 << 4),
FOLLOWMEFLAG_DISABLEOPTIMIZATION = (1 << 5),
};
AST_APP_OPTIONS(followme_opts, {
......@@ -177,6 +183,7 @@ AST_APP_OPTIONS(followme_opts, {
AST_APP_OPTION('n', FOLLOWMEFLAG_UNREACHABLEMSG ),
AST_APP_OPTION('d', FOLLOWMEFLAG_DISABLEHOLDPROMPT ),
AST_APP_OPTION('N', FOLLOWMEFLAG_NOANSWER ),
AST_APP_OPTION('l', FOLLOWMEFLAG_DISABLEOPTIMIZATION ),
});
static int ynlongest = 0;
......@@ -838,9 +845,9 @@ static void findmeexec(struct fm_args *tpargs)
}
if (!strcmp(tpargs->context, ""))
snprintf(dialarg, sizeof(dialarg), "%s", number);
snprintf(dialarg, sizeof(dialarg), "%s%s", number, ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_DISABLEOPTIMIZATION) ? "/n" : "");
else
snprintf(dialarg, sizeof(dialarg), "%s@%s", number, tpargs->context);
snprintf(dialarg, sizeof(dialarg), "%s@%s%s", number, tpargs->context, ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_DISABLEOPTIMIZATION) ? "/n" : "");
tmpuser = ast_calloc(1, sizeof(*tmpuser));
if (!tmpuser) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment