iPhone 3G comes with a number of ringtones that you can use for incoming calls, clock alarms, messages and clock timers. In addition to default ringtones you can also assign individual ringtones to people in your contacts so that you can identify the person whom calls just by listening to the iPhone 3G ringtones.
Set the default ringtone
From the Home screen choose settings>sounds>ringtone, then choose a ringtone
Assign a ringtone to a contact
From phone, tap contacts and choose a contract. Tap ringtone and choose a ringtone when the person calls you can hear that ringtone.
You can also switch between ring mode and silent mode. You can make you iPhone 3G to vibrate in both the modes. You can easily switch between ring/silent mode just by flipping the ring/silent switch on the side of iPhone.
There are 3 ways to create a iPhone 3G ringtone
1) You can create the iPhone 3G ringtones in iTunes using songs that are added to your iTunes library. This is full free of cost. (You could try This step by step to Create Free Custom iPhone 3G Ringtones)
2) For some unfortunate people the above way of creating iPhone 3G ringtone may not work until you buy songs from the itunes store.
3) The next way is to create 3G ringtones using garagebands if u have MAC. Simply import any audio file, clip it down to fewer than 40 seconds and then choose ‘save as iPhone 3G Ringtone”. You can also use AudiaHub if u have Mac and iPhone Ringtone Maker which needs a subscription fee.
4) The last way is to receive iPhone 3G ringtones buy paying subscription. For this you need to pay a subscription fees that allows you to download songs and other audio files to use as ringtones on you iphone 3G.