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

Vitalii Colosov vetali100 at gmail.com
Fri May 21 07:57:31 PDT 2010


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100521/b3cc8bfb/attachment.html 


More information about the FreeSWITCH-dev mailing list