[svn-commits] jrose: trunk r311427 - in /trunk: CHANGES apps/app_followme.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Mar 18 14:05:23 CDT 2011


Author: jrose
Date: Fri Mar 18 14:05:20 2011
New Revision: 311427

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=311427
Log:
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.

Modified:
    trunk/CHANGES
    trunk/apps/app_followme.c

Modified: trunk/CHANGES
URL: http://svnview.digium.com/svn/asterisk/trunk/CHANGES?view=diff&rev=311427&r1=311426&r2=311427
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Fri Mar 18 14:05:20 2011
@@ -76,6 +76,13 @@
    single direction (unmixed) audio recording separate from the bidirectional
    (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 ----------------

Modified: trunk/apps/app_followme.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_followme.c?view=diff&rev=311427&r1=311426&r2=311427
==============================================================================
--- trunk/apps/app_followme.c (original)
+++ trunk/apps/app_followme.c Fri Mar 18 14:05:20 2011
@@ -86,6 +86,11 @@
 					<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 @@
 	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_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 @@
 			}
 
 			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) {




More information about the svn-commits mailing list