Inaccurate CDR for diverted inbound calls

We have a 1-800 number diverting to extension 101. Our cdr table (MySQL) shows two records for each inbound call to this 1-800 number. Both records show src as the calling number. The dst for the 1st record is the extension 101, while dst for the 2nd record is the 1-800 number. Duration and Billsec for the 2 records are the same, but the duration always shows a questionable 30 seconds or less value and the billsec is almost always 0, sometimes 1, even when the call is Answered. Our theory is that these data are only for the time until the call is diverted to the extension 101 and no data is recorded for the actual call duration in extension 101. If this is correct, where could be the problem?

Thanks for any help.