aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_page.c
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-15 20:07:03 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-15 20:07:03 +0000
commit9132c902a403f1e8340f72d8b21eba7fb0d945f2 (patch)
treeb4d60a46fa4872326c87f370c0cddc9482340b7a /apps/app_page.c
parente5c0052348dbb3126c5964250bd1d91e36b70f9f (diff)
Add an 'i' option to app_page. This option works the same as
the 'i' options for app_dial and app_queue, in that they will ignore any attempts by phones to forward the call. (closes issue #13977) Reported by: putnopvut Patches: page_ignore_forwards.patch uploaded by putnopvut (license 60) Tested by: putnopvut, acunningham git-svn-id: http://svn.digium.com/svn/asterisk/trunk@164428 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_page.c')
-rw-r--r--apps/app_page.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/app_page.c b/apps/app_page.c
index 7d1dca447..1884f4347 100644
--- a/apps/app_page.c
+++ b/apps/app_page.c
@@ -68,6 +68,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
<option name="d">
<para>Full duplex audio</para>
</option>
+ <option name="i">
+ <para>Ignore attempts to forward the call</para>
+ </option>
<option name="q">
<para>Quiet, do not play beep to caller</para>
</option>
@@ -103,6 +106,7 @@ enum {
PAGE_QUIET = (1 << 1),
PAGE_RECORD = (1 << 2),
PAGE_SKIP = (1 << 3),
+ PAGE_IGNORE_FORWARDS = (1 << 4),
} page_opt_flags;
AST_APP_OPTIONS(page_opts, {
@@ -110,6 +114,7 @@ AST_APP_OPTIONS(page_opts, {
AST_APP_OPTION('q', PAGE_QUIET),
AST_APP_OPTION('r', PAGE_RECORD),
AST_APP_OPTION('s', PAGE_SKIP),
+ AST_APP_OPTION('i', PAGE_IGNORE_FORWARDS),
});
#define MAX_DIALS 128
@@ -209,6 +214,10 @@ static int page_exec(struct ast_channel *chan, void *data)
ast_dial_set_global_timeout(dial, timeout * 1000);
}
+ if (ast_test_flag(&flags, PAGE_IGNORE_FORWARDS)) {
+ ast_dial_option_global_enable(dial, AST_DIAL_OPTION_DISABLE_CALL_FORWARDING, NULL);
+ }
+
/* Run this dial in async mode */
ast_dial_run(dial, chan, 1);