Reported by: mdu113
Tested by: mdu113
Similar to r143204, masquerade the channel in the case of Park being called from AGI.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@146129
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
#define FEATURE_EXTEN_LEN 32
#define FEATURE_MOH_LEN 80 /* same as MAX_MUSICCLASS from channel.h */
+#define PARK_APP_NAME "Park"
+
/*! \brief main call feature structure */
struct ast_call_feature {
int feature_mask;
#include "asterisk/lock.h"
#include "asterisk/strings.h"
#include "asterisk/agi.h"
+#include "asterisk/features.h"
#define MAX_ARGS 128
#define MAX_COMMANDS 128
app = pbx_findapp(argv[1]);
if (app) {
+ if(!strcasecmp(argv[1], PARK_APP_NAME)) {
+ ast_masq_park_call(chan, NULL, 0, NULL);
+ }
res = pbx_exec(chan, app, argv[2]);
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", argv[1]);
int fds[2];
int efd = -1;
int pid;
- char *stringp;
+ char *stringp;
AGI agi;
if (ast_strlen_zero(data)) {
"into the dialplan, although you should include the 'parkedcalls'\n"
"context.\n";
-static char *parkcall = "Park";
+static char *parkcall = PARK_APP_NAME;
static char *synopsis2 = "Park yourself";
static int builtin_parkcall(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense, void *data)
{
struct ast_channel *parker;
- struct ast_channel *parkee;
+ struct ast_channel *parkee;
int res = 0;
struct ast_module_user *u;