Asterisk
Asterisk is an open source PBX system. I have installed such a setup at my home. I have Asterisk configured to use two upstream analogue connections to Telstra exchanges. One of these is advertised is my voice line, and the other is advertised as my fax line. If a voice call comes in my voice line, but it is busy, it gets redirected to the second line. Asterisk will immediately answer the phone and check if it is a fax or not. If it is not a fax, it will cause all the extensions to ring. If it is a fax, then Asterisk will receive the fax using internal DSP algorithms.
I have Asterisk connected to a analogue cordless telephone via a VOIP box, and several other analogue extensions. I also use the TDM400 card with 2 FXO (exchange ports) and 2 FXS (extension) ports. My server is running Debian stable (sarge), using Asterisk I recompiled from unstable (sid).
Initially I had Asterisk running under a Xen DOM0 on snoopy, but unfortunately this suffered from serious latency issues. It was also rather insecure. I have since transferred it to a dedicated IP04 box.
Also see my wiki page.
Benefits
For me Asterisk provides the following benefits:
- If one extension is left off hook, incoming calls can still get through on the other extensions.
- Minimum confusion when multiple answer the same phone call at the same time.
- Voice messages get emailed to you.
- Other people can't barge in and interrupt.
- Maximizes the use of two external telephone lines. We don't receive faxes often, and having a line dedicated to faxes seemed a waste.
To be fair, some of these advantages could be achieved with any PBX system. However, Asterisk is the only solution I know of that I can afford. When I inquired about a cheap commercial PBX system, I found the minimum cost (from memory) was about $4,000.
Disadvantages
The disadvantage with Asterisk is that is is extra complexity, and this could in theory make the telephone system less reliable. This has to be considered against features that make it more reliable, e.g. one off-hook phone won't bring the entire system down.
The other disadvantage is that there are new procedures to learn for transferring calls between phones.
It is also worth noting that Asterisk does not mean incoming phone calls get redirected to the desired person. This is because Asterisk has no way of knowing which person the phone call is for. A interactive menu would fix this, but I do not like interactive menus and I suspect my callers do not like them either. Another possibility would be to send the caller to a particular extension based on their caller-id.