A long time ago, in a telecom world far, far away, there was not much choice when selecting a PBX. The big iron “DeathStar” PBXs soon became known as the Evil Empire for their proprietary and closed nature, not to mention the need for an expensive truck roll for even a simple firmware upgrade. Soon there came “A New Hope,” with the invention of the PC-PBX (and IP-PBX) which ran on Microsoft Windows NT (and later 2000). It ushered in a period of civil war. PC-PBXs striking from their base of Windows users have won their first victory against the evil Galactic PBX Empire.
During the battle, rebel Linux users managed to steal the plans for the PC-PBX concept, and extend it to the armored and bullet-proof Linux platform station with enough power to destroy the telecom world as we know it!
TMC Labs examined Pingtel’s SIPXchange PBX, the first open-source SIP-based PC-PBX (or IP-PBX if you prefer) that just may revolutionize the telecom world. Yes, that’s right, we said “open source.” We know what you are thinking, and yes it is a fully functioning version of their software, which you can download free of charge from the open source project called SIPfoundry, Inc.
Since Pingtel has gone “open source” and they are now a 100 percent software company (they sold off their hardware phones), the way Pingtel will make their money is via several different methods. They offer various levels of software subscriptions (standard and premium), provide stable software, software updates and upgrades, certified testing, installation and management tools, interoperability certification with fully disclosed test results, and more. In addition, they offer 24x7 technical support for paid subscribers and valuable non-open- source codecs.
Installing the SIPXchange PBX was pretty straightforward. We had the option of loading Red Hat Linux first and then loading SIPXchange or just using the bootable CD containing Red Hat Linux and Pingtel software already pre-configured. We opted for the latter, even though it meant our PC preloaded with Linux Red Hat v8.0 would be formatted and overwritten with the older 7.3 version of Red Hat. They did inform us that their 2.6 release will have support for RedHat 3.0, Enterprise Edition. In any event, after rebooting the PC and booting off of the CD, we were able to install Red Hat and SIPXchange, which was pretty much an automated process. We configured our DNS and DNS SRV entries on our DNS server to identify the SIPxchange server as well as the default SIP port 5060 for both TCP and UDP.
We should point out that the SIPxchange PBX can detect new patches to install. Importantly, if a problem occurs, you can “downgrade” your software back to the last version.
The documentation consisted of Acrobat files, which were very good. The quick installation guide was very easy to follow and included step-by-step instructions for installing SIPxchange. The Acrobat files all contained Tables of Contents for easy click-navigation and some also contained useful indexes. One of the Acrobat files was a voicemail “cheat sheet reference guide” whose size was perfect for sticking in your wallet. There was an excellent troubleshooting guide as well.
The SIPxchange PBX supports G.711, G.729a, and GIPS iLBC codecs but can also support third-party codecs as well. In fact, phones can be configured to utilize a preferred, ordered list of audio bandwidth compression codecs on a per-phone and per-group basis. So in theory you can configure your system to allow company management to use the best codecs with the most bandwidth utilization and leave the rest of the personnel to use higher-compression/lower-quality codecs.
SIPXchange features “Automatic Route Selection,” which includes the ability to re-write SIP URLs to specify the “next hop” (or destination) for a SIP message. This can be used to direct messages to different IP/PSTN trunk gateways (either on premises or at remote premise location) based on any portion of SIP URL (including E.164 number).
Other features include:
- Support for DNS SRV lookups;
- Assign Q values for routing to create hunt groups;
- Routes, authenticates, and authorizes calls (SIP messages);
- On-board software Media Server providing automated playing and recording of audio files along with the call control required to provide such functions as voicemail, auto-attendant, and interactive voice response applications;
- Optional SIP Softphones;
- Analog or digital (ISDN/T1/E1) trunk line support;
- Aliasing functionality (Associates alternate names or extensions with primary extensions, similar to e-mail aliases);
- Browser-based configuration system;
- Can control whether a given user or phone is permitted to complete the call being dialed (E.164 number or SIP URL) or on message containing valid SIP credentials;
- Implemented within the Communications Server (including Auth Proxy, Contact, Security, and Status Modules);
- Standards-based support for Message Waiting Indicator (MWI) on phones; and
- Browser-based voicemail access.
End user features include the usual ability to put calls on hold, conference, transfer, etc. CallerID is available and you can even program a distinctive ring based on the incoming phone number. Direct inward dial (DID) is supported to let inbound callers bypass the auto attendant. For outbound dialing, a corporate directory (via LDAP-based Pingtel Phone Book application) lets you dial by name very easily from your phone.
SIPxchange performs all of the necessary SIP functions in order to connect and redirect SIP calls, including a SIP registrar, a SIP proxy, as well as a SIP Authorization Proxy that determines whether authorization is required, and if so, verifies the sender’s authentication credentials and permission settings. If successful, the call is passed onto the destination specified in the request URI of the message, such as an IP-to-PSTN gateway.
Two important components of SIPxchange include SipProxy and SipRegistrar. For requests that SipProxy forwards to SipRegistrar, the response may contain zero, one, or multiple alternative addresses for forwarding the request. The SipProxy uses forking to forward a message in situations where there are multiple matching addresses. If there is a single matching address, SipProxy forwards the request to that address. If more than one address matches, SipProxy uses serial forking, parallel forking, or a combination of both forking methods to forward the message. This occurs when a request URI resolves to more than one contact, for example, when you set up the same user line, such as a customer support or sales line, on multiple phones. To use forking, SipProxy finds the Qvalue in the SIP URL of each address. For SIP URLs that do not have an explicitly defined Qvalue, SipProxy uses a default value of 1.0. The SipProxy then orders all of the SIP URLs based on their Qvalues, from highest (1.0) to lowest (0.0), and tries each one in sequence (serial forking). The SipProxy tries all of the SIP URLs that have the same Qvalue at the same time (parallel forking).
After installing the software and configuring some users/phones via the Web browser interface, we made some test call combinations involving a Pingtel phone, a Cisco 7960 phone and a snom 200 phone — all running SIP stacks and all connected to a Cisco 2500 XL Inline Power Switch, which supports Power over Ethernet (PoE). Since some of these phones support Power over Ethernet (PoE), simply connecting the devices to the Cisco switch was all we needed to do for the phone to become powered, acquire an IP address from the DHCP server, and finally download the configuration file from the SIPxchange server which assigns the extension and other parameters. You simply have to love the ease of VoIP!
Next, we had both a Mediatrix 1102 and a Mediatrix 1204 media gateway, which were installed in a virtual “remote branch office” to test WAN VoIP functionality. We then connected an analog Teltone simulator (provides trunk lines) to the 1204. Finally, we connected analog phones to the 1102 and the 1204 and all the appropriate network cabling.
We then performed some test calls from all of the VoIP phones to each other, as well as analog phone-to-VoIP phone (across WAN) and VoIP phone-to-analog phone. Then we initiated a call using an analog phone connected to our Gordon Kapes central office PRI simulator. From the analog phone, we dialed through the emulator using a standard 10-digit number (i.e., 1-203-555-1234), which connected us to SIPxchange’s media server/auto-attendant. We were able to then enter in an extension to connect the call.
All of these test calls were completed successfully without any difficulty. In addition, we also configured an older version of Windows Messenger v4.7 that supports SIP (via Communications Service) to register with SIPxchange. We were then able to initiate and receive calls on this SIP client as well. Although SIPxchange is not directly responsible for the voice quality (SIP is an IP signaling protocol which sets up peer-to-peer connections), it still bears mentioning that the voice quality was very good on all the test calls. For kicks, we decided to test the MOS scoring from the Pingtel phone to the Cisco 7960 VoIP phone. The voice quality score for the test was a very good 4.31641 MOS.
Linux lovers will love the ability to manually configure the configuration files directly, simply by using a text editor to edit the XML files. In addition, the product supports VoXML, which actually drives the IVR/auto-attendant/ voicemail system. In fact, the default VXML scripts bundled with in the Media Server can be replaced by customer’s own VXML application and you can use any commercial VXML integrated development environment.
We should mention that setting up hunt groups is a snap. You simply assign Q values for routing to create hunt groups. For instance email@example.com Q1, firstname.lastname@example.org Q2, etc. Tom Jones would have priority before Sally. You can assign the same Q value to ring multiple SIP URLs/phones simultaneously.
Room For Improvement
The Web interface is pretty good, but doesn’t fully expose all of the configuration data. In order to truly customize the system you may need to edit the XML configuration files. While only a minor nuisance, we’d still like the Web interface to have equal power and flexibility to the XML files. Pingtel notes they are making improvements in the GUI in the near term.
The voice messages and prompts are stored in uncompressed WAV format. This is fine for playing back prompts over the phone, but if you plan on receiving voicemail via your e-mail, it will unnecessarily waste bandwidth. Support for .mp3 file format or compressed WAV files would be nice.
The SIPxchange IP PBX has a very comprehensive feature-set, especially for a “first version” product. Pingtel has great expertise in SIP protocols garnered from their SIP phones that they obviously carried over to SIPxchange. Not only are third-party servers capable of supporting SIPxchange, but Pingtel also certifies third-party system components to offer a complete solution — this includes phones, media gateways, and other SIP applications. Pingtel’s 100 percent software solution using the open-source model and utilizing SIP support running on Red Hat Linux, which you can download and install for free is surely going to shake up the PBX/IP-PBX market.
Return To The October 2004
Table Of Contents ]