[Asterisk-Users] CDR Accounting/Billing Advise

Waldo Rubinstein waldo at trianet.net
Mon Jul 25 07:21:32 MST 2005


Hello all,

I wondering if you guys could provide me with some advise. We have  
developed a simple management tool for a small site which is  
architected in the following way:

Server A <==> Server B <==> Server C

Server A is an asterisk server with a TE410P which connects to the  
PSTN as well as to a couple of SIP VoIP termination providers.
Server B is another asterisk server which handles IAX clients as well  
as voicemail and queue applications.
Server C is a small SER server which handles SIP clients.

Internal SIP extensions calling each other (SIP-to-SIP) is all  
handled by Server C. Internal IAX extensions calling each other (IAX- 
to-IAX) is all handled by Server B. SIP-to-IAX extension calling as  
well as SIP clients checking their voicemail is handled between  
Server B-to-Server C.

Only when IAX or SIP clients need to make external calls, are calls  
routed to Server A, either Server B-to-Server A or Server C-to-Server  
A. At the same time, whenever an outside call comes in, Server A will  
send it to Server B (if it's for an IAX client or queue application)  
or to Server C (if it's for a SIP client) and Server C will send to  
Server B (in case it needs the voicemail application).

Overall, this may be more complicated than it needs to, but the  
client feels this will allow greater scaleability for future needs.

Anyway, now the client wants to bill certain usage only when calls go  
to the PSTN or to the SIP termination providers. In other words,  
whenever a calls goes through Server A (whether in/outbound), the  
client wants to be able to bill for usage. The question I have is  
which CDR should we base billing on? Should we bill on CDR from  
Server A, B, or C? Or should we correlate all three CDR for audit  
control and potentially more accurate billing? Or should we just use  
Server A's CDR for billing?

The "problem" I have is that if I only base it on Server A's CDR, I  
won't really know which extension made the call. All I will now if  
that Server B or Server C made an call through a trunk (whether IAX  
or SIP trunk). If I base it on Server B or Server C, I will get a lot  
of unnecessary CDR entries for extension-to-extension or extension-to- 
voicemail calling, etc, where I'm only interested in "toll" calls.

Any advise?

Thanks,
Waldo



More information about the asterisk-users mailing list