[Serusers] Why Transactional Accounting?

Jan Janak jan at iptel.org
Fri Aug 13 22:30:07 CEST 2004


That's actually our design decision. We try to keep the code that is not
necessary for signalling out of SER. Because SER does not use the
accounting information in any way, there is no need to correlate the
rows directly in SER and it is better to do it in other components, like
SERWeb, that are not so critical.

Nothing serious happens if you do not see your accounting data in SERWeb
immediately, but if the database queries so complex that they block SER too 
much,  then nobody would be able to place a call -- and that can be serious.
Looking up the original INVITE can take a lot of time, especially if the table 
is big and the data gets fragmented.

   Jan.

On 12-08 01:06, Michael Shuler wrote:
> At first it seemed like a really good idea then the more I looked at real
> world records I realized that to generate a bill for a customer would
> require quite bit of work on MySQL's part to match up the INVITE's and the
> BYE's and then calc the difference in the times.  This causes a bit of a
> problem for me because I like my customers to be able to see their CDR
> records live.  Which really isn't much unless you look at it from a 100,000
> user perspective.  I would either have to beat up my SQL server every time
> they look at their records (or my customer service employees look at them or
> even when the biller generates their bill) or run a cron job that runs every
> so often to convert the data to a single record with a start time and a
> duration and store it in another table.  The cron idea isn't too efficient
> because of wasting disk space and rewriting a lot of the same data twice.  
> 
> This then leads me to ask why the SER acc module wasn't setup to generate an
> initial start record identical to the INVITE message that it already does
> that would be marked as "in progress"?  Then when a BYE is received with a
> matching Call-ID you find the original INVITE record, change its status to
> "done" and populate a duration field.  Any ideas why this can't be done
> without affecting SER's scalability? :)
> 
> Thanks!
> 
> ----------------------------------------
> 
> Michael Shuler, C.E.O.
> BitWise Systems, Inc.
> 682 High Point Lane
> East Peoria, IL 61611
> Office: (217) 585-0357
> Cell: (309) 657-6365
> Fax: (309) 213-3500
> E-Mail: mike at bwsys.net
> Customer Service: (877) 976-0711 
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list