aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-20 23:49:34 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-20 23:49:34 +0000
commitce93b3d1647a7eb6bb899bea22c78e7abd887fb8 (patch)
treecfb9c7cb392694a4f7f4e8dee9d4dc0de02ebfa5
parentf9f61cc3972f4e81e04c289e3e0c234972b63c09 (diff)
One-touch parking was calling back the wrong channel on timeout
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@169581 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--res/res_features.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/res/res_features.c b/res/res_features.c
index 1913d9419..c7fa2ef10 100644
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -568,10 +568,12 @@ static int builtin_parkcall(struct ast_channel *chan, struct ast_channel *peer,
struct ast_channel *parkee;
int res = 0;
struct ast_module_user *u;
+ const char *orig_chan_name;
u = ast_module_user_add(chan);
set_peers(&parker, &parkee, peer, chan, sense);
+ orig_chan_name = ast_strdupa(parker->name);
/* we used to set chan's exten and priority to "s" and 1
here, but this generates (in some cases) an invalid
extension, and if "s" exists, could errantly
@@ -586,7 +588,7 @@ static int builtin_parkcall(struct ast_channel *chan, struct ast_channel *peer,
res = ast_safe_sleep(chan, 1000);
if (!res) { /* one direction used to call park_call.... */
- masq_park_call_announce(parkee, parker, 0, NULL, NULL);
+ masq_park_call_announce(parkee, parker, 0, NULL, orig_chan_name);
res = 0; /* PBX should hangup zombie channel */
}