Manager Interface Originate CDR Problem


I am experiencing a problem on Asterisk 13.10.0, that calls made using the Originate Action via the AMI that the CDR records duration and billsec match the same value.

fputs($socket, “Action: Originate\r\n” );
fputs($socket, “Callerid: 3000\r\n” );
fputs($socket, “Channel: SIP/3000\r\n” );
fputs($socket, “Exten: 0123456789\r\n” );
fputs($socket, “Context: internal\r\n” );
fputs($socket, “Priority: 1\r\n” );
fputs($socket, “Async: yes\r\n\r\n” );

I expect to the the duration to match the time it takes for the call to be completed and the billsec to only display the amount of time it took once the call gets answered. However the billsec matches the duration.


Could your dialplan be answering the call in your internal context before dialing out to the remote number?

I have triple checked my dial plan and no were in the dial plan can I find that its getting answered.

I am using the same dial plan to make calls using a SIP phone and my billsec and duration values are correct then.


No one else experienced this problem with the Originate command via the AMI?

The A channel the one for which the normal CDR is produced, is always up before the dialplan is started, so cannot be answered by the dialplan.

You may be able to reset the CDR to allow a fresh start, although recent major rework in this area may have invalidated that approach.

You can always use channel event logging.

I have gone through this a couple times now and using ResetCDR doesn’t resolve the problem. I have also investigated the CHANNEL function and can’t see any way to alter the CDR value.

Any one else found a work a round to solve this problem?