Asterisk is a complete PBX and telephony toolkit in software. It runs on Linux, *BSD, MacOSX, and Solaris. It provides all of the features you would expect from a PBX and more as it enables developers to build customized voice applications of many types. Asterisk does voice over IP in many protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.