Look into "continue=true", i think that you need to add it.
On Thu, Sep 29, 2016 at 3:07 PM Vladyslav Zakhozhai <v.zakhozhai@gmail.com> wrote:
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@unitrans.tull.pp.ua parsing [internal->echo_test] continue=false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Regex (FAIL) [echo_test] destination_number(0930000000) =~ /^(echo|9999)$/ break=on-false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua parsing [internal->is_internal_call] continue=false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Regex (PASS) [is_internal_call] destination_number(0930000000) =~ /.*/ break=on-false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Regex (FAIL) [is_internal_call] ${sip_h_X-Exten-Type}() =~ /internal/ break=on-false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua parsing [internal->ua_local] continue=false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Regex (PASS) [ua_local] destination_number(0930000000) =~ // break=on-false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Action log(sip_h_X-Exten-Type: ${sip_h_X-Exten-Type}.) 
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Action bridge(sofia/gateway/golden/${destination_number}) 

I've removed extension is_local_call and have:
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua parsing [internal->echo_test] continue=false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Regex (FAIL) [echo_test] destination_number(0930000000) =~ /^(echo|9999)$/ break=on-false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua parsing [internal->ua_local] continue=false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Regex (PASS) [ua_local] destination_number(0930000000) =~ // break=on-false
Dialplan: sofia/internal/vlakas@unitrans.tull.pp.ua Action log(sip_h_X-Exten-Type: ${sip_h_X-Exten-Type}.) 
Dialplan: sofia/internal/vlakas@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@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@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@vlakas> regex 5930000|^[2-5][0-9]{6}$
true
freeswitch@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

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@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@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@gmail.com
tel.: +380(93) 757-21-61
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@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@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org