Why CNAM does not work.
CNAM or Caller ID Name is the 15 characters delivered to the Called party with the Caller ID. The Called party is the person receiving the phone call. This service does not really work and there is very little acknowledgment of the reasons why the service does not work. The technology generally works as designed, the text is being delivered from the carrier to the subscriber, the subscriber equipment displays or announces it. But all too often the data that the carrier uses has little or no relationship to the caller.
What is this service called?
The first problem is the service has no commonly used name. Try Googling CNAM and we get a mixed bag of some telecommunication links, but mostly they are all over the map. The most relevant Wikipedia page is for something called CNIP which is Greek to me. Well I do actually understand the alphabet soup, but I find it quite annoying. In the industry these sort of presentation are used for intimidation. People with a marginal understanding of the topic put together a complex and possibly meaningless presentation and since no one says the Emperor has no clothes, all assume the expertise of the presenter is real.
Getting back to the point, the service which is the delivery of text along with the Caller ID has no commonly used name.
The piece of the process that is of interest to us is the database look up. The carrier of the called party, person receiving the phone call, has the responsibility to go to its database, when a phone is rung. They look up the Caller ID, the phone number of the caller, and get some text out of the database. On an aside there may be two caller phone numbers in the data record associated with the call initiation the CLID and the ANI, only the former is relevant to our discussion. This look up has to be done in real time and any delay in finding the information may delay the call initiation process. Some protocols allow for this information to be provided several seconds into the ring process.
The heart of the problem
Looking up a short piece of text based on a number is quite easy, so what's the problem? The problem is the carrier knows the name of their own customers, but the name that is needed is that of the caller, who may not be a customer of the same carrier as the called.
There exist several companies who collect the information from various carriers and provide a single place to look up the data. They usually offer an API to access the data live, but some will provide the database itself. The number of companies in this business have decreased over the years. These companies will generally have complete coverage of the numbering space. They have a cost element because some carriers charge the CNAM service company for access to its list of customer numbers and names.
The RBOCs think they don't need the CNAM services.
The RBOCs http://en.wikipedia.org/wiki/RBOC before and after divestiture thought they had no need for the service. Up to 90% of the calls where local and they had close to 100% of the local customers, so they could just look it up in their own data. They even looked at this as a "profit" center since the competitive carriers tended to be for businesses who would have to pay for a "foreign" listing to get in their local database. So it made no sense to pay for a CNAM service.
Today, when Verizon and ATT wire line companies are no longer the majority local telephone provider in their footprints, this is not the case. But this change has come slowly and the realization of the situation has come even more slowly. The profitability of the RBOC wire line business has been approaching the negative and their taste for the installation of new systems is lagging.
To point out the problem, if a carrier handled 90% of the lines, then 0.9 * 0.9 = 81% of the calls will have CNAM. But if they only handle 50%, then 0.5 * 0.5 = 25% of them are local and will have CNAM, a much more noticeable amount.
Called parties don't care
In general most people don't notice the text that comes along with their Caller ID. The people who care about their calling text is the callers who are businesses. They can complain to their carriers that they are purchasing the telecommunications service from, but those companies are almost powerless to help. It is the carrier of the person that is being called, not the caller's carrier that must provide the service. This carrier does not have a direct business relationship, to the customer who wants the service to be performed.
Called parties that care are dissatisfied
Even those called parties that care about getting accurate CNAM on the calls they receive end up being dissatisfied. The calls they often care about screening are telemarketers who will block or mask their information. Since the carrier placing data in the shared CNAM databases is the carrier being paid by the telemarketer for phone service and they will oblige their customers requests for the text submitted.
The called who complains to their carrier about the bad or lack of CNAM they are told there is nothing that can be done about it. The only action the customer can take is refuse to accept the call, but most callers will not understand this reason for rejection, so it is a empty protest. I guess if we had a service to play a message "I'm not answering you call because ..."
Competitive carriers don't bother
The competitive telecommunications business has been getting tight. Finding cost savings are important, so saving the cost of paying for the database dips, on a per call basis, is an opportunity for savings. This is even more telling as the customers are paying on a fixed price basis rather than a per call bases, so per call costs have no balancing revenues.
In conclusion about a third of the carriers actually purchase the CNAM service from one of the providers. The ListYourself.net information is used to populate the databases used by the CNAM services.