[asterisk-commits] jpeeler: branch 1.8 r281466 - /branches/1.8/channels/chan_local.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Aug 9 18:04:05 CDT 2010


Author: jpeeler
Date: Mon Aug  9 18:04:02 2010
New Revision: 281466

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=281466
Log:
Add some more stuff to copy from 281429.

Modified:
    branches/1.8/channels/chan_local.c

Modified: branches/1.8/channels/chan_local.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/chan_local.c?view=diff&rev=281466&r1=281465&r2=281466
==============================================================================
--- branches/1.8/channels/chan_local.c (original)
+++ branches/1.8/channels/chan_local.c Mon Aug  9 18:04:02 2010
@@ -417,14 +417,29 @@
 						 * thread (which is the to be masqueraded away local channel) before both local
 						 * channels are optimized away.
 						 */
-						if (p->owner->caller.id.name.valid || p->owner->caller.id.number.valid ||
-							p->owner->caller.id.subaddress.valid) {
-
+						if (p->owner->caller.id.name.valid || p->owner->caller.id.number.valid
+							|| p->owner->caller.id.subaddress.valid || p->owner->caller.ani.name.valid
+							|| p->owner->caller.ani.number.valid || p->owner->caller.ani.subaddress.valid) {
 							struct ast_party_caller tmp;
 							tmp = p->owner->caller;
 							p->owner->caller = p->chan->_bridge->caller;
 							p->chan->_bridge->caller = tmp;
 						}
+						if (p->owner->redirecting.from.name.valid || p->owner->redirecting.from.number.valid
+							|| p->owner->redirecting.from.subaddress.valid || p->owner->redirecting.to.name.valid
+							|| p->owner->redirecting.to.number.valid || p->owner->redirecting.to.subaddress.valid) {
+							struct ast_party_redirecting tmp;
+							tmp = p->owner->redirecting;
+							p->owner->redirecting = p->chan->_bridge->redirecting;
+							p->chan->_bridge->redirecting = tmp;
+						}
+						if (p->owner->dialed.number.str || p->owner->dialed.subaddress.valid) {
+							struct ast_party_dialed tmp;
+							tmp = p->owner->dialed;
+							p->owner->dialed = p->chan->_bridge->dialed;
+							p->chan->_bridge->dialed = tmp;
+						}
+
 
 						ast_app_group_update(p->chan, p->owner);
 						ast_channel_masquerade(p->owner, p->chan->_bridge);




More information about the asterisk-commits mailing list