I found that the best thing to do is to use commercial sources. It might seem like a lot of money to pay on a per look up basis, but keep in mind that if you set it up right, you cache every look up. You only have to reach out to the look up provider once per number ever. So $10 worth of look ups can last a very long time. Some of the non-commercial sources can take a long time to return any data, and the data that is returned is frequently garbage. Try turning off all the look up sources, then turn them on one at a time. Use the test feature to test them one at a time. Something is hanging. You will find it that way.