Ticket #187 (new defect)

Opened 1 year ago

Last modified 1 year ago

The call duration is way off during callbacks

Reported by: asiby Assigned to: areski
Priority: critical Milestone: milestone Version 1.3
Component: AGI Version: Stable 1.3.2 (Yellowjacket)
Keywords: Cc:

Description

The callback divides the credit by 2. This makes a2billing announce and apply a call duration that is half of what it is supposed to be.

The guilty code is

// DIVIDE THE AMOUNT OF CREDIT BY 2 IN ORDER TO AVOID NEGATIVE BALANCE ...
$orig_credit = $A2B -> credit;
$A2B -> credit = $A2B->credit / 2;

I wonder what we a supposed to say to customers to convince them that they can only use half of their remaining balance at a time.

I have to point out that the negative balance scenario was no longer due to a2billing after the last fix. Before the last fix, the negative balance was due to the fact that a2billing was not including the rate of the 1st leg in the calculation of the call duration. That has been fixed since then.

Personnally, 98% (instead of 0% before) of our calls are being disconnected right on time and no negative balance is being observed. If some users are experiencing negative balance, we should investigate if in fact they are using an up to date version of a2billing and we should clearly identify the possible causes of the problem.

I believe that dividing the balance per 2 is not a good solution at all and it lets all the customers unsatisfied. Besides, if the balance can indeed go negative, what should prevent it from going too negative and eating the other half of the balance and beyond?

I volunteer my time to work with whoever reported the problem in order to try to identify the real cause of the problem.

Change History

(in reply to: ↑ description ) 01/28/08 00:48:48 changed by areski

I had in mind that you worked on an other solution for this. do you have any patch you can share with us !?

Rgds, Areski

01/28/08 08:49:11 changed by asiby

Hello.

The patch is already active in v1.3.2

If it stopped working, then it might be because of the length of the variable parameter (but I am not sure yet). See bug #188

I am working on a totally different approach that will get rid of all these problems and even more. It is not ready yet, but it is on the right track. Rest assured that I will let you know about it as soon as a release candidate is ready.



Google