libphonenumber was mentioned on one or another site recently. I didn't know it was around, but it makes good sense. It's a library that parses, formats, validates, and stores phone numbers, which you might have been able to guess from the "libphonenumber" name.
The Java version of the library is built with ant, so no maven repository version that I could find. That kinda sucks, but the library has a lot of stuff that's really neat: you can tell where a phone number's from, whether the number is valid or not, all kinds of stuff.
The one thing is doesn't do is tell me what region goes with a US area code. I always have to look it up if it's not southern Illinois.
Haven't tried the library on Android, either - anyone know if it works there? And why can't Android intercept incoming call events so I can intercept and display the region a call is from?