Well god forbid anyone think I'm sticking up for big telecoms, but I can't think of a way of implementing this. The problem is that the after the initial dialling the telephone number isn't used for routing. It's carried as an data field that can be changed at any time to whatever. Telephone numbers don't have a physical reality, like website names, they're convenient for humans, but only used by the network to find a network address that could be anywhere in the world. There's no physical connection either between callers; instead the conversation is broken into packets each of which is routed independently by any of the available circuits. The system is highly efficient and resilient, but I'm not aware of straightforward way in which a source can be uniquely identified. Tracing stuff needs comprehensive access to the routing tables, which change rapidly, may be locked or abroad, and time is needed to backtrack through them.
Telephones use much the same technology as the internet, and the problem can be illustrated by using traceroute to see how I connect to the forum:
traceroute to http://www.model-engineer.co.uk (77.68.77.131), 30 hops max, 60 byte packets
1 bthub (192.168.1.254) 4.221 ms 4.144 ms 4.112 ms
2 * * *
3 * * *
4 62.172.102.70 (62.172.102.70) 10.927 ms 62.172.102.68 (62.172.102.68) 14.268 ms 62.172.102.70 (62.172.102.70) 10.877 ms
5 peer8-et3-0-6.telehouse.ukcore.bt.net (62.172.103.133) 13.322 ms 62.6.204.197 (62.6.204.197) 13.163 ms 11.799 ms
6 linx.bb-d.ba.slo.gb.oneandone.net (195.66.236.98) 15.960 ms 11.936 ms 12.132 ms
7 port-channel-4.gb-glo-sgngdsr02.oneandone.net (88.208.255.4) 14.042 ms 13.963 ms 15.156 ms
8 109.228.63.205 (109.228.63.205) 13.341 ms 13.388 ms 13.290 ms
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
The trace took 30 jumps to get from my computer to the forum and only 8 of the steps played nice and provided any information. The first doesn't help at all – it's my router! Stages marked * * * have been configured not to respond to a trace, and getting access to the information would need special permission from whoever runs that part of the internet. And even then, this tool only gives names and IP addresses, not the underlying hardware addresses.
Spoofed phone numbers are easy to fix only if you don''t understand how networks route traffic! It's not like when the village postmistress knew the vicar was talking to the squire, and Mrs Jones was connected to Griffiths the Grocer! Anyone who could solve the problem at reasonable cost would make a lot of money. Or be recruited by GCHQ!
Design is 'quite interesting'. Most engineering solutions are compromises, and it's not unusual for them to be brilliant at some things and useless at others. Not easy to make a car into a decent submarine, or a submarine into a decent car,,,
Dave