exten = *40,1,Answer exten = *40,n,Wait(1) exten = *40,n,Playback(cust-pro-call-fwd-busy) exten = *40,n,Playback(please-enter-your&extension) exten = *40,n,Read(fromext,then-press-pound) exten = *40,n,Set(fromext=${IF($["${fromext}"=""]?${CALLERID(num)}:${fromext})}) exten = *40,n,vmauthenticate(${fromext}) exten = *40,n,Wait(1) exten = *40,n,Set(LOOPCOUNT=0) exten = *40,n(begin),Set(TIMEOUT(digit)=3) exten = *40,n,Set(TIMEOUT(response)=10) exten = *40,n(startread),Playback(ent-target-attendant) exten = *40,n,Read(toext,then-press-pound) exten = *40,n,GotoIf($["foo${toext}"="foo"]?startread) exten = *40,n,Wait(1) exten = *40,n,ChanIsAvail(SIP/${toext}&IAX2/${toext}&MGCP/${toext}&SKINNY/${toext}) exten = *40,n,GotoIF(${AVAILSTATUS}=""|?i,1) exten = *40,n,Set(DB(CFB/${fromext})=${toext}) exten = *40,n,Playback(call-fwd-busy&for&extension) exten = *40,n,SayDigits(${fromext}) exten = *40,n,Playback(is-set-to) exten = *40,n,SayDigits(${toext}) exten = *40,n,Goto(hang,1) exten = i,1,PlayBack(invalid&extension) exten = i,n,Goto(loop,1) exten = t,1,Goto(loop,1) exten = loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1]) exten = loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1) exten = loop,n,Goto(app-cpcfda,,begin) exten = hang,1,Playback(vm-goodbye) exten = hang,n,Macro(hangupcall)