Jason Lixfeld
2005-Dec-14 15:56 UTC
[Asterisk-Users] "Context Picker" for interception and redirection
Going try my best to explain this and hopefully it will make sense: We're trying to come up with something that we can only refer to as a "context picker". The idea is that if someone dials 98625551212, the "context picker" will direct the call to the proper context based on the dialing prefix, in this case "9". The context picker would then re-write the extension and then Goto the proper context based on the prefix. The context would need to miraculously read a variable set by the context picker to match the dialed number pattern and execute the proper Dial. The thing I can't seem to figure out is how to get the context to read this variable set by the context picker as a dialstring. For example (not syntactically correct, I know): [contextpicker] exten => _9NXXNXXXXXX,1,SetVar(L-EXT=${EXTEN:1}) exten => _9NXXNXXXXXX,2,GoTo(localoutbound,${L-EXT}) exten => _91NXXNXXXXXX,1,SetVar(LD-EXT=${EXTEN:1}) exten => _91NXXNXXXXXX,2,GoTo(ldoutbound,${LD-EXT}) exten => _8.,1,SetVar(INOC-EXT=${EXTEN:1}) exten => _8.,2,GoTo(inoc-dba,${INOC-EXT}) [localoutbound] exten => ${L-EXT},1,Dial(SIP/localdump) [ldoutbound] exten => ${L-EXT},1,Dial(SIP/lddump) [inoc-dba] exten => ${INOC-EXT},1,Dial(SIP/inocdump) Does this make sense? Is there a better way to achieve this?
Jason Lixfeld
2005-Dec-14 18:07 UTC
[Asterisk-Users] "Context Picker" for interception and redirection
Got it working.. wow.. didn't think it would be this easy: [test] ; Test SIP user's context include => contextpicker [contextpicker] exten => _9NXXNXXXXXX,1,Set(LOCALEXT=${EXTEN:1}) exten => _9NXXNXXXXXX,2,GoTo(local-outbound-test,localout,1) exten => _9NXXNXXXXXX,102,NoOp(seq 102 check) exten => _91NXXNXXXXXX,1,Set(LDEXT=${EXTEN:1}) exten => _91NXXNXXXXXX,2,GoTo(cheapldprovider-outbound-test,ldout,1) exten => _91NXXNXXXXXX,102,NoOp(seq 102 check) exten => _8.,1,Set(INOCEXT={$EXTEN:1}) exten => _8.,2,GoTo(inoc-dba,s,1) exten => _8.,102,NoOp(seq 102 check) [local-outbound-test] exten => localout,1,Dial(${LOCALIAXOUT}/${LOCALEXT},,r) exten => localout,2,Playback(last-error-was) exten => localout,3,SayDigits(${CAUSECODE}) exten => localout,4,Playback(tt-somethingwrong) exten => localout,5,Hangup exten => localout,102,NoOp(seq 102 check) [cheapldprovider-outbound-test] exten => ldout,1,Dial(${LDIAXOUT}/${LDEXT},,r) exten => ldout,2,Playback(last-error-was) exten => ldout,3,SayDigits(${CAUSECODE}) exten => ldout,4,Playback(tt-somethingwrong) exten => ldout,5,Hangup exten => ldout,102,NoOp(seq 102 check) On 14-Dec-05, at 5:56 PM, Jason Lixfeld wrote:> Going try my best to explain this and hopefully it will make sense: > > We're trying to come up with something that we can only refer to as > a "context picker". The idea is that if someone dials 98625551212, > the "context picker" will direct the call to the proper context > based on the dialing prefix, in this case "9". The context picker > would then re-write the extension and then Goto the proper context > based on the prefix. The context would need to miraculously read a > variable set by the context picker to match the dialed number > pattern and execute the proper Dial. The thing I can't seem to > figure out is how to get the context to read this variable set by > the context picker as a dialstring. For example (not syntactically > correct, I know): > > [contextpicker] > exten => _9NXXNXXXXXX,1,SetVar(L-EXT=${EXTEN:1}) > exten => _9NXXNXXXXXX,2,GoTo(localoutbound,${L-EXT}) > exten => _91NXXNXXXXXX,1,SetVar(LD-EXT=${EXTEN:1}) > exten => _91NXXNXXXXXX,2,GoTo(ldoutbound,${LD-EXT}) > exten => _8.,1,SetVar(INOC-EXT=${EXTEN:1}) > exten => _8.,2,GoTo(inoc-dba,${INOC-EXT}) > > > [localoutbound] > exten => ${L-EXT},1,Dial(SIP/localdump) > > [ldoutbound] > exten => ${L-EXT},1,Dial(SIP/lddump) > > [inoc-dba] > exten => ${INOC-EXT},1,Dial(SIP/inocdump) > > Does this make sense? Is there a better way to achieve this? > _______________________________________________ > --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 >