Open-source telephony

Introduction

A few open-source projects are now available to build a PBX using a regular PC and some telephony equipment such as devices to connect it to the phone network (analog or digital), and IP phones to build an IP-based telephony system.

If you are just getting started with telephony, IP or otherwise, I suggest you first read up on VoIP so you get familiar with what it is and what it can do, and then, set up a test network with Asterisk or sipX.

What to choose?

Software

As of May 2006, the projects that have the most traction are Asterisk and sipXPBX. The former is more well-known as it's been around for a few years now while the latter was only open-sourced in 2004.

To determine which to choose (or go for another solution, altogether), sipX doesn't support so-called FXO cards, ie. PCI cards that connect the PC directly to an analog line, so you must get an external box that acts as a bridge between the phone network (FXO card) and the LAN (SIP), or, alternatively, you can subscribe to a VoIP carrier so you just need an Internet connection and the the carrier handle the IP-to-POTS gateway. By design, sipX obviously only knows the SIP protocol, while Asterisk is more flexible. Also, both only run on Linux, although an out-dated port of Asterisk is available for Windows (but Linux is the platform of choice and where most of the work is done.)

If you need a PBX application that runs on Windows, here are some of them either open- or closed-source. Some are under active development, others seem on hold. Some are well supported under Windows, others clearly get less attention than the Linux version. Some have active support, while others get lots of questions... and few answers. Some compile to native code, others require a run-time (Java, etc.):

IP phones

Two SIP hardphones for your Asterisk PBX by Joe Barr

BiCom Systems' PBXWare

Asterisk

More infos in its own page.

sipXPBX

"sipX is a next generation IP PBX solution offering rich functionality combined with ease of use, installation, and administration. sipX is entirely based on the Session Initiation Protocol (SIP) and significant attention is paid to standards compliance and interoperability."

"Prior to releasing the solution into open source, sipX was a commercially deployed IP PBX solution called SIPxchange. Pingtel Corp. continues to market and sell subscription services for SIPxchange (or sipX)."

"The difference between Pingtel and SIPfoundry is comparable to what Red Hat has done with Linux.  Open source Linux is available from an open source community called Fedora, but if you desire enterprise-grade software, support, documentation, training, and the confidence you expect from an enterprise application then Red Hat is the obvious choice."

"All configuration data (users, devices, permissions, dial plans, credentials, group policy, CDR data, etc) are stored in a Postgres database."

"sipX is a fully distributed system that today consists of 9 independent server components"

What FXO cards work with sipX?

Unlike the FXO cards for Asterisk, there doesn't seem to be any PCI card that can be used with sipX. Instead, you have to get a stand-alone FXO gateway to talk SIP, ie. connect the POTS line to its FXO plug, and connect the device to the LAN through which it will talk to the sipX server. This makes sense, as sipX is marketed as being a SIP-based product, unlike Asterisk which is protocol-independent.

"For additional analog lines in your house we recommend Grandstream HandyTone gateways . An FXS gateway is used to connect to the PSTN (e.g. Mediatrix 1204, Audiocodes, or other)"

"Polycom, Snom and Grandstream phones are known to work well. Also Linksys / Sipura phones are good, although not plug & play managed."

Resources

SIPSP-PBX

Testing:

3CX PBX

PBXnSIP

SIP Express Router (SER)

"SIP Express Router (ser) is a high-performance, configurable, free SIP ( RFC3261 ) server . It can act as SIP registrar, proxy or redirect server."

SIP Express Router

OpenSER

uCasterisk

"The goal of this project is to build a completely open telephony hardware platform. Both the hardware and the software will be freely available under the GPL. The target cost for a complete IP PBX (including multiple analog/BR-ISDN ports or a T1/E1) is $200 to $400. Imagine an Asterisk-powered IP-PBX in the form factor of a DSL modem - no PC required. The project is being developed around the Blackfin processor - a powerful, low cost DSP/RISC processor that can perform DSP processing and run uClinux."

Bayonne

PBX4Linux

"PBX4Linux is a real ISDN PBX which interconnects ISDN telephones and ISDN lines".

Yate

YXA

Project goals for YXA include "creating a robust SIP server/stack capable of serving tens of thousands of users"

Brekeke OnDO

Axon Virtual PBX Software

FreeSwitch

CallWeaver (ex-OpenPBX)

4S Newcom

SIPCAT

miniSipServer

Nero Sipps (ex-SippStar)

Communigate

Per the license agreement ("2. PERMITTED USES. Community / Small Business (5 Accounts): This Free License allows you to use the CommuniGate Pro Software for your personal needs and/or for your organization's own business needs. Trial (Unlimited Accounts): This Free License allows you to use the CommuniGate Pro Software for evaluation purposes."), CommuniGate Pro VoIP PBX and Applications is free for up to five users.

Swyxware

www.swyx.com

ProntoX

www.prontoPBX.com

Q&A

For Asterisk, FXO card or gateway box?

"Unlike a FXO card, the Sipura 3000 has pass thru. If you lose power or the server is down you can still receive calls because the signal is passed thru from one side of the ATA to the other. As far as I know, no card currently support pass thru (if someone else knows please let me know which card does, I'm willing to be corrected). The Sipura 3000 cost about $100 it is both a FXO and FXS unit."

Resources