I remember the times when I had an old Nokia phone as my main; there was some weird behaviour with Caller ID which was strange for me. When somebody with subscription to "Hide your number" service called me, instead of Caller ID "Hidden" was displayed except the cases when that person's number was in my contacts. However, there was something wrong with my land line because when I called my number from home phone it displayed "Unknown" even if the number was in my contacts. What is happening on the GSM/SS7/PSTN layer in those 2 cases?
Unknown: there is actually no caller id data given. Probably totally stripped by the sender, but can happen in other ways like between networks that have no conversion between the Caller ID standard they are using.
Hidden: the flag was set to say this is barred, the data is still sent all the way to the local telephone exchange of the receiver in most of the standards (there are several different caller Id standards): "When CNID is blocked at the caller's request, the number is actually transmitted through the entire telephone network, with the 'presentation withheld' flag set; the destination CO is expected to honor this flag, but sometimes does not"
Very good question!
Let me explain:
In every packet being sent to call centers there is a attribute of "hidden" this is a simple flag of true or false and so if the packet has this attribute set to "True" then the caller id will be hidden.
There is an attribute in the packet that holds the origin number that started the call. Since theses packets are editable this attribute is set to an empty number/erased attribute and so the call you are getting is actually from someone who stripped the origin number attribute in one of the two ways.
- Some carriers may attach a random number(Example: 0000000) to the original caller id when attribute is empty/does not exists.
- Some carrier may even drop a call with no attribute!
- While a number with the hidden flag is still in the packet and is recoverable by the carrier a "unknown" cannot be recovered and so strong spammers prefer to strip the original number attribute.