I have my iPhone 5 set on "Vibrate on Ring" and the volume is not on mute, but when someone calls, it only vibrates. I've included it in Notifications Center, but that doesn't seem to do anything. Do Not Disturb has also been turned off. When selecting a ringtone it will not play, it only vibrates. How do I fix this?
Get some compressed air (don't just blow into it) and blow the headphone jack clean of any dirt, lint, or other debris. A toothpick might help clean it out, too.
It sounds (no pun intended) like a software issue.
Hold down the home and reset buttons simultaneously until you see the logo.
let go of both buttons together
The phone will restart. This may fix your issue. I had a similar problem recently. A reset did the trick.
If this doesn't work, a trip to the Genius Bar at your local Apple Store may be your last resort.
Try switching ringtones. I did that and then switched back to my original (custom) ringtone and it worked again.