Ringtones are available in two formats, mp3 and m4r. For Android phones, and many others including Blackberrys, use mp3.
For iPhones use m4r. Unfortunately the only way to load them onto your phone is via iTunes, while most other phones will accept mp3s directly, ready to be assigned as ringtones.
In IOS 5, the iPhone’s latest operating system, what used to be called “ringtones” are now called simply “tones”, reflecting an ability to assign them, not just as ringtones, but also as general alert tones.
The maximum length of the tones is 30 seconds. Most shorted sounds are made to loop. To maximise playing time it will probably be necessary to lengthen the ring time of your phone, before it sends to voicemail.
This is not specific to the phone itself, but to the network, and there is an international protocol to set the length of time your phone will ring.
You’ll need to know the number your phone calls for voicemail. If you don’t know this you can find out by typing *#67# into the telephone keypad and pressing “call”. Information will be returned, including the number.
To change the ring time type **61*[voicemail number]*11*[number of seconds, 5 - 30]# and press call.
For example, in the UK, O2′s voicemail number is 901. So to set an O2 phone to 30 seconds ring time you’d type **61*901*11*30#