[asterisk-bugs] [Asterisk 0013797]: forkcdr() doesn't fork when call disposition is ANSWERED

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Nov 21 13:13:13 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13797 
====================================================================== 
Reported By:                sh0t
Assigned To:                murf
====================================================================== 
Project:                    Asterisk
Issue ID:                   13797
Category:                   Applications/app_forkcdr
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.22 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-10-29 08:59 CDT
Last Modified:              2008-11-21 13:13 CST
====================================================================== 
Summary:                    forkcdr() doesn't fork when call disposition is
ANSWERED
Description: 
Hello, I have problem with forkcdr app. (sip-sip calls)
First look at this sample dialplan

exten => s,1,answer
exten => s,n,Set(CDR(accountcode)=1001)
exten => s,n,Set(CDR(userfield)=MAIN)
exten => s,n,wait(2)
exten => s,n,ForkCDR()
exten => s,n,ResetCDR()
exten => s,n,Set(CDR(userfield)=OUTpggw1)
exten => s,n,Dial(SIP/pggw1,20)
exten => s,n,hangup

Everything works ok when that Dial result is NO ANSWER or for example
FAILED
but if I answer that call. I will see only one CDR record (that with
userfield MAIN)

(the failure scenario (with answered call))
bellow two examples of the cdr records (stored in pgsql database)
2008-10-29
14:17:58,32,32,11,pg-gw,SIP/pggw2-c8073fd0,,Dial,SIP/pggw1|20,14,6,ANSWERED,3,1001,1225286278.17290,MAIN

(the expected one, only when call disposition is NO ANSWER or billsec=0)
2008-10-29
14:19:03,32,32,11,pg-gw,SIP/pggw2-c807dd30,,ForkCDR,,10,10,ANSWERED,3,1001,1225286343.17309,MAIN
2008-10-29
14:19:05,32,32,s,test1,SIP/pggw2-c807dd30,SIP/pggw1-01139f40,Dial,SIP/pggw1|20,8,0,NO
ANSWER,3,1001,1225286343.17309,OUTpggw1

I'm using forkcdr because I need to have two cdr records. One for
incomiing call and one for that dial.

It worked for a long time with earlier versions of asterisk (for example
1.4.11)

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

---------------------------------------------------------------------- 
 (0095283) murf (administrator) - 2008-11-21 13:13
 http://bugs.digium.com/view.php?id=13797#c95283 
---------------------------------------------------------------------- 
OK, I've attached a patch that I hope will solve this problem. I had some
misconceptions about what to do with chained CDR's coming into the bridge,
but this bug has helped to clarify the issue. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-11-21 13:13 murf           Note Added: 0095283                          
======================================================================




More information about the asterisk-bugs mailing list