Voice over IP is obviously big seller these days. Everybody wants to do it. But is VoIP really there yet? I mean, can you depend on it the way you rely on traditional telephony? There are some simple reasons to expect not:
- The systems are all very new. Joel Spolsky makes strong points that it takes about ten years for software to mature to being truly useful.
- The feature set is very rich, and growing steadily. Things like Shared Call Appearance and Busy-Lamp Field weren't part of the original ideas that made of VoIP. Yes, they were common PBX features. But to do it in VoIP, it has to be re-designed to function over a global network. When the developers (extremely smart folks that they are) add a new feature, they can easily break old features, and they expand the set of things that can break later.
- Rapid feature improvements mean reduced reliability. It's one of those pick-two-out-of-three tradeoffs: Stable, Packed with New Features, and Available Quickly. The VoIP folks I work with expect all three. However, "stability" doesn't sell. It's hard to describe, it's got to be hard to advertise and it can even be hard to tell when you've got it. So customers end up with the last two: Available Quickly (as in: that feature is available on date X) and Packed with New Features.
- VoIP with SIP suffers from some second-system effects. The Second System Effect, describe by Brooks, is when lots of new features are added to improve on what was missing in the "previous" version. The "previous" version here is probably SIPv1 -- which showed that simple telephony is possible. SIP is extensible -- like your belt, when you clip yet another electronic gadget onto it. So everybody's clipping yet another feature onto it.
- VoIP Implementors aren't traditional telephony implementors. People who implement VoIP networks generally don't apply the same level of scrutiny that traditional Bellheads apply. How do I know? Because I work with Bellheads; they take forever to test and confirm that a system works. Why does it take forever? Because they keep finding bugs. They're picky, and they're skeptical. (Yes, I'll admit, they do this to themselves -- they want every feature that existing systems have, plus all of intrinsic advantages of voice over packet system. And, no, I'm not saying this is necessarily the best way to do things. Maybe just getting a product to market would be better for everybody.)
There's a baseline to compare it with. When email came along and had its klunky moments, did we complain? Sure; maybe. But we all just "knew" email wasn't for sending large attachments. And that if "the mail server" was having problems, we'd have to wait to download our mail. And that "sometimes the Internet gets slow", and it takes an extra day for email to get through. But with telephony -- we have a baseline of expectations. We know how it should sound when we pick up the phone, what it should sound like after we dial, what the ringback sound should be like, what on-hold music should sound like, and what the conversation should sound like when we're talking.
That doesn't mean VoIP isn't great, whiz-bang stuff. Just don't expect a million-dollar VoIP development using ten-year-old technology to outpreform a 16-million-dollar deployment that's been in development for 130 years.