[Asterisk-Users] Extracting info from the $EXTEN variable

C F shmaltz at gmail.com
Thu Mar 9 16:39:53 MST 2006


you will have to do that in the gotoif statement, something like this:
exten => _X.,1,GotoIf($[${EXTEN:2:1}=1]?20)
exten => _X.,2,GotoIf($[${EXTEN:2:1}=2]?30)
exten => just add your own here
the above will got to priority 20 if the 3rd digit is a 1, and to 30
if the 3rd digit is a 2.

On 3/9/06, Álvaro Palma <apalma at opschile.cl> wrote:
> Is there a way to access only certain positions in the $EXTEN variable?
> I'd like to filter my international calls based on the destination country:
>
> My dialplan looks like this (1XX0. is the international calling
> convention for Chile)
>
> exten => _1XX0.,1,Dial(SIP/${EXTEN:4}@external_provider)
>
> But, I'd like to, depending on the destination country (digits 5 and
> eventually 6 of EXTEN), route my calls for another provider, something like:
>
> exten => _1XX0.,1,GotoIf(${EXTEN[5-6]} == certain_pattern)?2,3)
> exten => _1XX0.,2,Dial(SIP/${EXTEN:4}@external_provider1)
> exten => _1XX0.,3,Dial(SIP/${EXTEN:4}@external_provider2)
>
> How can I do that? I was looking the documentation, but it only speaks
> of stripping digits from the extension, not to selecting a range.
>
> Thanks a lot for your help.
>
> --
> Atly.
> Álvaro Palma
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list