[Freeswitch-users] Time of day routing / too many stacked extensions

Gavin Hamill gavin at bashton.com
Thu Oct 16 16:42:13 MSD 2014


Steven,

Nice one - I had actually worked it out shortly after posting to the list,
and I would've replied if the list had sent me a copy of my own email
(and/or if gmail hadn't eaten it).

Many thanks for the alternative syntax of doing everything in one extension
- that could be useful in another application.

Cheers,
Gavin.

On 16 October 2014 12:58, Steven Ayre <steveayre at gmail.com> wrote:

> You have recursion.
>
> expression is a regular expression. You need ^ and $ to match the start
> and end of the string, without them it'll match the expression appearing
> anywhere in the string. As a result...
>
>     <extension name="DDI_9600" continue="true">
>       <condition field="destination_number" expression="441614249600">
>         <action application="execute_extension"
> data="441614249600_${office_status}"/>
>       </condition>
>     </extension>
>
> This executes itself again and again and again... it never reaches the
> next extension.
>
> These conditions would avoid the issue:
>       <condition field="destination_number" expression="^441614249600$">
>       <condition field="destination_number"
> expression="^441614249600_open$">
>       <condition field="destination_number"
> expression="^441614249600_closed$">
>
> As an alternative implementation you could also do this in a single
> extension:
>    <extension name="DDI_9600">
>       <condition field="destination_number" expression="^441614249600$"/>
>       <condition field="${office_status}" expression="^open$">
>        <!-- open -->
>        <action application="set" data="domain_name=$${domain}"/>
>        <action application="set"
> data="effective_caller_id_name=${cidlookup(${caller_id_number})}"/>
>        <action application="ivr" data="bashton_9600_open"/>
>        <!-- closed -->
>        <anti-action application="set" data="domain_name=$${domain}"/>
>        <anti-action application="set"
> data="effective_caller_id_name=${cidlookup(${caller_id_number})}"/>
>        <anti-action application="ivr" data="bashton_9600_closed"/>
>       </condition>
>     </extension>
>
> Note this only works because you're setting inline="true" when setting
> ${office_status}.
>
>
> On 16 October 2014 09:09, Gavin Hamill <gavin at bashton.com> wrote:
>
>> Hi all,
>>
>> I'm using FS 1.4.12 on CentOS 6.5 and I think I'm running into an issue
>> with 'dialplan parsed all at once' when trying to implement the example
>> based on
>>
>> https://wiki.freeswitch.org/wiki/Time_of_Day_Routing#Example_for_office_open_09:00-16:00
>> :
>>
>> When I dial our main '9600' external DID, the call is answered and routed
>> exactly as I want, however, there is a lot of ugly logging going on and I
>> suspect that the desired behaviour is by chance rather than design. I'd
>> love to hear some feedback on how to best implement the logic of 'Office
>> open Mon-Fri 8am-6pm':
>>
>>
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_channel.c:1055 New Channel
>> sofia/external/nobody at 87.238.73.162
>> [ee5fb654-31c0-4c89-977e-b85ad4a0cb23]
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_core_session.c:2987 Execute
>> execute_extension(441614249600_${office_status})
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_core_session.c:2987 Execute
>> execute_extension(441614249600_${office_status})
>> [.. 17 times in total...]
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_core_session.c:2987 Execute
>> execute_extension(441614249600_${office_status})
>> 2014-10-16 08:49:48.515467 [ERR] switch_core_session.c:2918 Error
>> sofia/external/nobody at 87.238.73.162 too many stacked extensions
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_core_session.c:2987 Execute
>> set(domain_name=freeswitch.bashton.eu)
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_core_session.c:2987 Execute
>> set(effective_caller_id_name=${cidlookup(${caller_id_number})})
>> 2014-10-16 08:49:48.515467 [NOTICE] switch_core_session.c:2987 Execute
>> ivr(bashton_9600_open)
>> 2014-10-16 08:49:48.515467 [NOTICE] mod_sofia.c:2243 Pre-Answer
>> sofia/external/nobody at 87.238.73.162!
>>
>>     <extension name="are_we_open" continue="true">
>>       <condition wday="2-6" hour="8-18" break="never">
>>         <action application="set" data="office_status=open"
>> inline="true"/>
>>         <anti-action application="set" data="office_status=closed"
>> inline="true"/>
>>       </condition>
>>     </extension>
>>
>>     <extension name="DDI_9600" continue="true">
>>       <condition field="destination_number" expression="441614249600">
>>         <action application="execute_extension"
>> data="441614249600_${office_status}"/>
>>       </condition>
>>     </extension>
>>
>>     <extension name="DDI_9600_open">
>>       <condition field="destination_number"
>> expression="441614249600_open">
>>        <action application="set" data="domain_name=$${domain}"/>
>>        <action application="set"
>> data="effective_caller_id_name=${cidlookup(${caller_id_number})}"/>
>>        <action application="ivr" data="bashton_9600_open"/>
>>       </condition>
>>     </extension>
>>
>>     <extension name="DDI_9600_closed">
>>       <condition field="destination_number"
>> expression="441614249600_closed">
>>        <action application="set" data="domain_name=$${domain}"/>
>>        <action application="set"
>> data="effective_caller_id_name=${cidlookup(${caller_id_number})}"/>
>>        <action application="ivr" data="bashton_9600_closed"/>
>>       </condition>
>>     </extension>
>>
>> Suggestions would be most welcome! :)
>>
>> Cheers,
>> Gavin.
>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://confluence.freeswitch.org
>> http://www.cluecon.com
>>
>> 
>> 
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> 
> 
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20141016/5bb93379/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list