VoIPowering Your Office with Asterisk: Making Skype Play Nice
Skype is a VoIP force to reckon with. While proprietaryand therefore crankyit can be made to work with Asterisk.
The Skype VoIP network is extremely popular, as it should be: Calls to other Skype users are free of cost, and it's very easy to setup and use. You need a computer and the Skype client, which is a free download for Linux, Mac OSX, or Windows. Skype also runs on Wi-Fi phones, with no need for a PC, for the chic wireless set.
So Skype has all sorts of lovely money-saving applications: friends, family, and businesspeople can all set up Skype accounts and yak for free from anywhere to anywhere, as long as they can find broadband Internet.
Skype is nice not only because it's free, but also because it's an advanced, sophisticated protocol. Call quality is superb, easily better than all other VoIP services. All calls are encrypted with 256-bit encryption. It supports instant messaging and file transfers. Hook up a cheapie Webcam and you have instant (though rather herky-jerky) video calls.
You can use a headset connected to your PC, or get an adapter to connect an ordinary telephone. (You still need your computer.) System requirements are relatively modest: 400 MHz processor, 128 MB RAM and 15 megabytes free hard drive space.
Free services include contact management, free calls to all other Skype users, call forwarding to other Skype names, chats with up to 100 users, and conference calls for a maximum of five callers. Commercial conferencing services are expensive, so this feature alone sells Skype to a lot of business users.
Pay services include PSTN integration, which means you can call or receive calls from the old-fashioned telephone network; voicemail; text messaging; and frivolous stuff like ringtones and custom profile pictures. (Note to ringtone fans: I know this is hard to believe, but you're the only ones who enjoy head-piercing digitally-mangled lo-fi music. Might I suggested some nice earphones.)
Skype is third-generation peer-to-peer networking. If you want to wax philosophical, this was how the Internet was originally intended to work. Not as some gigantic server feeding glop to us like baby birds, but a de-centralized multi-node method of communication and sharing.
Skype scales indefinitely with the greatest of ease, because the need for central control and switching is very small. Every new Skype node adds processing power and bandwidth. The company is bit shy of providing details, so I'm guessing there are some central servers for controlling sensitive customer data and other essential functions, but otherwise "the network is the computer." This has made them the envy of VoIP providers who use traditional centralized switching and routing systems, which are far more expensive to support.
SIP is the dominant VoIP protocol because it is an open standard, is fairly simple to implement, efficient, reliable, and flexible. It has one big flaw: getting it through NAT firewalls is a huge pain. Skype traverses NAT with the greatest ease.
Skype's NAT-friendliness is also a disadvantageif you want to keep control over the traffic entering and leaving your network, Skype is not your friend. (We'll take a closer look at this in a future article.) But that is solvable. Skype's biggest disadvantage is it's difficult to integrate it with other VoIP networks. Skype is a closed, proprietary protocol, and so far its creators (the brilliant brainiacs Niklas Zennstrom and Janus Friis, inventors of Kazaa) have shown no interest in integration.
Integrating Skype with Asterisk
Asterisk users have been clamoring for Skype integration since forever. Sure, you can use them side by side, but wouldn't it be nice to make Skype part of your Asterisk diaplan and network, instead of a separate service? So there are a number of projects in the works to bring the two together. Here are two Skype-to-Asterisk projects, or more accurately, Skype-to-SIP, that are worth taking a look at:
Chanskype takes a unique approach. It uses VNC, which is a cross-platform remote graphical desktop application, to run separate instances of the Skype client each in its own virtual display environment. The Skype instances appear to Asterisk as separate channels, so Asterisk admins can manage their Skype channels in the same way as any other channels.
The free demo is rather bizarre- all you need is a SIP softphone, but then you're limited to three minutes' of testing on the ChanSkype servers. If you want to install and test it on your own server, calls are limited to 15 seconds, which is not enough time to test call quality or much of anything. A personal license is only $19, which is cheap enough for some serious testing.
PSGwPersonal Skype to SIP and H.323 gateway
You can use this with a standalone Skype account, or with your Asterisk server. Configuring networking for Asterisk integration is a bit of a pain, because PSGw needs its own routable IP address to avoid port conflicts. Another problem is it doesn't forward DTMF tones, so you can't do the "press 1 to foo, press 2 to bar" dance, though support for this will appear in future releases. PSGw is inexpensive at $39.95 for the Windows version and $19.95 for Linux, and there is a free demo you can try.
There are a number of hardware devices for integrating Skype with your iPBX, mostly on the expensive side. I haven't had a chance to look at any of them, so take a look at the Skype Gateways page on VoIP-Info.org to see what's available, and to get other useful information.