[Freeswitch-users] Dialplan expression matching

Vladyslav Zakhozhai v.zakhozhai at gmail.com
Thu Sep 29 17:04:45 MSD 2016


David, thank you for your answer.

I've mentioned that I have no problems with extension is_local_call. It
will be matched only if SIP message has custom header X-Exten-Type=internal.

If SIP message has no this header and To user is 0930000000 it does not
match ua_mobile, but ua_local for some reason.

When I'd remove is_local_call all numeric destinations are matched against
ua_local.

Here is part of FS log:

Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua parsing
[internal->echo_test] continue=false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Regex (FAIL)
[echo_test] destination_number(0930000000) =~ /^(echo|9999)$/ break=on-false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua parsing
[internal->is_internal_call] continue=false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Regex (PASS)
[is_internal_call] destination_number(0930000000) =~ /.*/ break=on-false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Regex (FAIL)
[is_internal_call] ${sip_h_X-Exten-Type}() =~ /internal/ break=on-false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua parsing
[internal->ua_local] continue=false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Regex (PASS) [ua_local]
destination_number(0930000000) =~ // break=on-false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Action
log(sip_h_X-Exten-Type: ${sip_h_X-Exten-Type}.)
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Action
bridge(sofia/gateway/golden/${destination_number})

I've removed extension is_local_call and have:
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua parsing
[internal->echo_test] continue=false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Regex (FAIL)
[echo_test] destination_number(0930000000) =~ /^(echo|9999)$/ break=on-false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua parsing
[internal->ua_local] continue=false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Regex (PASS) [ua_local]
destination_number(0930000000) =~ // break=on-false
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Action
log(sip_h_X-Exten-Type: ${sip_h_X-Exten-Type}.)
Dialplan: sofia/internal/vlakas at unitrans.tull.pp.ua Action
bridge(sofia/gateway/golden/${destination_number})

I can't understand why expression in log for ua_local is empty

Regex (PASS) [ua_local] destination_number(0930000000) =~ // break=on-false



On Thu, Sep 29, 2016 at 3:03 PM David Villasmil <
david.villasmil.work at gmail.com> wrote:

> you're hitting internal before  09
>
>  <extension name="is_internal_call">
>         <condition field="destination_number" expression=".*"/>
>         <condition field="${sip_h_X-Exten-Type}" expression="internal">
>               Some action
>          </condition>
>     </extension>
>
>     <extension name="ua_mobile">
>         <condition field="destination_number" experession="^0[0-9]{9}$">
>             <action application="bridge"
> data="sofia/gateway/golden/${destination_number}"/>
>         </condition>
>     </extension>
>
> try removing "        <condition field="destination_number"
> expression=".*"/>"
>
> On Thu, Sep 29, 2016 at 10:41 AM, Vladyslav Zakhozhai <
> v.zakhozhai at gmail.com> wrote:
>
>> Hi,
>>
>> I've mentioned that pattern matching in my dialplan works incorrectly but
>> I can't figure out the main reason.
>>
>> For example I have the following dialplan:
>> <context name="internal">
>>     <extension name="echo_test">
>>         <condition field="destination_number" expression="^(echo|9999)$">
>>              Some action
>>         </condition>
>>     </extension>
>>     <extension name="is_internal_call">
>>         <condition field="destination_number" expression=".*"/>
>>         <condition field="${sip_h_X-Exten-Type}" expression="internal">
>>               Some action
>>          </condition>
>>     </extension>
>>     <extension name="ua_local">
>>         <condition field="destination_number"
>> experession="^[2-5][0-9]{6}$">
>>             Some action
>>          </condition
>>     </extension>
>>     <extension name="ua_mobile">
>>         <condition field="destination_number" experession="^0[0-9]{9}$">
>>             <action application="bridge"
>> data="sofia/gateway/golden/${destination_number}"/>
>>         </condition>
>>     </extension>
>> </context>
>>
>> 1. Call to "echo" - OK (echo_test)
>> 2. Call to some extension with custom header X-Exten-Type - OK
>> (is_internal_call)
>> 3. Call to 5930000 - OK (ua_local)
>> 4. Call to 0930000000 - FAILED to match ua_mobile extension.
>>
>> The last call matches ua_local. But why?
>>
>> The result of regex dp_tool
>> freeswitch at vlakas> regex 5930000|^[2-5][0-9]{6}$
>> true
>> freeswitch at vlakas> regex 0930000000|^[2-5][0-9]{6}$
>> false
>>
>> So, everything is correct. I can't understand why almost everyting goes
>> to ua_local extension.
>>
>> I appreciate you help.
>>
>>
>> --
>> Best regards,
>> Vladyslav Zakhozhai
>> email: v.zakhozhai at gmail.com
>> tel.: +380(93) 757-21-61
>>
>> _________________________________________________________________________
>> 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

-- 
Best regards,
Vladyslav Zakhozhai
email: v.zakhozhai at gmail.com
tel.: +380(93) 757-21-61
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160929/61520698/attachment.html 


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