Merged revisions 175298 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r175298 | jpeeler | 2009-02-12 14:48:56 -0600 (Thu, 12 Feb 2009) | 15 lines
  
  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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@175299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Jeff Peeler 17 years ago
parent 869e8bc417
commit 0a72cfe440

@ -489,6 +489,7 @@ static struct parkeduser *park_space_reserve(struct ast_channel *chan)
static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, int timeout, int *extout, const char *orig_chan_name, struct parkeduser *pu) static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, int timeout, int *extout, const char *orig_chan_name, struct parkeduser *pu)
{ {
struct ast_context *con; struct ast_context *con;
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)
@ -555,6 +556,12 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, in
pthread_kill(parking_thread, SIGURG); pthread_kill(parking_thread, SIGURG);
ast_verb(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_verb(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"
@ -563,7 +570,7 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, in
"CallerIDNum: %s\r\n" "CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n" "CallerIDName: %s\r\n"
"Uniqueid: %s\r\n", "Uniqueid: %s\r\n",
pu->parkingexten, pu->chan->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), (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>"),

Loading…
Cancel
Save