Billing Minutes In Asterisk

We are looking for some commercial solutions for billing usage and creating invoicing.

I just have the same problem as yours,
and I found a solution maybe you can try.
you can set an extension like this: extern => h,1,NoOp(${ANSWEREDTIME})
Notice that a ‘h’ extension will be executed after any dialing finished,
So it will show you how long have you answer the call.
Also, you can write some script and call AGI(script) with ANSWEREDTIME as your argument to output it.