We are using call handlers to queue people calling into a DDI if busy. If the user isn't busy the caller hears MOH whilst the called phone rings, surely the caller should hear the call progress tones, seeing how the call phone is ringing. MOH plays if they are being queued and have to wait, which is fine.
The problem with this is that Unity uses a "Supervised Transfer" to accomplish the Call Holding function. A Supervised Transfer is like a Consult Transfer in the IP Phone world where MOH is played back to the caller until the connection is actually completed.
Here is some additional info;
Call Holding in Cisco Unity
Hope this helps!