Use duration or billsec for billing


I am using asterisk for inbound calls. Asterisk answers the call and also logs the cdr in mysql db and csv as well. The problem is that some times the duration field has some value like say 56 but he billsec has value 0. I have monitored the call and found that duration field is showing the correct value.
can any body tell me why billsec field is = 0 and suggest me whether to use duration or billsec for billing.


billsec are length of answered call, duration - whole call including ringing.