aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-12 20:48:56 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-12 20:48:56 +0000
commit1e73e209dfc7d075bd7ed41986e5dab3c318a5a8 (patch)
tree74c1ff51d0b440d8a1e42ade4b02298c683d4129 /main
parent0ee8c277d76485670ddb57117d387f79e85ff9e6 (diff)
Merged revisions 175294 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r175294 | jpeeler | 2009-02-12 14:34:36 -0600 (Thu, 12 Feb 2009) | 9 lines Fix ParkedCall event information for From field in the case of a blind transfer If the parker information can not be obtained from the peer, try and see if the BLINDTRANSFER channel variable has been set. Previously, a blind transfer to the ParkAndAnnounce app would return nothing for the From. Closes AST-189 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@175298 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/features.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/main/features.c b/main/features.c
index 910570a28..40efac0c4 100644
--- a/main/features.c
+++ b/main/features.c
@@ -673,6 +673,7 @@ static int ast_park_call_full(struct ast_channel *chan, struct ast_channel *peer
struct ast_context *con;
int parkingnum_copy;
struct parkeduser *pu = args->pu;
+ const char *event_from;
if (pu == NULL)
pu = park_space_reserve(chan, peer, args);
@@ -748,6 +749,12 @@ static int ast_park_call_full(struct ast_channel *chan, struct ast_channel *peer
pthread_kill(parking_thread, SIGURG);
ast_verb(2, "Parked %s on %d (lot %s). Will timeout back to extension [%s] %s, %d in %d seconds\n", pu->chan->name, pu->parkingnum, pu->parkinglot->name, pu->context, pu->exten, pu->priority, (pu->parkingtime/1000));
+ if (peer) {
+ event_from = peer->name;
+ } else {
+ event_from = pbx_builtin_getvar_helper(chan, "BLINDTRANSFER");
+ }
+
manager_event(EVENT_FLAG_CALL, "ParkedCall",
"Exten: %s\r\n"
"Channel: %s\r\n"
@@ -757,7 +764,7 @@ static int ast_park_call_full(struct ast_channel *chan, struct ast_channel *peer
"CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n"
"Uniqueid: %s\r\n",
- pu->parkingexten, pu->chan->name, pu->parkinglot->name, peer ? peer->name : "",
+ pu->parkingexten, pu->chan->name, pu->parkinglot->name, event_from ? event_from : "",
(long)pu->start.tv_sec + (long)(pu->parkingtime/1000) - (long)time(NULL),
S_OR(pu->chan->cid.cid_num, "<unknown>"),
S_OR(pu->chan->cid.cid_name, "<unknown>"),