Summary:ASTERISK-05351: Variables lost during attended transfer
Reporter:wunderkin (wunderkin)Labels:
Date Opened:2005-10-22 21:13:18Date Closed:2008-01-15 15:53:21.000-0600
Versions:Frequency of
Environment:Attachments:( 0) 5499-take2.patch
( 1) app_dial_patch.txt
( 2) atxfer-lostvars.txt
( 3) res_features.patch
Description:I'm generating a call via a manager originate (Local/../n)
Another call is generated via AgentCallBackLogin (Local/.../n)

The variables set during the original call are lost when the agent does an attended transfer even though I'm using __ before the variables and using Local /n.

I tried to include the appropriate sections of the CLI log (attached as atxfer-lostvars.txt).  If you need more information or have questions, feel free to ask.  I'm always on Freenode under wunderkin.
Comments:By: Curt Moore (jcmoore) 2005-10-27 22:36:26

I encountered a similar issue with channels not correctly inheriting channel variables, the permanent "__" or the ephemeral "_" kind.  This may or may not be the same as your issue.  One of my other developers added an extra call to explicitly inherit the channel variables.  This may not be the preferred method but it seems to work and I haven't found anything else broken as a result as of yet.  This is in the patch app_dial_patch.txt.

By: wunderkin (wunderkin) 2005-10-27 23:48:12

I tried to apply the patch to 10/15/05 HEAD.  I had to do it manually.

Unfortunately it doesn't look like this does the trick for me.  Thanks for the try though.  I think this is something related to the attended transfer process.

By: BJ Weschke (bweschke) 2005-11-01 09:10:40.000-0600

try res_features.patch. Let me know if that helps. I guess what I'm confused about is what channels you think should inherit variables because there's multiple channels involved with an atxfer as you probably know already. If you can post a dial plan sample to show how you're using the variables, that'd probably help me out as well if this patch isn't a fix for you. the app_dial patch posted won't help you here because atxfer uses it's own dial routine outside of what's executed in app_dial.

By: wunderkin (wunderkin) 2005-11-01 10:48:40.000-0600

What I'm trying to accomplish here (sorry I didn't explain it enough I guess) is get the variables from the 1st channel into the 3rd.  Here is a simple example:

exten => 1,1,Dial(SIP/1||tT)
exten => 2,1,Dial(SIP/2)      

exten => 123,1,Answer            
exten => 123,n,DumpChan    
exten => 123,n,Wait(999999)

The variables are there on channel 1 and 2 but not 3.

By: BJ Weschke (bweschke) 2005-11-01 12:23:06.000-0600

try the latest patch. should fix this.

By: wunderkin (wunderkin) 2005-11-01 12:29:57.000-0600

5499-take2.patch worked.  Thanks!

By: BJ Weschke (bweschke) 2005-11-01 12:51:10.000-0600

Ready to be merged.

By: Kevin P. Fleming (kpfleming) 2005-11-01 15:37:56.000-0600

Committed to CVS HEAD, thanks!

By: Digium Subversion (svnbot) 2008-01-15 15:53:21.000-0600

Repository: asterisk
Revision: 6931

U   trunk/ChangeLog
U   trunk/res/res_features.c

r6931 | kpfleming | 2008-01-15 15:53:21 -0600 (Tue, 15 Jan 2008) | 2 lines

issue ASTERISK-5351