If you have a data plan, cell phone manufacturers are happy to provide instructions to download their ringtones ($2.50 each), and they sell you the data plan ($15.00 per month). If you try to download a ringtone without a data plan they charge you a connection fee plus a transfer fee for each kb of data moved. What they don't tell you is that you can 1) make your own ringtones, 2) load them on the phone with a USB cable, miniSD flash drive, or Bluetooth, and 3) assign them to your contacts or general callers. Some phone manufacturers and providers make this a trivial exercise. For Sprint users with a Samsung phone, this Instructable can save you some money.
There are two ways I know of to do this: a really complicated way and a really easy way. The really complicated way uses software designed to reprogram the commands in your phone. A mistake could make your phone useless. It is just like editing the registry on your computer. I could explain the hard way but my eyeballs start shooting blood just reading it. This Instructable is the easy way, but there are some compromises you will have to live with.