[asterisk-commits] jpeeler: branch 1.4 r175294 - /branches/1.4/res/res_features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Feb 12 14:34:36 CST 2009


Author: jpeeler
Date: Thu Feb 12 14:34:36 2009
New Revision: 175294

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=175294
Log:
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


Modified:
    branches/1.4/res/res_features.c

Modified: branches/1.4/res/res_features.c
URL: http://svn.digium.com/svn-view/asterisk/branches/1.4/res/res_features.c?view=diff&rev=175294&r1=175293&r2=175294
==============================================================================
--- branches/1.4/res/res_features.c (original)
+++ branches/1.4/res/res_features.c Thu Feb 12 14:34:36 2009
@@ -421,7 +421,8 @@
 {
 	struct ast_context *con;
 	int parkingnum_copy;
-	
+	const char *event_from;
+
 	/* Get a valid space if not already done */
 	if (pu == NULL)
 		pu = park_space_reserve(chan);
@@ -487,6 +488,12 @@
 	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));
 
+	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"
@@ -494,7 +501,7 @@
 		"Timeout: %ld\r\n"
 		"CallerID: %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),
 		S_OR(pu->chan->cid.cid_num, "<unknown>"),
 		S_OR(pu->chan->cid.cid_name, "<unknown>")




More information about the asterisk-commits mailing list