Please help me.... how to make a caller can queue for the phone when online again

:disappointed_relieved::disappointed_relieved::disappointed_relieved: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 :disappointed_relieved:

I don’t see you calling the Queue application anywhere in your dialplan.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+15+Application_Queue