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

Michael Collins msc at freeswitch.org
Thu Jan 10 01:07:30 MSK 2013


Or you could both win by modifying the regex a bit:
^(?:+1|1)?([2-9]\d{2}[2-9]\d{6})\d*$

That assumes a valid NANPA number with "some extra digits" is just that - a
valid NANPA number with some extra digits. However, I wouldn't trust a
handset that doesn't know the difference between digits in the phone number
and digits sent after far end answered.

-MC

On Wed, Jan 9, 2013 at 2:00 PM, Ken Rice <krice at freeswitch.org> wrote:

> We can agree to disagree on that... I would argue if that's happening they
> need to update their handset... Its not 1985 any more
>
>
> On 1/9/13 3:44 PM, "Sergey Okhapkin" <sos at sokhapkin.dyndns.org> wrote:
>
> > It's better to remove trailing "$", there could be more digits on
> handset's
> > redial after entering DTMF codes on previous call.
> >
> > On Wednesday 09 January 2013 15:33:57 Ken Rice wrote:
> >> If you are trying to filter NANPA numbers why not use a tighter REGEX
> like
> >> ^(?:+1|1)?([2-9]\d{2}[2-9]\d{6})$
> >>
> >> This would leave the base 10 digit number in $1
> >>
> >> On 1/9/13 2:00 PM, "DJB International" <djbinter at gmail.com> wrote:
> >>> 1800336940 is 10-digits; therefore, it will match (\d{10}), which will
> be
> >>> $1.
> >>>
> >>> $1 = 1800336940
> >>>
> >>> Then, in your bridge you add 1 in front, so it is correct.
> >>>
> >>> What behaviors are you looking for in this case?
> >>>
> >>> -djbinter
> >>>
> >>> On Wed, Jan 9, 2013 at 11:48 AM, 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
> <tel:%2814104207777> )
> >>>> =~ /^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 <tel: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
> >
> > _________________________________________________________________________
> > 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
>
> --
> Ken
> http://www.FreeSWITCH.org
> http://www.ClueCon.com
> http://www.OSTAG.org
> irc.freenode.net #freeswitch
>
>
>
> _________________________________________________________________________
> 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
>



-- 
Michael S Collins
Twitter: @mercutioviz
http://www.FreeSWITCH.org
http://www.ClueCon.com
http://www.OSTAG.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130109/39de7981/attachment.html 


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