blog

Old Sites

Setting up free VoIP – An alternative to Microsoft Skype

Motivation

I am a long time Skype user, and not just the free service, but I also have had a yearly subscription and SkypeIn number for a couple years now. However, after major changes in Skype, I am been on a hunt for a usable alternative to Skype. Here are the motivations for seeking an alternative:

  • I am primarily a Linux user at home and have been for the past 7 years. Skype for Linux is certainly usable and even stable. However, it is riddled with minor bugs and years behind the Windows and MacOSX clients in features. Meanwhile, Skype releases minor updates to Skype for Linux about once a year.
  • Monthly and yearly subscriptions are misleading. They were once advertised as “unlimited plans”. Although it looks like they are trying to get away from calling them unlimited, there are still sections of their website that do still call it that.

    You may have seen me tweet in the past, “Unlimited this, unlimited that… except you can’t go over this amount.” It is really annoying when companies redefine words. If you look at the fine print, you’ll find a link to something called their “fair usage policy”. To summarize it states, “your subscription subject to a fair usage limit of 10,000 minutes per user per month, with a maximum of 6 hours per day.” I know, 6 hours per day may seem a bit excessive, but since I work from home, Skype has been my primary phone. On most days, I do not use my Skype features much, but yes, I do occasionally have to listen into hours-long meetings over the phone. When I do, I cannot count on Skype to give me the unlimited minutes I pay for.
  • Skype for Windows is now adware (I expect the MacOSX version to soon follow suit), regardless if you pay for Skype (subscription or otherwise) or not. I do not use adware, period. I understand companies’ need to make a profit. However, I never submit to allowing anyone to use my hardware as their personal billboard. I continue to use adblock software within web browsers to combat this epidemic. Maybe you don’t think ads in your software is a problem, especially for users that do not pay for any Skype features. However, consider this: Skype does not really maintain much of a network. You may not know this, but Skype is based on a piece of software called Kazaa. You may have heard of Kazaa. It was a file sharing application used most heavily in the early 2000’s after the shutdown of Napster. It was called “peer-to-peer” because rather than downloading files from a single server or website, you were actually downloading from someone else’s computer, with the traffic passing through a chain of users’ computers. That is to say, when Kazaa was opened, traffic for other people’s downloads were passing through your computer, using your Internet bandwidth. That’s actually pretty cool when you think of it as a community. Skype works the exact same way. Rather if you are using it or not, if Skype is opened, other people’s calls are passing through your computer, using your Internet bandwidth. In fact, if you have a faster-than-most Internet connection (like me), you might be used as a “supernode”. If you’re a “supernode”, your computer is being heavily used to route calls (More information and how to turn this off).
    The reason I mention all this is simple, you are already making your contribution to Skype just by having the dumb thing opened! You are donating your computers’ resources and bandwidth to Skype’s network! Why should you also be subjected to annoying advertising on top of this?
  • Microsoft recently bought Skype for $8.5 billion. In a press conference shortly after the announcement of the buy out, Ballmer stated:
    “I said it, and I mean it. Microsoft will continue to support non-Microsoft platforms because it is fundamental to the value proposition of communications… We are one of the few companies that has a track record of doing this. Take a look at the work we have done over the years with Office, for example, for the Mac.”
    Notice how a platform is either “a Microsoft platform” or a “non-Microsoft platform”. Wow… what a limited view of computing. What’s a “Microsoft platform”? Really, I am not sure what Microsoft considers a “platform”. They specifically listed Windows, Windows Phone, and XBox. Yeah… So… I guess Microsoft defines a platform as either your computer, your phone, or your gaming system. So what is a “non-Microsoft platform”? MacOSX, Linux, Solaris, and BSD distributions, iOS (iPad, etc), Android, Symbian, Maemo/Meego, Webos, Playstation, and Nintendo? I have no doubt that Microsoft will maintain (so to speak) Skype of Apple platforms. Microsoft and Apple have a business relationship. Microsoft needs Apple users to use Microsoft Office and Microsoft Silverlight. Otherwise, truly multiplatform Office suites like OpenOffice.org and LibreOffice might become too popular; and Microsoft Silverlight may not have been the delivery system of Netflix, which Microsoft is heavily involved in. However, the truth is, Microsoft has a very bad track record with “non-Microsoft/Apple platforms”. Microsoft has never and will never develop Silverlight on Linux. Instead, they cover up their bad track record by providing Novell a partial specification to develop Moonlight. You’ll note that Moonlight is a partial specification because it is incapable of playing Netflix (an attempt to prevent increased Linux adoption), without which Silverlight is pointless. Now that Microsoft owns Skype, I expect Skype for Linux to be discontinued and eventually non-functional. Microsoft does not develop software for “non-Microsoft/Apple platforms” unless they absolutely have to, and they don’t have to develop Skype on Linux. This would be really bad for Skype’s quality, because, by the way, a large percentage supernodes are Linux servers with high bandwidth.

An Alternative

I found all of this information on the web, but I did not really find it all pieced together in a nice way. I hope that this information will be helpful to someone. There are two routes I would suggest. One is Ekiga, which is relatively simple to set up. The other is one I will simply call “the alternative”, as it is actually a hodgepodge of services. First though, I will introduce some terminology.

SIP is “Session Initiation Protocol”, and it basically provides a method for peer-to-peer instant messaging, voice and video communication between computers.
A “SIP proxy” is a server that routes requests to the user’s current location. It basically provides you a “SIP address” that looks like an email address. For example, my SIP address is bigmalletman@sip.linphone.org. My SIP proxy is sip.linphone.org. A SIP proxy is not necessarily required. Without a SIP proxy, my current SIP address is my_profile_name@my_IP_address. However, carrying around IP address is cumbersome and assumes my IP will never change and that I will never switch networks. Using a SIP proxy will always point to my location, because it is updated on sign in (referred to as “registering”). So if you called me, you would call my SIP address.
A “SIP client” is the software you use to connect to SIP. Unlike Skype (where you have to use Skype and have no other options), SIP is an open specification. Anyone can program their own SIP client and anyone can start their own SIP proxy.
A DID (Direct Inward Dialing) service provider provides SIP-to-Phone. That is, it provides and ability to make calls to and receive calls from regular phone numbers. A DID phone number will receive calls and route them to your SIP address. A DID phone number may cost or may be free, but receive calls typically is free. Calling out is typically pay per minute (usually about $0.02/minute within your own country). Unfortunately I have not found any monthly or yearly plans for SIP calling, so I do not use this service.
SIMPLE is “Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions”, which is the way you can send instant messages, and away/back status with SIP. You probably don’t need to know that, but it is just a bit of vocabulary.

If you want to take an easy route, head over to ekiga.net. They will provide you with a SIP client, SIP proxy, SIP address, and direct you to a DID provider to purchase minutes if you want.

If you want a 100% free (as in cost to you) solution, take my “alternative” solution.

Get a SIP client

You may use any SIP client you want, but I am currently recommending Linphone. You can download it here.

Get a SIP proxy and SIP address

Again, you can use any proxy you want, but I am currently recommending Linphone. You can create a SIP address here. Any SIP proxy and SIP address should work with any SIP client, but you might notice there are some differences between SIP proxies. Namely, in how they handle multiple sign-ins. Some SIP proxies will ring all sign-ins, some SIP proxies will ring the last registered sign-in, and a few SIP proxies will crash and burn on multiple sign-ins (none that I am used though). By the way, Linphone seem ring the last registered sign-in. Another SIP proxy I used callwithus.com would ring all sign-ins; however, I stopped using callwithus.com because they deactivate your account if you do not make an outgoing call to a phone number after 3 months, which is really stupid, since some SIP users never use that feature or only receive calls.

To set up your SIP client to use your SIP address and proxy, you can follow my example:

I also recommend you set up a STUN server, which helps you out if you are behind a router and/or firewall:

There are many more options and preferences, but I won’t discuss those here now. Contact me if you need additional help.

To test your connection, make a test call to sip:904@mouselike.org or some other echo service:

Congratulations, you should now be able to make calls to and receive calls from other SIP addresses.

Get a free DID number

If you want to be able to receive calls from phone numbers, you need a DID number. Remember, most DID providers will not charge you to receive calls, and some DIDs provide free numbers. You can visit a DID provider called IPKall. They will provide you a free number in area codes of the state of Washington. Don’t worry about where the area code is. Fact is, most people today (except the elderly) have national plans on their cell phones and don’t concern themselves with long distance or what people’s area codes are. Also, you can use your Google Voice number to forward calls to your IPKall number. More on that later.
The IPKall number page doesn’t really use good vocabulary, and it is confusing. If your SIP address is “user@proxy.com”, enter “user” for “SIP username”, and enter “proxy.com” for “Hostname or IP address”.

Congratulations, you should now be able to make calls to and receive calls from other SIP addresses. Give yourself a call and try it out. IPKall will deactivate your number if you do not receive a call after one month! Call yourself once a month and pick up to avoid this issue! Don’t lose your number!

Tie it altogether with Google Voice

Now that you have a free number to receive calls for free, you can tie it all into your Google Voice account. If you do not already have a Google Voice account, I recommend you learn what it is. With Google Voice when you dial a number, Google Voice will call your phone(s). When you pick up, it will connect you to who you called. Therefore, all Google Voice calls are outgoing calls. Using Google Voice you can call out and receive calls with IPKall and SIP for free. However, you have to dial number using Google Voice, not your SIP client. To make this easier, I recommend you use Google Voice Adobe Air application found here.

Noticed I said before that you must receive a call once a month (or dial out with Google Voice, since that too is a received call). This is very important. You may have trouble adding your IPKall number to Google Voice. Google Voice only allows a number to be added to one Google Voice account at a time. When a user loses their number, they should release that number from their account. If they do not, Google will allow you to claim a number, but only allow this so many times per year. IPKall numbers have a short turn around time, since people do not call their own numbers at least once a month (did I mention, this is important). If Google won’t allow you to add the number, go back to IPKall, cancel your number, and create a new one. Try a different area code. Keep doing this until you find one that works. Once you find one that works, KEEP IT! If you lose your number or don’t want it anymore, please release it from your Google Voice account so that you’re not contributing to the problem.

Some last comments

One thing to keep in mind when using any VoIP provider, be it Skype, Google Voice, or SIP, is that there is a lag time. Unfortunately, the time you hear someone say something, it may have been said up to one second ago. This takes some time to get used to and some patience from both people in the call (you may need to let them know there is a delay). To test the delay, try this. Begin counting from 1, 2, 3, 4, … Have the other person on the line begin simultaneously counting as soon as they hear 5. This will allow you to hear the delay you’re dealing with. Now, have the other person on the line begin counting from 1, 2, 3, 4… Then you begin counting simultaneously as soon as you here 5. This will allow the other person on the line to hear the delay. The delay times vary based on your connection speed, what type of phone is used, and how many VoIPs are used. Using Google Voice with SIP or Skype adds double to the delay. I wish Google Voice would add a VoIP option to directly route calls so that the additional delay would not exist. Unfortunately, a VoIP option does not exist (yet), so you will have to set up SIP or Skype as a “Home” number (or “Mobile”, if you happen to have SMS on your VoIP).

There are tons of SIP clients. Pick whichever one your like. My cell phone (Nokia n900) has Skype and SIP built in (using Wifi or 3g, not airtime minutes). Linphone also exists on iPhone, Android, and Blackberry. These clients use Wifi or 3g, not airtime! This is unlike Skype, which uses airtime on many cell phones. This might be a problem if you drop out of 3g (I doubt 2g is fast enough for SIP), but that’s why you have Google Voice set up, so you can pick up any call on any phone you number you have. My wife is a MacOSX user, and she uses this.

By the way, many VoIP providers use SIP. The popular VoIP server Vonage uses SIP. Cable service providers use SIP to provide home phone. Microsoft Office Communicater is also based on the SIP protocol. SIP is a proven technology, and a great alternative to Skype.

I hope this is helpful to some one. Feel free to ask questions.

If you use Pidgin on Linux or the Google Talk desktop client on Windows, you can also easily make audio/video calls to other XMPP/Google Talk users (as long as both users are using Pidgin and/or Google Talk).

Login

Latest Blog Posts

Upcoming Events

Latest Tweets

Follow Me on Twitter

Latest Forum Post