Hey Ehab.
First of all when a call is not answer by an agent the agent goes into Not-Ready (unless you have changed this in the system parameters)
So the call wil go from agent 1 -> to agent 2 -> back in queue.
If you will terminate the call after that, you could use the report statictis step, where you can get numer of agent logged in and number of agent not ready, and if this is the same, then make a redirect.
For q2:
You can time your loop in the queue, and after lets say 4 loops (each 1 minut) terminate the call
Hope that helps
Please rate helpful posts and if applicable mark "Accept as a Solution".
Thanks, Thomas G. J.