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

Vitalii Colosov vetali100 at gmail.com
Sun Jun 13 12:36:35 PDT 2010


Hi João,

Today I got the following log message and recalled your advice to launch a
new thread:

      switch_core_session.c:1171 Session 73 (sofia/external/00...mynumber)
Locked, Waiting on external entities

We had a problem to establish a call (NO_ROUTE_DESTINATION) - previously all
calls to same direction were successful.

Is this kind of problems you meant to avoid by launching new thread?
If not, could anyone please advice what does this message mean (Locked,
Waiting on external entities) and whether it can cause a call attempt to
fail with NO_ROUTE_DESTINATION?

I am referring to:
2010/5/22 João Mesquita <jmesquita at freeswitch.org>

> As I have been advised back in the days, if you happen to do this, copy the
> vars from the session thread and launch a new one, otherwise you are going
> to lock sessions no matter what.


Thank you,
Vitalie


2010/5/22 João Mesquita <jmesquita at freeswitch.org>

> As I have been advised back in the days, if you happen to do this, copy the
> vars from the session thread and launch a new one, otherwise you are going
> to lock sessions no matter what.
>
> JM
>
>
> On Fri, May 21, 2010 at 7:27 PM, Michael Collins <msc at freeswitch.org>wrote:
>
>> 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.
>>
>> -MC
>>
>> 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
>>>
>>>
>>
>> _______________________________________________
>> 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
>>
>>
>
> _______________________________________________
> 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/20100613/6c6109d4/attachment-0001.html 


More information about the FreeSWITCH-dev mailing list