Personally I don't think agents should ever give out their extension numbers. If they leave a message, as you say, they should leave the service line's main inbound number, this avoids a number of issues -
The agent is not available all the time. But if the call arrives as a normal inbound call you should always have an agent available to deal with it (during your opening hours) even if it has to queue for a while.
Once a customer knows an agent's extension number, they will use it everytime. Why listen to a series of IVR menus if you can ring direct? Why pay for a premium rate call if you can ring the agent directly using a cheaper number. This bypasses your routing, your stats collection and can cause other calls to be cut off, in the case of a race condition. It can also cost you revenue if the number of people ringing your premium rate numbers starts to drop.
Once one customer finds out an agent's extension number, his friends and family do too, and then their friends and family do as well. Before long it the information is on the internet so anyone can find it.
So to my mind agents should give out one number only and that should be the number on which you want incoming calls to arrive, the number you publish on your sales literature and your letters etc.