In Cisco CallManager 4.x, sometimes when an extension is called, it only rings. The call does not get transferred to voicemail if it is not picked up, even though all voicemail ports are registered and voicemail pilot can be dialed. Also it is possible to log into the voicemail box but calls do not transfer to voicemail.
In order to resolve this issue, reset voicemail profile, IP phones and voicemail ports. The easiest way to reset the voicemail ports is to stop and start the Cisco Unity services, or stop and start Cisco Unity from the systray icon. During a reset of the Cisco Unity voicemail ports, there is an interruption of service.