[asterisk-bugs] [Asterisk 0014146]: Dialplan variables not set upon blind xfer

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Oct 1 12:27:55 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14146 
====================================================================== 
Reported By:                mattj
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   14146
Category:                   Applications/app_cdr
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.0.3-rc1 
JIRA:                        
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2008-12-28 15:11 CST
Last Modified:              2009-10-01 12:27 CDT
====================================================================== 
Summary:                    Dialplan variables not set upon blind xfer
Description: 
I'm having a very odd issue where upon executing a blind transfer, the CDR
dialplan variables are not set for the transferred leg of the call.

A calls B (leg is A -> B)
A blind transfers B to C (making the leg now B -> C)

When the B -> C leg of the call ends, the CDR variables in the dialplan,
particularly billsec are unset. This only occurs in the dialplan, the
generated CDRs are fine. This may be related to the h exten code being
moved recently. When I revert to 1.6.0.1, the problem is solved. I can not
compile 1.6.0.2 on my machine, but 1.6.0.3-rc1 is when the problem first
surfaced. For now, I can use 1.6.0.1.

We're playing back a greeting upon reaching a voicemail message. Here is
my dialplan code:

[default]
exten => s,1,Dial(SIP/provider/15555555555,30,T)
; user hits https://issues.asterisk.org/view.php?id=1 to transfer to greeting
context so they don't need to wait
for greeting to play back
exten => 1,1,Goto(operator-greeting,s,1)

[operator-greeting]
exten => s,1,Answer
exten => s,n,WaitForSilence(2500,1,25)
exten => s,n,Playback(usermessage)
exten => s,n,Hangup

exten => h,1,NoOp(${CDR(billsec)}) ; is always 0 in 1.6.0.3-rc1 :(.
Correctly defined in 1.6.0.1
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
has duplicate       0015941 billsec not available in "h" ...
====================================================================== 

---------------------------------------------------------------------- 
 (0111736) mnicholson (administrator) - 2009-10-01 12:27
 https://issues.asterisk.org/view.php?id=14146#c111736 
---------------------------------------------------------------------- 
I think I know what the problem is here, and I am working on a fix.  I
suspect the CDR record written to disk and the CDR record attached to the
channel are different, thus when accessing the variables from the dialplan,
you don't get what you are expecting. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-10-01 12:27 mnicholson     Note Added: 0111736                          
======================================================================




More information about the asterisk-bugs mailing list