Call center on hold configuration

I have question on call center queues

Is it possible to do this with Asterisk?

When a client calls the receptionist answers.
She then transfers the client to a queue.
When the client is connected to a queue, he will hear an introduction message unique to this queue, this message will play no matter if an agent is available or not.
If all agents are busy, on hold music will play.
After 10 seconds, Announcement 1 will play, it will never play again for this session, once the message is played on hold music will take over.
After 30 seconds, Announcement 2 will play, then on hold music will take over, this message will repeat in 60 seconds.
After 30 seconds, message announcing your position in the queue will play, then on hold music will take over, this message will repeat in 60 seconds.

Here is a diagram more or less of what it would look like:

You could do it with multiple queues cascading into each other with the same agents.