Custome Queue Ring -> Message -> MOH

I am working with a client that would like calls to ring, if unanswered they would need to hear a message, then go to MOH while holding for an agent.
Caller side. "4 Rings -> “Thank you for calling, we are busy but stay on the line or press 1 at any time to leave a message” -> MOH until answered.
Agent side. Ring until answered.

I have tried setting up 2 queues (601,602) 601 has ringing routes through a queue priority to increase the priority of the call as it enters the 602 queue, 602 has an then MOH. This is 90% what I was looking for, the issue is the call stops ringing at the agents phones between the two queues.
I am also not sure if the call is in the 602 queue, will the agent get all of the 602 calls before the 601 calls.
Is there a way to do this that I am not thinking of.
The only other way that I can think of is to record what I would like as MOH and just have the MOH play the Ringing and the message.
Any help would be great.