Thursday, October 25, 2007


Yes, I do intend to actually use this thing. Why don't I start now with a bit of a technology review?

I have a client who was in need of a better phone system. He had outgrown his Iwatsu system - it did the job, but was completely proprietary and closed. The only way to make even simple changes like adding lines to existing hardware was to have a 'factory trained technician' use a super-secret management software to change the settings. I suspect that I could have done a lot had I connected it to a terminal emulator, but no documentation was available. To become 'factory trained' was exceedingly expensive. So, we decided to move on.

The client had some specific needs. He wanted to be able to support at least 6 lines and 8 extensions right away with the opportunity to expand beyond that. He wanted robust call management facilities like auto-attendant, and the ability to completely self-administer. We primarily considered two groups of products: turn-key PBX systems from well-known manufacturers, and open-source based solutions. My inclination of course was to go with an open-source software, but the client wanted to keep the solution simple, and I couldn't guarantee that, even if we enrolled a specialist to install and support the system. We found more of the same with the major brands as with Iwatsu - lack of self-management, and a lack of a middle-of-the-road product.

That's when the client discovered SimpliPhones on the Costco website. Their gimmick is a full-featured phone system that you can install yourself in about two hours with no special knowledge. They also offer only a few packages up front, keeping the choices simple. The price point is middle of the road, and with the Costco return policy behind it, he was inclined to give it a try. I tentatively signed off on the idea, not having a better solution to offer.

The Installation
I drove to the client site early on a Saturday for the installation. The client had ordered the eight-line, sixteen-extension system. It came complete with a PBX 'server', sixteen phones, and three complete wiring kits. The first step was to situate the 'server'. (I will stop putting the word 'server' in quotes now, more on that later.)

The server can be mounted with its base to the wall, or mounted to a standard 19-inch rack. A sturdy steel case allows it to be mounted at the front only, which made placing it amongst the other servers fairly simple for the two of us. The installation guide would have you mount the server, connect it to power and network, and then power it on and wait for a DHCP-assigned address to appear on the front panel LED. I don't run DHCP there, and they suggest to either temporarily enable DHCP or to use auto-address assignment. However, I had gathered that you could access the settings directly by connecting keyboard, video and mouse to the back of the system. I'd known that it was a Windows based system, but it was interesting to see Windows XP come up on the screen. An IE 7 window was open to the web-based configuration utility.

The Heart of the Beast
I skipped the middle-man and used Windows instrumentation to assign an IP address, then rebooted. This time I took a look at what was running on the system, and was almost appalled. It seems that most of the PBX functions are run by processes sitting inside several terminal (i.e. command prompt) windows, which sit open on the logged-in session. This means that if you were to accidentally close one of these windows, some function of the server would stop functioning. Unless these are only logging windows, but I did not get that impression. All in all it feels like a rather slipshod implementation. There were a lot of debugging statements on the screen, letting me get in to the minds of their programmers a bit - no offense, but I did not gain confidence from this.

The hardware is, if I recall correctly, a 2 ghz Celeron with 512 megs of RAM. Certainly more than enough for this type of application.

New-World or Old World?
Once we were connected I started following through the installation wizard. This is a web-based system that was designed by untrained monkeys. I have seen more polished user interfaces on Junkyard Wars. The first stages of the wizard do a reasonable job of talking you through identifying your phone system's hardware. In our case we have a 66-block punch down board, for which they provide convenient slide-on connectors. This part was easy, aside from some confusion over questionable choices made in the course of installing and expanding the previous system. All of the connector groups consist of an RJ45 connector which expands to four pair of connectors. As I said before, they give you three complete sets: block-66, block-110, and 'loose wire'. They come neatly labeled with the purpose of each pair. This part I was very happy with.

Now, the phones. This was another beef. I don't have the jargon for this, but the phones work on regular telephone signal and are controlled completely by touch tones. For example, on a lot of PBX systems when you press 'hold', a signal is sent over a separate control channel telling the system to hold the call. On this system, the 'hold' button is simply a macro for 'Flash, pause, pound' followed by two digits. What this means is that you have to wait fully three seconds for the system to finish holding the call. If you hang up before this point, YOUR CALL IS DROPPED! Customers don't like that. I'm sure it would be second nature before long but there is a serious learning curve. Same goes for any function on the phone. Likewise, after one function, you have to hang up the handset in order to initiate another action. So you can't hold one call, then immediately pick up another. At one point I shortened the 'flash' time on the phones, but if it isn't long enough, it doesn't trip the analog relay.

Another big difference we weren't expecting, is that nowhere on the phones does the system indicate which incoming (trunk) line is being used. It also uses a 'personal hold' and 'global park' system. Again it is simply habit: instead of 'call holding on line 2', you have to say 'call holding on park 1'. The auto-attendant and call management features will eventually make up for this once the client makes some other changes.

One of the nice features of the system is a rather full-featured control software that can run on the Windows systems next to each phone. This is a Visual Basic app (which doesn't function neatly with Vista, as of this writing) which is much more polished than the web interface. I'm certain the interface was designed by someone of different species from whoever built 'SimpliSetup'. It provides park, trunk, hold, and caller ID status. It also allows lots of functions like transfers. A nice little perk, but due to the shortcomings of the phones it is essential to full-featured operation.

Basically Visual
Back to the setup. At one point in the setup you are asked to identify each extension. If you go forward one item too far, you have to start over. This was annoying when I was working on the seventh item. There are a lot of poorly-explained options - perhaps explained better by the voice-over which I couldn't listen to, or the text box which wouldn't scroll down. Some contextual help would be good here. Many of the buttons don't do exactly what you'd expect. The 'advanced setup' is somewhat better, especially for editing extension and trunk options, but still falls short of what I would wish for.

Bottom line: if you're okay with running your phones on Windows, and are willing to make some accommodations for the system's little foibles, it's a reasonable option. For what it's worth, in the first week the system already needed to be rebooted once. I'll be setting up Nagios service checks to verify that essential processes stay running.

Personally, I won't be recommending it again until it has a little more polish on it. I do hope that time comes, as this is ostensibly a US-based company who I'd love to support.