

how to make a caller can queue for the phone when online again.
example problem
I have 3 extensions, when all again online or again phone, there is a new caller who entered, then the new caller entered the queue. on one of the 3 extensions is not online then the incoming phone is thrown to another extension on or not online.
this is example my code
[from-internal]
exten => 7890,1,NoOp()
same => n,Goto(ivr-nusanet88,s,1)
same => n,Hangup
[ivr-nusanet88]
exten => s,1,NoOp(tes)
same => n,Set(LOOP=0)
same => n,Answer
same => n,Playback(1)
same => n(loop),Background(1.2)
same => n,WaitExten(5)
exten => 1,1,NoOp(testing TOM)
same => n,Goto(ivr-sibuk,s,1)
same => n,Hangup
exten => i,1,NoOp(Invalid)
same => n,Playback(invalid-nusanet)
same => n,Set(LOOP=$[ ${LOOP} + 1 ])
same => n,GotoIf($[ ${LOOP} < 3]?s,loop)
exten => t,1,NoOp(timeout)
same => n,Playback(timeout-nusanet)
same => n,Set(LOOP=$[ ${LOOP} + 1 ])
same => n,GotoIf($[ ${LOOP} < 3]?s,loop)
[ivr-sibuk]
exten => s,1,NoOp()
same => n,Set(LOOP=0)
same => n,Answer
same => n(loop),Background(helpdesk-sibuk-new)
same => n,WaitExten(5)
exten => 1,1,NoOp(menunggu)
same => n,Playback(jingle-radio-nusanet) ;note(this is jingle queue wait, if in the middle jinggle there is not onlie then directly in the dial right to the extension)
same => n,Dial(PJSIP/1251)
same => n,Hangup
exten => i,1,NoOp(Invalid)
same => n,Playback(invalid-nusanet)
same => n,Set(LOOP=$[ ${LOOP} + 1 ])
same => n,GotoIf($[ ${LOOP} < 3]?s,loop)
exten => t,1,NoOp(timeout)
same => n,Playback(timeout-nusanet)
same => n,Set(LOOP=$[ ${LOOP} + 1 ])
same => n,GotoIf($[ ${LOOP} < 3]?s,loop)
please solucation 