A short PHP script that demonstrates how to do caller ID spoofing in Asterisk. Reading through the code should explain how to do it in other languages.
This is F.O.B. (Flexible Orange Box), inspired by the popular S.O.B. (Software Orange Box) program for Windows.
When connecting SIP FXS devices with a Class 5 switch, the ATA will not see a Call Waiting presented to it when there is a Call Waiting. Thus, it is necessary to signal the FSK directly to the CPE in-band from the switch. Asterisk does not have any provision to do this, so this needs to be done with an external program.
This program is intended to be a legitimate Type II Caller ID Generator, used for the purpose of Call Waiting Caller ID (Of course, functionally, it can be used just like any other orange box to spoof call waitings if desired - we are not responsible for any misuse of this program). This allows you to send Call Waiting Caller ID to a remote endpoint, even if no Call Waiting is presented to the remote endpoint (e.g. Analog Telephone Adapter), allowing for CWCID to be provided even when advanced bridging capabilites are being used, by "orange boxing" in band for legitimate purposes.
An online service that acts as a telephony middleman - you tell them what number to call, what number you want to show up on both Caller ID and the bill, and what your number is, and they'll connect the two numbers with the spoofed information of your choice.
The Test Call is the homepage of a free (and legal!) service that offers some telephony debugging services, such as echoback (say something, it records it and plays it back), DTMF identification, a 4KHz sweep for audio quality, and caller ID checking.