[Asterisk-biz] gotta be a better way

C F shmaltz at gmail.com
Wed Nov 23 12:07:59 MST 2005


Eric I know about the cut, but havn't played around with it yet, so I
couldn't tell someone else how to use it. In any case he says that he
failed to see anything on the provided link, so I guess I cannot help
him anymore.

On 11/23/05, Eric ManxPower Wieling <eric at fnords.org> wrote:
> Why not
>
> exten => s,4,Cut(TECHNOLOGY=CHANNEL,/,1)
> exten => s,5,GotoIf($["${TECHNOLOGY}" = "Zap"]?6:9)
>
>
> C F wrote:
> > This belongs at asterisk users, if you want some real help you should
> > try that list.
> > Your code doesn't make sense to me, if all your trying to see is what
> > device type is making the call then this will do:
> >
> > set(DTYPE=${CHANNEL:0:4}) should give you either SIP/ or ZAP/ for those 2 types.
> >
> > if you want everyting after the slash ('/') then this will do for
> > local, sip, and zap:
> > exten => 807,1,GotoIf($[${CHANNEL:0:5} = Local]?20)
> > exten => 807,2,GotoIf($[${CHANNEL:0:3} = Zap]?30)
> > exten => 807,3,Noop(not zap or local so must be sip)
> > exten => 807,4,Set(DEVICE=${CHANNEL:4})
> > exten => 807,5,Noop(${DEVICE})
> > exten => 807,20,Set(DEVICE=${CHANNEL:6})
> > exten => 807,21,Noop(${DEVICE})
> > exten => 807,30,Set(DEVICE=${CHANNEL:4})
> > exten => 807,31,Noop(${DEVICE})
> >
> > if you want the above but that device should never contain the hex
> > value for the SIP calls, so that all you get is the device from
> > sip.conf and not the -abc3:
> > exten => 807,1,GotoIf($[${CHANNEL:0:5} = Local]?20)
> > exten => 807,2,GotoIf($[${CHANNEL:0:3} = Zap]?30)
> > exten => 807,3,Noop(not zap or local so must be sip)
> > exten => 807,4,Set(DEVICE=${CHANNEL:4:$[${LEN(${CHANNEL})} - 9]})
> > exten => 807,5,Noop(${DEVICE})
> > exten => 807,20,Set(DEVICE=${CHANNEL:6})
> > exten => 807,21,Noop(${DEVICE})
> > exten => 807,30,Set(DEVICE=${CHANNEL:4})
> > exten => 807,31,Noop(${DEVICE})
> >
> > The above should give you 1324 for a channel that holds SIP/1234-abc3
> >
> > On 11/22/05, Bill Michaelson <bill at cosi.com> wrote:
> >> Based on what I've read about Asterisk variables, I'm considering this
> >> ugly snippet to determine the device from which a call originates in
> >> order to drive further processing...
> >>
> >> exten => 807,1,Set(L=${LEN(${CHANNEL})})
> >> exten => 807,2,set(L=${MATH(${L}-5)})
> >> exten => 807,3,noop(${L})
> >> exten => 807,4,set(DEVICE=${CHANNEL:0:${L}}) ; chop off 5 chars
> >>
> >>
> >> I strongly suspect that there is a better way.
> _______________________________________________
> Asterisk-Biz mailing list
> Asterisk-Biz at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-biz
>



More information about the asterisk-biz mailing list