[asterisk-bugs] [Asterisk 0018267]: CDR fields not written after call is bridged

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Dec 8 06:23:16 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18267 
====================================================================== 
Reported By:                pjois
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18267
Category:                   CDR/General
Reproducibility:            have not tried
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           SVN 
JIRA:                       SWP-2593 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-11-05 16:09 CDT
Last Modified:              2010-12-08 06:23 CST
====================================================================== 
Summary:                    CDR fields not written after call is bridged
Description: 
I'm finding that writing to CDR writeable fields (userfield, accountcode,
amaflags, [custom field]) does not work after a call goes to DIAL.  This
can be confirmed in two ways.  One is to execute the following:

[extensions]
exten => 1234,1,NOOP
exten => 1234,n,DIAL(SIP/someguy,10,g)
exten => 1234,n,SET(CDR(userfield)=test)

This does not set the userfield to "test" as expected when SIP/someguy
hangs up.

The other method to verify this is to execute the following:

[extensions]
exten => 1234,1,NOOP
exten => 1234,n,DIAL(SIP/someguy)

SIP/someguy keeps the call alive, and from the manager interface, issue
the following:

Action: Setvar
Channel: SIP/myphone-00000074
Variable: CDR(userfield)
Value: test

Again, the command returns success, but the userfield remains blank.

However, if you issue the command before the call gets to DIAL, then the
userfield is written as expected.

For example, the following works perfectly:

[extensions]
exten => 1234,1,NOOP
exten => 1234,n,SET(CDR(userfield)=test)
exten => 1234,n,DIAL(SIP/someguy)

This seems like an issue with DIAL specifically because using something
like WAIT does not result in this problem:

[extensions]
exten => 1234,1,NOOP
exten => 1234,n,WAIT(1)
exten => 1234,n,SET(CDR(userfield)=test)


====================================================================== 

---------------------------------------------------------------------- 
 (0129466) davidw (reporter) - 2010-12-08 06:23
 https://issues.asterisk.org/view.php?id=18267#c129466 
---------------------------------------------------------------------- 
The application write to the channel CDR, but that has already been copied
to the bridge CDR and it is the bridge CDR that will eventually be output.

We did some trickery with h extensions to get userfields updated in this
sort of situation. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-12-08 06:23 davidw         Note Added: 0129466                          
======================================================================




More information about the asterisk-bugs mailing list