Hi team,
I 've created first version of mod_cdr_logic.
And I would like to ask you what is the best way to share it with the community?
It can be provided in contrib dir or I can put it on my personal site, if you think it is better not to include it into contrib dir at this stage.
Module exports any channel variables into the provided table using ODBC in core.
It supports master and backup database (also I will add failover dump into a file in a future version if it will be required).
The most important thing of this module is the ability to execute set of Lua or Java scripts before exporting CDR into the table.
So one can implement any business logic, set new channel variables based on some conditions, and then export them all into the table as CDR.
Config file (attached) contains 3 sections:
1. Database and table settings
2. Scripts to be executed before export
3. Channel variables to be exported (and corresponding table field names).
I would greatly appreciate your inputs!
P.S. I tested it carefully and it looks stable, but for sure it will need few months of community intensive testing (and bug fixing if any) before being considered fully stable.
Also, I would greatly appreciate any comments of the development team on the source code (especially on string concatenation and memory management).
Regards,
vIT
2010/5/26 Vitalii Colosov
<vetali100@gmail.com>
Hi Nazim,
mod_xml_cdr is able to send CDR to apache server, and I was using it successfully until I created the module that writes CDRs directly into the database. I thought to add some business logic ability and share with the community.
I am sure your idea will also find many grateful users.
Personally from my side, I wanted to completely avoid using any HTTP servers (many reasons, bottom line - it's just not REALLY needed for such task in many implementations).
I think I will continue working in this direction and it will find some users (like me) who will also use it.
The only problem here I see is performance - maybe it will not be suitable for really LARGE implementations.
Vitalie