[asterisk-users] Asterisk Database Handling

Matthew J. Roth mroth at imminc.com
Thu May 22 09:29:24 CDT 2008


Douglas Garstang wrote:
> >Not at all, just offering a workaround.  If your master.csv is
> >complete and correct then it makes sense to use that data unless
> >someone can identify your problem and offer a fix.
>
> Unfortunately, not really feesible. I didn't design the system but we 
> are using CDR's not only for billing purposes, but also to keep state 
> on users. The state info (in a call, not in a call etc) needs to be 
> updated in as close to real time as possible. Files won't do it.
Douglas,

I've written a program named replicate that may be of interest to you.  
It replicates all writes to a file over a socket.  The core of the 
program is GNU tail, so it operates nearly in real time (it has 
inherited the "--sleep-interval" argument for fine-tuning).  I've been 
using it in production for over a year to push all writes to the 
queue_log to a remote reporting server and it has been rock solid.

It operates almost identically to "tail -F" except every new write to 
the file is written over a socket connection.  The remote end of the 
connection is responsible for sending back an acknowledgment.  If it 
doesn't, replicate will spool the write to a temporary file on the local 
machine.  Once the remote end is responding again, the spool file is 
written to it.  This allows us to have downtime (expected or unexpected) 
on the reporting server without losing any queue_log records.

I've never released replicate publicly, because I'm not sure how taking 
a program like tail and adapting it to a new purpose is handled by the 
GPL.  However, I'm sure someone on this list more knowledgeable than 
myself can help me understand that issue.

Regards,

Matthew Roth
InterMedia Marketing Solutions
Software Engineer and Systems Developer




More information about the asterisk-users mailing list