[Freeswitch-users] Matching destination number

mbo mbodbg at gmx.net
Thu Mar 13 18:41:51 MSK 2014


I’m not changing the value of the variable which has been evaluated and expect that all actions after this are not executed because the condition does not match anymore. In the scenario we have 2 extension with a condition. In the first match, we change the value of the variable destination_number and log it. The log shows that the variable contains the new value. Then in the second extension we evaluate the variable again. It looks like the initial value of the variable is evaluated again, not the new one - why?  

Thanks

Markus

Am 12.03.2014 um 17:41 schrieb Michael Jerris <mike at jerris.com>:

> Dialplan conditions are evaluated resulting in a list of actions to perform, then we perform all those actions.
> 
> 
> On Mar 12, 2014, at 6:36 AM, mbo <mbodbg at gmx.net> wrote:
> 
>> The matching works now with the changed regex, but I still see an issue here. However Action set_profile_var(destination_number=1234567) is executed, the next match "Regex (PASS) [national destinationnumber] destination_number(001234567)“ is done on the original number 001234567, not on 1234567. On the other hand, the log shows the changed number 1234567. It looks like the variable is not set when the condition is tested, but it is done when the log output is performed.
>> 
>> Dialplan: sofia/internal/1002 at 192.168.1.135 parsing [default->international destination_number] continue=true
>> Dialplan: sofia/internal/1002 at 192.168.1.135 Regex (PASS) [international destination_number] destination_number(001234567) =~ /^00(\d+)$/ break=on-false
>> Dialplan: sofia/internal/1002 at 192.168.1.135 Action log(CONSOLE *** international number ${destination_number} ***)
>> Dialplan: sofia/internal/1002 at 192.168.1.135 Action set_profile_var(destination_number=1234567)
>> Dialplan: sofia/internal/1002 at 192.168.1.135 parsing [default->national destinationnumber] continue=true
>> Dialplan: sofia/internal/1002 at 192.168.1.135 Regex (PASS) [national destinationnumber] destination_number(001234567) =~ /^0(\d+)$/ break=on-false
>> Dialplan: sofia/internal/1002 at 192.168.1.135 Action log(CONSOLE *** national number ${destination_number})
>> Dialplan: sofia/internal/1002 at 192.168.1.135 Action set_profile_var(destination_number=4901234567)
>> ...
>> EXECUTE sofia/internal/1002 at 192.168.1.135 log(CONSOLE *** national number 1234567)
>> 
>> Thanks
>> 
>> Markus
>> 
>> 
>> 
>> Am 12.03.2014 um 07:18 schrieb Avi Marcus <avi at avimarcus.net>:
>> 
>>> Actually, Sean, that's probably a good idea, since ^0 would match alpha characters, too...
>>> 
>>> -Avi
>>> 
>>> On Mar 12, 2014 2:16 AM, "Sean Devoy" <sdevoy at bizfocused.com> wrote:
>>> Whoa!!!  Thanks Avi – the light came on.
>>> 
>>> The first ^0 means “starts with a ZERO”, but the second ^0 means “anything BUT a zero”!!!!  There are always multiple ways to “regex” something, I probably would have gone with ^0([1-9]\d+)$.
>>> 
>>> Learned something.
>>> 
>>> Thanks,
>>> 
>>> Sean
>>> 
>>> From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Avi Marcus
>>> Sent: Tuesday, March 11, 2014 6:18 PM
>>> To: FreeSWITCH Users Help
>>> Subject: Re: [Freeswitch-users] Matching destination number
>>> 
>>>  
>>> 
>>> Only matcha 0 followed by a non zero.
>>> That way only one of the ref ex matches.
>>> 
>>> -Avi
>>> 
>>> On Mar 11, 2014 11:21 PM, "Sean Devoy" <sdevoy at bizfocused.com> wrote:
>>> 
>>> Hi,
>>> 
>>>  
>>> 
>>> Please explain what the [^0] does in that regex - ^0([^0]\d+)$
>>> 
>>>  
>>> 
>>> Sean
>>> 
>>>  
>>> 
>>> From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of mbo
>>> Sent: Tuesday, March 11, 2014 4:12 PM
>>> To: FreeSWITCH Users Help
>>> Subject: Re: [Freeswitch-users] Matching destination number
>>> 
>>>  
>>> 
>>> That works, 
>>> 
>>>  
>>> 
>>> Thanks!
>>> 
>>>  
>>> 
>>> Markus
>>> 
>>>  
>>> 
>>> Am 11.03.2014 um 20:49 schrieb Avi Marcus <avi at avimarcus.net>:
>>> 
>>>  
>>> 
>>> Both are matching.
>>> 
>>> You might want this for your second match, so that there's only 1x leading zero:
>>> 
>>>  
>>> 
>>> ^0([^0]\d+)$
>>> 
>>>  
>>> 
>>> 
>>> 
>>> -Avi
>>> 
>>>  
>>> 
>>> On Tue, Mar 11, 2014 at 8:49 PM, mbo <mbodbg at gmx.net> wrote:
>>> 
>>> Hello,
>>> 
>>>  
>>> 
>>> I have the following dial plan:
>>> 
>>>  
>>> 
>>> <extension name="international destination_number" continue="true">
>>> 
>>>       <condition field="destination_number" expression="^00(\d+)$">
>>> 
>>>         <action application="log" data="CONSOLE *** international number ${destination_number} ***"/>
>>> 
>>>         <action application="set_profile_var" data="destination_number=$1"/>
>>> 
>>>       </condition>
>>> 
>>>     </extension>
>>> 
>>>  
>>> 
>>>     <extension name="national destination_number" continue="true">
>>> 
>>>       <condition field="destination_number" expression="^0(\d+)$">
>>> 
>>>         <action application="log" data="CONSOLE *** international number ${destination_number}"/>
>>> 
>>>         <action application="set_profile_var" data="destination_number=49$1"/>
>>> 
>>>       </condition>
>>> 
>>>     </extension>
>>> 
>>>  
>>> 
>>>  
>>> 
>>> If I dial number 001234567, I get the following output in the console:
>>> 
>>>  
>>> 
>>> 2014-03-11 19:43:42.945392 [CONSOLE] mod_dptools.c:1569 *** international number 001234567 ***
>>> 
>>> 2014-03-11 19:43:42.945392 [CONSOLE] mod_dptools.c:1569 *** international number 1234567
>>> 
>>>  
>>> 
>>> The second extension is matching, however in the first extension the destination_number has been overridden and does not have any leading zeros. Why is it matching anyway?
>>> 
>>>  
>>> 
>>> Thanks
>>> 
>>>  
>>> 
>>> Markus
>>> 
>>>  
>>> 
>>> 
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>> 
>>> 
>>> 
>>> 
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.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://wiki.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://wiki.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://wiki.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://wiki.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://wiki.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://wiki.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/20140313/5461237c/attachment-0001.html 


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