All the iPhones have a mechanical switch that turns off the ringer BUT allows you to hear hear ringtones when you select them from the Settings app.
On the iPhone 4 it is on the upper left side. Whatever position it is in now, flip it the other way.
Did that work?
Have an iPhone 4 with Verizon. A few weeks ago, phone no longer had any sound from external speaker. Took device to cell repair shop (out of warranty) and replaced speaker. Device sounds work and volume control set to loudest level.
Problem is that the ringer for incoming calls does not work. No trouble hearing callers or them hearing me. Can select ringtones and hear them playing. Ringer is not set to silent. (as far as I can determine). Just tried updating to iOS 7 but made no difference.
Any ideas or suggestions ??