CVP RONA with SIP is quite easy to configure. Let's take this through in logical steps.
1. Forget the Voice Browser (H323 service). Leave that disabled. Forget about agent desk settings for a while - we'll come back to that. Assume we have just one agent in the skill group we are testing.
2. The 60 seconds comes from your gateway. In the sip-ua section you probably have something like this:
retry invite 1
retry response 1
retry bye 1
retry cancel 1
timers expires 60000
The timers expires is 60000 millisecs, or 60s. When that timer goes off, ICM cancels the call at the ringing phone, and unless you have router requery configured at the queue to skill group node, the call is terminated and it falls back to survivability and you hear the error message. 60000 is the minimum value of this timer, but as an experiment, increase it to 90000 and you will see that it takes 90 secs before the ringing phone is terminated.
3. Add Router Requery to your queue to skill group. Now at the 60s mark, the call will come out the "X" port. You must take this and redirect it back into the queue to skill group. Use a line connector to make it obvious what's going on. Since other error conditions could also make the call come out the "X" node, insert an IF node. Test the value of Call.RequeryStatus. If greater than zero, this is a requery call, so run it around and back into the queue to skill group. If it's not greater than zero, it's some other error condition which you handle in the normal way.
Now make the call. At the 60s mark the call will disappear from your agent but come back within a second. Requery is working. Check?
4. When a call is put back into the queue like this, and no one is ready, the conventional approach is to increase the priority of this call so it jumps to the front of other queued calls. The way to do that is to add an IF test on Call.RequeryStatus after the check port. If this is greater than zero, insert a Queue Priority node and lower the value (higher priority). Then go to your music loop as normal. If you have a greeting for normal calls, the requery path would bypass this and go straight to the start of the music loop.
Make the call again. Just before the 60s mark, make the agent not ready. Now when requery happens, the call will disappear from the agent and go back into the queue and the music starts again. Look at the script in monitor mode to check that it is following the correct path.
5. Now to adjust the timer. Open your Ops Console and go to the SIP page for your Call Server. In the "Dialed Number (DN) patterns" section, below the Send to Originator section there is the "Patterns for RNA timeout on outbound SIP calls". Add an entry to the Dialed Number (DN). Insert the AGENT EXTENSION. Put 15 in the Timeout window and press Add. You will see EXTENSION,15 in the list.
Save and Deploy.
Remember - the entry is not the DIALED NUMBER (DNIS) you associated with the Call Type to run your script. It's the agent's extension. You can use the period as a wild card for a single digit and the greater than (>) for 1 or more digits at the tail in the usual way.
Now make the test. At the 15s mark the call will be pulled away from the ringing phone and requery will run. Check.
6. Finally, agent desk settings. Set the "Ring no answer time" to 10s. It must be less than the SIP timer by a few seconds. The agent MUST be made not ready by ICM before SIP takes the call away, or you open the door for other queued calls.
Now make the test. After 10s or so, the agent is made not ready and shortly after, the ringing phone stops and the call is back in the queue. Don't make the timers too close - 5s difference is about right.