I have an appointment reminder process nearly ready to launch. The reminder system uses call files to make the outbound call to the customers. The dial plan uses customer prompts to fill out variables that will be useful for later reporting. I am trying to figure out how best to collect the data from Asterisk.
I want to write these variables out as the call progresses. Incase the caller hangs up mid-treatment, I could still know how far they got. There will be thousands of calls per day, but probably only 50-100 calls at a time.
From what understand I can do, I could write to a external DB, I could write to astdb, or the same way I can build a .call file from the dial plan (http://the-asterisk-book.com/1.6/call-file.html), I could write a .info from the dial plan to collect those variables. Ultimately the results need to ship to my external reporting system.
What do you guys think is the best approach? I like the idea of writing an .info file or using astdb to stay local. That way if something happened to the network or external DB I wouldn’t lose my variables.
If I make a .info file can I use one .info file to collect all the results? Or will having 50 calls all trying to write at the same time cause a problem? I like the idea of having one results file that can be moved at the end of the day, vs. 1,000s of individual .info files.
Ultimately I want to implement whatever will be the most resource efficient approach. What do you guys think? Is writing to Astdb more efficient? Is there a better way to locally do this? The commercial modules, which I’ve purchased, are not flexible enough for this projects requirements.