Regarding VM port usage, I agree with DND ON that you don't want to repeat the announcement too close together. But if you think this might be an issue you can go to the APPLICATION-RELATED INFORMATION section, then TIME SLOT GROUPS. Create a new group called ANNOUNCEMENTS and limit this to 1 or 2 channels in the MAXIMUM CHANNEL ALLOCATION section. If you get more calls than that trying to use the announcement they will just queue up waiting until one of those channels are free.
Bonus: remember that the announcement can include escape destinations just by adding DIAL 0 destinations and announcing them. Also the system natively include wait time and how many calls are ahead of you by just picking those from the recordings list. I'll often select the recordings like this:
Recording 4: You've reached our tech support group
Recording Q: there are ___ calls ahead of you
Recording T: your call should be answered in ___ minutes
Recording 5: If you'd like to leave a message and have us call you back just press 1. If you're experiencing an error 157 please press 2 for recorded instructions to solve this. Otherwise please continue to hold for the first available agent
Typically I offer this as the ANNOUNCEMENT, which plays only once. For OVERFLOW I'll just apologize for the wait and ask caller to continue waiting. I do this because under certain conditions the wait time might actually not decrease (dall runs long, for example) and I don't want the caller to be reminded of it. By the way, the system really DOES calculate wait time by looking at how long each HG member has been talking, how many agents are working, and how many calls are ahead of you in queue. This does require that you manually put an average call length in the AVERAGE CONNECT TIME field in the TIMERS section of the HG.