summaryrefslogtreecommitdiff
path: root/main/features.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2011-10-20 22:03:35 +0000
committerRichard Mudgett <rmudgett@digium.com>2011-10-20 22:03:35 +0000
commitb961d57c4cf3d3b607ce987f8fdbd35b4230a4ac (patch)
treeec9b2723323fb06d0e4fb1c82130fcf4b440a07b /main/features.c
parent0e887d1a50ebcf5c99b9b700f5fae01e46e2fc0a (diff)
Fix AGI exec Park to honor the Park application parameters.
The fix for ASTERISK-12715 and ASTERISK-12685 added a check for the Park application because the channel needed to be masqueraded to prevent a crash. Since the Park application now always masquerades the channel into the parking lot, the special check is no longer needed. The fix also resulted in AGI exec Park attempting to double park the call and not honor the Park application parameters. * Removed no longer necessary call to ast_masq_park_call() by AGI exec for the Park application. (Reverts -r146923) * Fix Park application to only return 0 or -1. The AGI exec Park was causing broken pipe error messages because the Park application returned 1 on successful park. (closes issue ASTERISK-18737) ........ Merged revisions 341717 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341718 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/features.c')
-rw-r--r--main/features.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/main/features.c b/main/features.c
index 73974ca56..af4e5f441 100644
--- a/main/features.c
+++ b/main/features.c
@@ -416,7 +416,7 @@ typedef enum {
FEATURE_INTERPRET_CHECK, /* Used by feature_check */
} feature_interpret_op;
-static char *parkedcall = "ParkedCall";
+static const char *parkedcall = "ParkedCall";
static char pickup_ext[AST_MAX_EXTENSION]; /*!< Call pickup extension */
@@ -630,7 +630,7 @@ AST_DEFINE_APP_ARGS_TYPE(park_app_args,
);
/* module and CLI command definitions */
-static char *parkcall = PARK_APP_NAME;
+static const char *parkcall = "Park";
static struct ast_app *monitor_app = NULL;
static int monitor_ok = 1;
@@ -783,7 +783,7 @@ static struct ast_exten *get_parking_exten(const char *exten_str, struct ast_cha
}
app_at_exten = ast_get_extension_app(exten);
- if (!app_at_exten || strcasecmp(PARK_APP_NAME, app_at_exten)) {
+ if (!app_at_exten || strcasecmp(parkcall, app_at_exten)) {
return NULL;
}
@@ -4968,7 +4968,7 @@ static int park_call_exec(struct ast_channel *chan, const char *data)
res = 0;
} else {
/* Park succeeded. */
- res = 1;
+ res = -1;
}
return res;