mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 18:40:46 +00:00
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@175294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -421,6 +421,7 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, in
|
|||||||
{
|
{
|
||||||
struct ast_context *con;
|
struct ast_context *con;
|
||||||
int parkingnum_copy;
|
int parkingnum_copy;
|
||||||
|
const char *event_from;
|
||||||
|
|
||||||
/* Get a valid space if not already done */
|
/* Get a valid space if not already done */
|
||||||
if (pu == NULL)
|
if (pu == NULL)
|
||||||
@@ -487,6 +488,12 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, in
|
|||||||
if (option_verbose > 1)
|
if (option_verbose > 1)
|
||||||
ast_verbose(VERBOSE_PREFIX_2 "Parked %s on %d@%s. Will timeout back to extension [%s] %s, %d in %d seconds\n", pu->chan->name, pu->parkingnum, parking_con, pu->context, pu->exten, pu->priority, (pu->parkingtime/1000));
|
ast_verbose(VERBOSE_PREFIX_2 "Parked %s on %d@%s. Will timeout back to extension [%s] %s, %d in %d seconds\n", pu->chan->name, pu->parkingnum, parking_con, 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",
|
manager_event(EVENT_FLAG_CALL, "ParkedCall",
|
||||||
"Exten: %s\r\n"
|
"Exten: %s\r\n"
|
||||||
"Channel: %s\r\n"
|
"Channel: %s\r\n"
|
||||||
@@ -494,7 +501,7 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, in
|
|||||||
"Timeout: %ld\r\n"
|
"Timeout: %ld\r\n"
|
||||||
"CallerID: %s\r\n"
|
"CallerID: %s\r\n"
|
||||||
"CallerIDName: %s\r\n",
|
"CallerIDName: %s\r\n",
|
||||||
pu->parkingexten, pu->chan->name, peer ? peer->name : "",
|
pu->parkingexten, pu->chan->name, event_from ? event_from : "",
|
||||||
(long)pu->start.tv_sec + (long)(pu->parkingtime/1000) - (long)time(NULL),
|
(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_num, "<unknown>"),
|
||||||
S_OR(pu->chan->cid.cid_name, "<unknown>")
|
S_OR(pu->chan->cid.cid_name, "<unknown>")
|
||||||
|
Reference in New Issue
Block a user