Summary:ASTERISK-09291: Notice and warnings of duplicate CDR process
Reporter:Fernando Romo (el_pop)Labels:
Date Opened:2007-04-20 13:03:57Date Closed:2007-05-14 09:15:31
Versions:Frequency of
Environment:Attachments:( 0) cdr-svnrev-64141-1.diff
Description:In the CLI appear NOTICE and WARNINGs about a duplicate CDR process in any call to ZAP, but happend with any technology (ZAP/SIP/etc).

the cdr.c start a process but appear the pbx.c send the same request on the same call.

Example follows:


   -- Requested transfer capability: 0x00 - SPEECH
[Apr 20 16:52:36] NOTICE[29167]: cdr.c:430 check_start: CDR on channel 'Zap/50-1' already started
   -- Hungup 'Zap/50-1'
   -- Channel 0/3, span 3 got hangup request
   -- Stopped music on hold on Zap/65-1
   -- User disconnected from queue 8001 while waiting their turn
 == Spawn extension (default, 8001, 1) exited non-zero on 'Zap/65-1'
   -- Hungup 'Zap/65-1'
[Apr 20 16:52:36] WARNING[29439]: pbx.c:4962 ast_pbx_outgoing_exten: Zap/21-1 already has a call record??
Comments:By: jmls (jmls) 2007-05-12 02:45:09

we also have this warning in 1.4 r63982

By: Moises Silva (moy) 2007-05-12 20:32:53


I think the warning is wrong. However im still not sure about the NOTICE, need to check.

The CDR is now always present after calling ast_channel_alloc(), so I assume any call to ast_request() will call eventually ast_channel_alloc(), then the check for a CDR makes no sense any more, am I right?

I have uploaded a patch that may fix the warning. However I have not tested yet, I put it only so you can view what I mean.

By: Moises Silva (moy) 2007-05-12 21:07:25

I have checked the CDR notice, and it seems it will be fixed by my patch as well. However a less intrusive patch may be better.

 Murf, do you know if ast_channel_alloc is required to be used by any channel driver in the ast_request interface?

 Knowing ast_channel_alloc initializes the CDR, Do you see any reason to  keep the verification code?

 Pop, I have not seen it was you :) , karma of -6? hehe you should report *REAL* bugs...

By: Steve Murphy (murf) 2007-05-14 08:36:45

Your patch makes sense. Why check to see if a CDR is present, if it's guaranteed to be there? And more especially, complain if it is there? I removed that code, but left out the comment; why make note of code that's not there? I also removed the check_start routine from cdr.c; it's no longer needed. A second attempt to start a cdr might indicate that we are missing code to post and start a new cdr, but the real trick in these situations, is discovering the proper place and reason to do this, and the warning gives us no useful information on how or why or where to do this.

By: Steve Murphy (murf) 2007-05-14 08:39:17

Oh, as to karma... We know there's a problem in the karma code, nobody seems to be getting their karma updated. But everybody is too busy to find the time to fix it. Sorry!

By: Steve Murphy (murf) 2007-05-14 09:15:30

this bug fixed via 1.4, r.64193;
              via trunk, r.64208