[Freeswitch-users] xml dialplan - regurlar expression question / Sanity Check!

Avi Marcus avi at avimarcus.net
Wed Jan 9 23:02:28 MSK 2013


Ha, that was a tricky one!

Here's the issue - he dialed: 1-800-336-940 -- that's too few digits!
So your optional one made it match anyway.

Your matching is too allowing - here's the regex I use:

^(?:1|\+1|001)?([2-9]\d\d[2-9]\d{6})$

That matches [nothing, 1, +1 or 001] prefix for USA. Then, bridge like now
to "1$1".

btw, if you want a separate match for USA toll-free it's: ^(?:1|\+1|001)?
(8(00|55|66|77|88)[2-9]\d{6})$

There's also some good example on this page, the link goes directly to USA:
http://wiki.freeswitch.org/wiki/Regular_Expression#NANPA_.2B1NxxNxxXXXX_E.164_Dialstring

-Avi Marcus
BestFone

On Wed, Jan 9, 2013 at 9:48 PM, Sean Devoy <sdevoy at bizfocused.com> wrote:

> HI,****
>
> ** **
>
> I really hope this question is not as dumb as some of my recent questions
> (Anybody else wiped out you O/S lately?)!****
>
> ** **
>
> Anyway,  I have an xml dial plan:****
>
>   <extension name="ten_or eleven_digiti_dial" >****
>
>     <condition field="destination_number" expression="^1?(\d{10})$">****
>
>       <action application="set" data="ringback=${us-ring}"/>****
>
>       <action application="set" data="
> effective_caller_id_number=${outbound_caller_id_number}"/>****
>
>       <action application="set" data="ani=${outbound_caller_id_number}"/>*
> ***
>
>       <action application="set" data="
> effective_caller_id_name=${outbound_caller_id_name}"/>****
>
>       <action application="set" data="hangup_after_bridge=true"/>****
>
>       <action application="bridge" data="
> sofia/gateway/vitelity-inbound/1$1"/>****
>
>     </condition>****
>
>   </extension>****
>
> ** **
>
> I thought that would accept either 10 or 11 digit numbers starting with 1
> and bridge to the gateway always using 1 plus the 10 digits.****
>
> ** **
>
> In fact in my log I can see:****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Regex *(PASS)*[ten_or eleven_digiti_dial] destination_number
> *(14104207777*) =~ /^1?(\d{10})$/ break=on-false****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action
> set(ringback=${us-ring}) ****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action
> set(effective_caller_id_number=${outbound_caller_id_number}) ****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action
> set(ani=${outbound_caller_id_number}) ****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action
> set(effective_caller_id_name=${outbound_caller_id_name}) ****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action
> set(hangup_after_bridge=true) ****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action bridge*
> (sofia/gateway/vitelity-inbound/14104207777*)****
>
> ** **
>
> *BUT*
>
> It does not work for my customer :****
>
> Dialplan: sofia/external/101 at fs_alst.bizfocused.com Regex *(PASS*)
> [ten_or_eleven_digiti_dial] destination_number(*1800336940*) =~
> /^1?(\d{10})$/ break=on-false****
>
> Dialplan: sofia/external/101 at fs_alst.bizfocused.com Action
> set(ringback=${us-ring}) ****
>
> Dialplan: sofia/external/101 at fs_alst.bizfocused.com Action
> set(effective_caller_id_number=${outbound_caller_id_number}) ****
>
> Dialplan: sofia/external/101 at fs_alst.bizfocused.com Action
> set(ani=${outbound_caller_id_number}) ****
>
> Dialplan: sofia/external/101 at fs_alst.bizfocused.com Action
> set(effective_caller_id_name=${outbound_caller_id_name}) ****
>
> Dialplan: sofia/external/220 at fs_bfis.bizfocused.com Action
> set(hangup_after_bridge=true) ****
>
> Dialplan: sofia/external/101 at fs_alst.bizfocused.com Action bridge*
> (sofia/gateway/vitelity-inbound/11800336940*)  NOTE THE EXTRA LEADING 1***
> *
>
> ** **
>
> So, what am I missing?****
>
> ** **
>
> Thanks,****
>
> Sean****
>
> _________________________________________________________________________
> 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/20130109/acee43d8/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list