I have a bunch of telephone numbers (just the area codes), and I'd like to geolocate them and make a map, but I haven't had too much luck googling for shapefiles for Area Codes. Surely these are in the public domain?
You could also try using the MaxMind GeoLite City dataset. This dataset is a point layer that contains both the AreaCode and MetroCode (Example: AreaCode - MetroCode - XXXX). If you have a metrocode, you might be able to get closer than just with area code by finding the nearest City point that shares both the area code and metrocode of the phone number you are testing.
If you are trying to get the center of the area code, you could try creating something like a Voronoi diagram and dissolve the polygons to generate area-code like boundaries. I will tell you, however, tried this method already, there are a lot of outliers that will need to be cleaned up in order to get a decent output of area codes (see image below). It certainly wouldn't be perfect, but would give you an approximation.
There are some other questions that have mentioned the MaxMind dataset that you may want to read for additional information.
Initial map, all points:
Update: After doing some pre-processing of the points to remove outliers and clipping to the US boundaries, the result turned out pretty good, I thought.
Area Code Map
"area codes have very little correlation with geographic location. Zip codes are much more useful."