While Asterisk is the darling of the open source iPBX set, there are other open source iPBXs lurking in the woodsand even out in plain sight. Over the next few weeks we're going to talk about SipX. SipX is a modular SIP proxy server that claims to be very stable, scalable, and reliable. It is relatively simple to administer via its sophisticated graphical administration interface. SipX and is both free of cost and open-source software, licensed under the LGPL. So strictly speaking, it's not an iPBX in the same sense as Asterisk, but it makes a dandy iPBX anyway.
Like any software PBX, SipX does lots of things. Here is a sampling:
- Hunt groups
- Call parking
- Auto attendant (aka digital receptionist)
- Voicemail with e-mail notification or delivery
- Plug-and-play phone configuration
- Support for any SIP-compliant phone or gateway
- Call history
- Call detail records
- Hold music
- Call transfer, forward, blocking, call waiting, do not disturb, caller ID
- Encrypted authentication via SSL/TLS
- Load balancing and automatic failover
- Automatic restart after power failure
Because it is a SIP proxy, SipX supports a substantially higher number of users than Asterisk and similar servers. How does this magic occur? Because it uses the SIP protocol in the way it was designed to be used. SIP separates the signaling and media streams. The signaling stream handles the job of registering and authentication, then the audio stream can travel by the most efficient route between endpoints, even bypassing your SipX server entirely. This also results in better call quality. Asterisk and similar servers make themselves the endpoints, so all of your call traffic must go through them. The other bottleneck is transcoding on the server. SipX hands this job off to your endpoints, so it doesn't get bogged down with this CPU-intensive chore.
The SIP protocol itself is designed to be carrier of all kinds of real-time media streams, so your SiPX server should be able to move any kind of real-time media traffic, such as instant messaging and video.
It is easy to distribute SipX's different feature servers across different physical servers for high availability, and to scale upwards. SipX works equally well as a fancy home VoIP server, all the way up to enterprises like Amazon.com, which support thousands of users.
SipX is sponsored by Pingtel, which also has a commercial version called SIPxchange. SIPxchange is the same as SipX, except that it comes with support and training. In addition, the closed-source Call Center Server is availabe to add on to SIPxchange. Because of its closed-source license, it cannot be bundled with SipX.
SipX runs on Linux on x86 hardware. For IP telephony that's all you need. If you need PSTN integration (analog or digital) add a standalone media gateway like the Cisco 2600, Mediatrix 1200 series, or Vegastream boxes. SIP has emerged as the universal VoIP protocol, so anything that supports SIP should do the job for you. (See VoIP Supply's Voip Gateways page to get an idea of prices and features.)
How much of a load can a SipX server carry? Way lotswe'll cover this in more detail next week. SipX performs well on dual-core CPUs and likes a lot of RAM, from 1 to 2 gigabytes.
Pieces of SipX
SipX has no fewer than twelve separate components; the three main pieces are a Communications Server, a Media Server, and a Configuration Server that work stand-alone or together. Here's what they do:
- The Communications Server provides the core PBX and call-routing functions
- The Media Server handles auto attendants, automatic call routing, and voicemail
- The Configuration Server provides a Web-based graphical interface for configuring calling functions, user management, and phone provisioning and management. There is also a nice administration page for users to control voicemail, forwarding, and whatever other features the server administrator gives them control of
Documentation and Downloads
SipX is hosted at SIPFoundry.org. Here you will find downloads and reams of good documentation, plus the usual mailing lists and archives.
Come back next week and we'll get started with installing SipX on Fedora Linux, find a good SIP softphone, and start getting connected.