I consider my knowledge on "ANI" to be pretty extensive, so I want to make this post.
Even though many of you probably already know this, there are two different types of ANI defined in SS7:
- Calling Party Number (
CPN)
- Charge Number (
CN)
The rules of what passes through call forwarding vary, but let me do my best to explain based on the common occurrences.
When a call is forwarded from one destination to another, the CPN passed is that of the
calling party (the line initiating the whole phone call). The CN passed is that of the
forwarding number (the line that is forwarded to another destination). Since Caller-ID is derived from CPN, its number will be treated the same unless it is blocked.
There's one major exception people often forget. When an ANI-fail is sent from the calling party initiating the call, the CPN that is passed becomes the forwarding number instead, just like the CN. In this circumstance, there isn't a CPN number to send other than the forwarding number's, so it makes sense why this occurs. An op-divert is therefore effective for this.
When you're dealing with toll-free numbers (WATS 800/888/877/866), the data will also vary. In most cases, the calling party's number is passed when diverted through a toll-free number
directly. That means without going through a platform like a PBX of some sort first, in which case the PBX's own ANI types are passed instead, unless programmed differently. It's also very common for a toll-free number to "trap" the calling party's CPN and resend it as Caller-ID, regardless of whether the Caller-ID was originally blocked. This is literally what
Trapcall does, as a common example. But keep in mind that provisioning and translations vary all over the telephone network in switches and PBXes of all sorts, so while there's the common occurences in which data is sent, it can always vary. There's WATS, cellular calls, types of forwards, etc. Always use trial and error to know for sure; that's what ANACs are for.
Now regarding K7, I know it used to receive CN first, and if that wasn't available, would go for CPN. At least that's how I remember it. I know that the company that runs
K7 and other services,
International Telecom Ltd., switched their common services over to Asterisk, and changed other things around. I forget if they removed the ability to see the ANIs of the people who leave messages, but I'm sure someone here could confirm or deny that. What's important to keep in mind is that if you have your line forwarded to an "ANI Trap" of some kind, it needs to receive the
CPN specifically, and
NOT the CN! If it receives the CN, you'll always get
YOUR phone number, rather than the calling party's, for the reasons I explained earlier.
One last thing as a disclaimer: I am not condoning anyone to "trap and trace" anyone else's phone numbers without following all laws and having all parties' permission when legally necessary. I'm just explaining how things work around here; ya feel me!?
EDIT: uReach always received CPN, but I just noticed that their site no longer offers the free trials! Am I missing something here? Please tell me it's hidden somewhere or something. That was such a great service to trial when needed.