; ; Location setting code ; exten => _29X,1,Answer exten => _29X,n,Wait(.5) exten => _29X,n,Set(chan=${CUT(CHANNEL,,1)}) ; Translate channel into an extension exten => _29X,n,Set(ext=${ODBC_CHAN2EXT(${chan})}) ; First thing, make sure all channels for this user are out of the queue exten => _29X,n,Set(i=1) exten => _29X,n,Set(channels=${ODBC_DB(extension,${ext},channels)}) exten => _29X,n(loop),RemoveQueueMember(tech,${CUT(channels,&,${i})}) exten => _29X,n,Set(i=$[${i} + 1]) exten => _29X,n,GotoIf($[${i} <= ${FIELDQTY(channels,&)}]?loop) ; Translation: penalty if this isn't Jeremy or Tilghman ; They get penalty 1, everyone else gets penalty 2 exten => 291,n,AddQueueMember(tech,${chan},$[$[0${ext} != 0102] + $[0${ext} != 0103]]) exten => 292,s,AddQueueMember(tech,${chan},$[$[0${ext} != 0102] + $[0${ext} != 0103]]) exten => _29X,s,NoOp exten => _29X,n,GosubIf($[0${ext} < 0100]?auth) exten => _29X,n,Set(ODBC_DB(extension,${ext},location)=${EXTEN:2}) ; Flash Operator Panel ;exten => _29X,n,DBPut(dnd/${chan}=${EXTEN:2}) ;exten => 290,6,DBPut(dnd/${chan}=On) ;exten => 291,6,DBDel(dnd/${chan}) ; Continue with message exten => 290,n,Playback(vcch/ext-closed) exten => 291,s,Playback(vcch/ext-open) exten => 292,s,Playback(vcch/ext-openfw) exten => 293,s,Playback(vcch/ext-fw) exten => 294,s,Playback(vcch/ext-fw) exten => 295,s,Playback(vcch/location5) ; Nonsense message for unknown location exten => _29X,s,Playback(tt-iguanas) exten => _29[016-9],n,NoOp ; 293 continues on for a bit exten => _29[2345],s,SayDigits(${ODBC_DB(extension,${ext},forward)}) exten => _29X,n,Congestion ; No user associated with channel, so authenticate exten => _29X,s+200(auth),VMAuthenticate exten => _29X,n,Set(ext=${AUTH_MAILBOX}) exten => _29X,n,Return