However once you unstick the jack (dig out lint, jiggle it with a bunch of insert-removes etc.) the software may still glitch and apparently asking it to go to speakerphone then back to regular mode (which should CHECK for headphones in theory, and not just trust the jack switch) may just do the trick. The most likely cause is a sticky switch in the jack causing the iphone not to properly recognize when headphones are removed. My suspicion is that it's a combination of hardware and software issues that cause the hangup. Turned off speaker phone and it went back to working properly
Turned on speaker phone, could now talk and listen. The ringer rang out the speaker but when I tried to talk and listen I got nothing (obviously trying to use the headphones which weren't there) I did a software restore, tried all the other tricks I could find but here's how I finally got it working again. I cut the end off a Q tip and went rooting around in the headphone jack and dug out a little lint which didn't solve it but atleast there's no lint in there now. I've had this problem perviously and the unplug-replug 7-8 times worked for me the last 2 times it glitched but not this time.