Use the same priority for queuing all calls.
To add a test such as for working hours in the beginning, use a vector which ends with goto vector x unconditionally, where vector x has the loop with the announcing steps.
If you have queue limiting, use a goto step/vector y if calls-queued in skill 25 pri l > queue_limit
step ahead of step 2 to give the caller an alternate treatment if the call cannot be queued.
1. wait-time 0 secs hearing ringback
2. queue-to skill 25 pri l
3. announcement 1000 [All our specialists are busy handling other customers. Your call is important to us, so please wait.]
4. goto step 6 if interflow-qpos <> 1
5. announcement 1001 [you are the next call to be answered]
6. goto step 8 if interflow-qpos <> 2
7. announcement 1002 [you have 1 call ahead of you]
8. goto step 10 if interflow-qpos <> 3
9. announcement 1003 [you have 2 calls ahead of you]
10. goto step 12 if interflow-qpos <> 4
11. announcement 1004 [you have 3 calls ahead of you]
12. goto step 14 if interflow-qpos <> 5
13. announcement 1005 [you have 4 calls ahead of you]
14. goto step 16 if interflow-qpos <> 6
15. announcement 1006 [you have 5 calls ahead of you]
16. goto step 18 if interflow-qpos <> 7
17. announcement 1007 [you have 6 calls ahead of you]
18. goto step 20 if interflow-qpos <> 8
19. announcement 1008 [you have 7 calls ahead of you]
20. goto step 22 if interflow-qpos <> 9
21. announcement 1008 [you have 8 calls ahead of you]
22. goto step 26 if interflow-qpos <= 9
23. announcement 1009 [There are more than 8 calls ahead of you]
24. collect 1 digits after announcement 3000 [If you would like to leave a callback message dial 1 otherwise press # or
continue to wait {10 sec timeout is the default but it is adjustable}]
25. goto vector 200 if digits = 1 [vector 200 provides callback messaging via the messaging command and related treatment]
26. wait-time 60 secs hearing music {this is optional}
27. announcement 1000 [Our specialists are still busy, please continue to wait]
28. goto step 4 unconditionally