[asterisk-users] Asterisk Realtime Billing Question???
Jeff LaCoursiere
jeff at sunfone.com
Thu Oct 21 11:00:10 CDT 2010
[snipped very confusing top and bottom posting mix]
On Thu, 21 Oct 2010, Sherwood McGowan wrote:
> Dhaval,
>
> You're right, I forgot one thing. The "frozen" table's id column should not
> be an autoincrement, it should be set by the insert statement, using the
> original method I decsribed for creating a unique integer from the callerid
> number and the current EPOCH. That way, you can be sure that multiple
> concurrent calls that have frozen funds will only retrieve the record they
> created. (Oh and, once you thaw the frozen funds, delete the appropriate
> record in the frozen table)
>
> I'm not sure why you think this will only work for a single call at a time.
> Each time a call occurs that is related to an account will cause more money
> to be "frozen" from that account, thereby causing future calls to have less
> available balance and therefore less time for a call limit. This works for
> ANY number of concurrent calls on an account, and every one of those calls
> freezes funds based on the rate at which THAT call's amount to freeze was
> calculated against.
>
> EACH call determines IT'S rate, which is then used to determine the amount
> to freeze from the account ON THAT CALL. Additionally, since the rate is
> specific to each call, the limiting of the length of THAT call, your issue
> of limiting is also a non-issue.
>
I also have worked on the logic for this scenario, and I gave up. Our calling
card system now locks a balance and forces the account to one simultaneous call
at a time. We report the maximum length of a call to the customer just
before the ringing starts, and as someone else stated - to cut it off
prematurely is very confusing to the customer (and one of the number one
complaints against calling cards - if you sell in Florida it could
actually get you in serious trouble).
The problem with each call freezing a portion of the balance is that no one
call has access to the whole balance, and that was determined (in our case) to
be unacceptable, and is definitely unacceptable to the calling card
customer.
But I don't think we are talking about calling cards. I am guessing that
Dhaval is trying to create a termination company, and has customers that
maintain a balance with him that want to be able to place multiple
simultaneous calls. A common problem. We often end up with negative
balances with our upstreams for this very reason - we may be near the
bottom of our balance and several calls in progress terminate and bring us
below zero. I am sure this is what he is trying to avoid, as the industry
is full of people that will simply walk away from a negative balance.
Dhaval - your wish, I think, is to manage exactly in real time to decrease the
balance as the calls progress. In that way all calls in progress would be
cutoff simultaneously as the balance hit zero. That kind of scenario would be
very complicated with asterisk. Some external program would have to keep track
of the balance and the calls currently in progress, and cut them off at the
appropriate time. I would be very interested if anyone has attempted
this. I envision something that EVERY SECOND deducts from a balance for
every call in progress, at the current rate for each call. Not impossible
for sure...
Cheers,
j
More information about the asterisk-users
mailing list