[roblox-test] exten => s,1,NoOp(${DB(rblxdoor/${UID})}) [roblox-door] exten => s,1,GotoIf($["${DB(rblxdoor/${UID})}" = "1"]?continue) exten => s,n,Playback(error) exten => s,n,Hangup() exten => s,n(continue),Playback(press-1) same => n,Set(CHANNEL(hangup_handler_push)=roblox-door-hangup,s,1) same => n,Set(DB(rblxdoor/${UID})=2) same => n,WaitExten(15) exten => 1,1,Set(DB(rblxdoor/${UID})=3) same => n,Playback(beep) same => n,NoOp(DB value is now: ${DB(rblxdoor/${UID})}) same => n,Hangup() [roblox-door-hangup] exten => s,1,NoOp(Handling hangup for ${UID}) same => n,ExecIf($["${DB(rblxdoor/${UID})}" != "3"]?Set(DB(rblxdoor/${UID})=4)) ; 4 meaning hung up not pressing 1