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

Avi Marcus avi at avimarcus.net
Thu Jan 10 01:59:23 MSK 2013


?: means "match but don't save it", for when [] just isn't flexible enough.

-Avi

On Thu, Jan 10, 2013 at 12:53 AM, Sean Devoy <sdevoy at bizfocused.com> wrote:

> Hey Avi,****
>
> ** **
>
> Using your regex:  ^(?:1|\+1|001)?([2-9]\d\d[2-9]\d{6})$****
>
> Doesn’t $1 match the stuff in the first set of () and $2 match my needed
> 10 digits?****
>
> ** **
>
> Thanks,****
>
> Sean****
>
> ** **
>
> *From:* freeswitch-users-bounces at lists.freeswitch.org [mailto:
> freeswitch-users-bounces at lists.freeswitch.org] *On Behalf Of *Avi Marcus
> *Sent:* Wednesday, January 09, 2013 3:02 PM
>
> *To:* FreeSWITCH Users Help
> *Subject:* Re: [Freeswitch-users] xml dialplan - regurlar expression
> question / Sanity Check!****
>
> ** **
>
> 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****
>
> ** **
>
> _________________________________________________________________________
> 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/20130110/af08220a/attachment.html 


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