[Freeswitch-dev] Would like to create and contribute a module "mod_cdr_logic"

Michael Collins msc at freeswitch.org
Fri May 21 15:27:51 PDT 2010

I can vouch for the fact that some folks keep showing up and asking for this
kind of feature. We're not big fans of the straight-to-db paradigm, but
others certainly are. I think the devs would be agreeable to have this in
contrib for people to play with at their own risk. As long as the core devs
& company don't have to answer questions about your buggy module ;) then it
should be okay. Just be ready to offer support for your module because
everyone who uses it will come asking for advice.


On Fri, May 21, 2010 at 7:57 AM, Vitalii Colosov <vetali100 at gmail.com>wrote:

> Hi group,
> I would like to create and contribute to the community a module:
> "mod_cdr_logic" (or whatever name will be proposed).
> Do you think ***from your experience*** that there is a practical need in
> such module, or better to concentrate on something else :-) ?
> In high level:
> Module will export CDRs directly into the database with failover, applying
> business rules (with regular expressions) to the values exported
> More detailed:
> After the call is finished, module will export selected chanel variables
> directly into any provided table (odbc used).
> It will apply business rules to the selected values (based on regular
> expressions, condition-action dialplan style).
> Module will produce one CDR per leg (outgoing/incoming, configurable).
> Also it will support fail over: if the main database is not available, it
> will try to export into a backup database, and if that will be down as well,
> it will dump into a local CSV file.
> In the config file one will provide:
> 1.Mapping rule - variable name to the corresponding table field name
>  2.Set of business rules to apply
>  Config file example (will be in regular xml eventually):
> --------------------------------------------------------------------
> #these are the values that are taken directly from channel variables
> <channel_variables_map>
>       #channel variable-->mapped to the table field
>       calling_number->calling_number
>       destination_number->called_number
>       dialed_dtmf_digits->dialed_digits
> <channel_variables_map/>
> #these are the new values that will be determined at the business rules
> stage
> <new_variables>
>   sales_department_call->sales_department_call
>   technical_department_call->technical_department_call
>   one_more_lost_client->one_more_lost_client
>   one_more_happy_client->one_more_happy_client
> <new_variables/>
> <rules>
> <condition field="dialed_dtmf_digits" expression="^(1)(\d+)">
>  <action set="sales_department_call=1"/>
> <anti-action set="technical_department_call=1"/>
>  <condition/>
> <condition field="hangup_cause" expression="NO_ANSWER">
>  <action set="one_more_lost_client=1"/>
> <anti-action set="one_more_happy_client=1"/>
>  <condition/>
> <rules/>
> --------------------------------------------------------------------
> Would be glad to hear your opinion regarding usefulness or useless of such
> module in the contrib dir.
> Thank you,
> Vitalie
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100521/6d6c99fc/attachment-0001.html 

More information about the FreeSWITCH-dev mailing list