I was rushing a bit earlier; I should expand a bit on what we have.
As I said, we have 2x ISDN lines, with a block of 10 DDI numbers. The system can be set to respond to each of the numbers in different ways. For example the main published number for the company is xxxx00, which is set to have most of the phones ringing, so anyone can answer a call. xxxx05 just rings the phone on my desk.
We even route the fax through the system, so as far as the system is concerned, calls to xxxx08 are just another call that's sent to the extension that has a fax machine on it.
We can change the caller ID that each extension shows to the outside world - ie an extension can show its DDI number - but I've just got everything showing the main number, or some of our stupid people get confused by it.