I'm running Cyanogenmod 7. When I call my Android phone, it rings for 30 seconds before timing out and directing to my voicemail. I want it to only ring for 20 seconds before timing out - how can I change this? Is there somewhere in the Android GUI for me to set it?
OK, this is indeed a setting which is determined by the carrier. It can be changed (at least on GSM networks, according to this Tech Recipes article), using an MMI code (Man-Machine Interface code). Here's the procedure that worked for me:
On your Android phone, go to your Phone app, dial
*#61#, and hit the Call button. Android should briefly display "MMI code started". Then, it should display your current voicemail number and the delay time. Note down the voicemail number since you'll need to enter this in next.
Next, go to your Phone app and then the keypad. Now dial this number from the keypad to change the time your phone will ring before it goes to voicemail:
... and then hit the call button.
In the above code, you will put your voicemail number where the
yYs are and the time delay in seconds for the
xxs. Once you hit call, it will give confirmation as to whether it was successful or not.
Delay is in five second increments with the maximum being 30 seconds (ie. 5, 10, 15, 20, 25, 30 secs).
So for example, if my voicemail number is
555-444-5555 and i want to set it to the maximum 30 seconds, i would dial this on my Android phone's keypad:
Apparently, this will work for AT&T, T-Mobile, and any other GSM / SIM Card Carrier and may work on other phones besides Android devices.
Personally I am in the UK and so my voicemail number starts +44, so my MMI code to change the voicemail timeout was more like this:
It worked perfectly for me, and set the voicemail timeout to 20 seconds.