[Asterisk-Users] Pattern Matching?

Sean Kennedy skennedy at tpno-co.org
Thu Mar 17 07:27:07 MST 2005


asterisk at stephenamadei.com wrote:

>I need to deploy some quasi-virtual-PBXes, and I'd like to avoid having to
>be hands on for each new phone number deployed... so I would like to set
>up some administrative extensions that can record greetings... lets say:
>
>[admin]
>exten => 8(NXXNXXXXXX),1,Record($1|-greeting.gsm)
>
>[incoming]
>exten => _(NXXNXXXXXX),1,Playback($1|-greeting)
>exten => _(NXXNXXXXXX),2,Goto($1,1000)
>exten => _(NXXNXXXXXX),102,Playback(generic-greeting)
>
>[2122222222]
>exten => 1000,VoiceMail(22222)
>
>[3103333333]
>exten => 1000,VoiceMail(33333)
>
>The concept here is like the capture buffer in a Perl regex.
>
>So that if "admin" dialed 82122222222, it would give them the chance to
>record the greeting, which would be put in the 212222222-greeting.gsm
>file.
>
>If someone called 2122222222, it would play the 2122222222-greeting.gsm
>file, if it existed, otherwise if it failed, it would play
>generic-greeting.gsm.  Then it would change context based in the called
>number.
>
>Granted, I'm asking for alot here, but is there any way to approximate
>this kind of an advanced configuration with Asterisk?
>
>
>					----Steve
>  
>
Not that difficult.  A few things you will need:

${EXTEN} is the current extension dialed
goto statement
You can trim crap off your vars using the ${EXTEN:1} notations. In my 
example, I am trimming the front digit off the exten var.  If I wanted 
to be fancy, I could trim x off the front, and only read for n digits 
like this: ${EXTEN:x:n}. 

At least, I think I could.  Perhaps someone with more recent working 
knowledge could confirm that? 

It's all the in the wiki.  When it's up that is.  :)

Sean




More information about the asterisk-users mailing list