I’ve been using VoIP (voice over IP) telephony since 2004 and recent move to a new flat made me rebuild the whole configuration and was a good opportunity to review it and see how much I could have earned with VoIP?
Back in 2005 when I built my first home VoIP telephone I really had one important reason to do this: make international calls as much affordable as possible to allow my wife call her parents frequently. At that time calls to Russia were rather expensive from Poland (and they still are) but there was VoIPDiscount.com who offered free VoIP calls to most countries in the world as soon as they were made to landline numbers. Which was perfectly sufficient, as the parents had one. Calls to mobile numbers are not free, but still way cheaper than those done over a commercial operator.
VoIPDiscount has a software client, but that means occupying the computer for the whole time of the call. The solution was to use a VoIP gateway, which allows you to hook a standard telephone to VoIP via a tiny device connected to local network. Enter Sipura SPA1001. Sipura was the original company, then Linksys, then Cisco. Cisco has finally discontinued the original device which was not very nice as it had one great feature: you could configure two VoIP operators on single gateway.
In practice this means, that when I pick my handset I’m calling via VoIPDiscount, the cheap operator. But when I push the hash key (#), the gateway would switch to another VoIP operator configured on the device. And since VoIPDiscount doesn’t give you a phone number, it was the easiest way to have a landline number at home, for the benefit of people calling me. For that purpose I used a Polish VoIP operator called IPfon and I’m using them to this day, having subscribed to a couple of Polish landline numbers which I use for various purposes.
So, to summarize: thanks to the small box which costed around $50 back in 2005 I was able to make free calls to landline numbers in Russia and other countries, regardless of their time. In my case, this means hours of calls per month, both to landline and mobile numbers abroad.
Sampling my bills for three months, I have estimated that the total call time in a year was around 1700 minutes, at a cost of around $60 (mostly due to mobile calls). If I wanted to make the same number of calls over larges Polish telco operator TPSA I would pay around $560 — so it’s order of magnitude in difference. Over the 10 years period which I’ll be soon reaching, it will allow me to save around $5000 on my home bills. And, which is also an important factor, if these calls were not that cheap my family would probably refrain from making them and spend less time socialising with the remote relatives.
VoIP call quality
Low quality of VoIP calls is frequently raised as an issue that prevents people from using VoIP at home. This is indeed an important argument: VoIP doesan’t need much bandwidth by today’s standards but it needs rather low latency or the voice quality will be impaired by jitter and noises.
And most home broadband networks are used for multiple purposes, including gaming or file sharing, with the latter being probably the worst enemy of VoIP as it tends to saturate the link completely. Solutions to this problem is technically simple — using traffic control (quality of service — QoS) on your router — but most people have no knowledge required to configure that, and home routers usually don’t even have such feature.
I solved this problem with OpenWRT which is an free replacement operating system that can be installed on most of the popular home routers on the market. In my case it’s TP-Link TL-WR2543ND, which is rather powerful, but I’ve used much cheaper models previously as well. OpenWRT offers QoS as a free add-on and it’s relatively simple to configure. You can see my full configuration on the screenshot below and in most cases the only thing you’d need to adapt to your conditions is your bandwidth (which you can measure using broadband speed test).
These rules will do the following with your traffic:
- Give absolute precedence to services requiring low latency (like VoIP) at the cost of services that can wait (BitTorrent, Bitcoin). These services are selected using both port numbers (5060 for SIP) and IP addresses of SIP proxies of my VoIP providers. This happens for outgoing traffic only, because I have not control over incoming traffic and on ADSL I'm more concerned about packets going out as the uplink is more likely to be saturated.
- I have little control over incoming traffic, except for TCP connections. If we shape their speed on our end, the other end will adapt and start sending slower. This is why you need to specify your bandwidth (downlink and uplink) and enable "calculate overhead"
SPA1001 problems with EthernetA few months ago, just before I changed my flat, my SPA1001 gateway has seemingly broken down — it was powering on, but wasn't able to connect to the network. It had its years, I thought, and decided that it's the network port that has broken most likely. So I decided to buy a new one... and discovered they are no longer sold by Cisco. Sipura SPA1001 is a kind of legendary device now, as it's no longer being produced, and no replacement is available on the market that would have exactly the same convenient feature of two operators configured on single device. On VoIP forums you can find information on how to install old SPA1001 firmware on devices currently sold by Cisco, but it's not really something you want to waste your time for. Fortunately, it looks like the manufacturers from China and Hong-Kong are still selling SPA1001 clones on Amazon and eBay under different names — e.g. Linksys-Cisco SINGLE FXS RJ11 ANALOG ADAPTER ( SPA1001 ). I bought two such devices and when they arrived after a few weeks I discovered... they don't work! The symptoms of SPA1001 "freezing" over Ethernet after some time continued. I even attempted to separate the SPA1001 device from the physical network, while still having it connected to it logically. I used TP-Link 702N, which is a tiny WiFi gateway that can be used to connect Ethernet-only devices to a WiFi network. By the way, if you do Arduino, along with Arduino Ethernet shield the gateway can be used as a cheap replacement for notoriously expensive Arduino Wifi shield. I spent some time diagnosing them and the problem seems to be somewhere in their network adapter, which seems to be freezing after around a minute from being connected to a modern switch with other modern networking devices. I don't really know what was that — Ethernet autosensing or something else — but the problem seems to be quite consistent. Seaching in VoIP forums confirmed that this problems in endemic in SPA1001, which is not so surprising, taking into account they are over 10 years old devices.
Enter OBIHAISomewhere on the forums someone mentioned positive experiences with OBIhai OBI100 VoIP gateways. They are cheap as well and readily available in UK. I've purchased one and they indeed seem to work like a wonder. Here are the most important facts for former Sipura users:
- OBI100 is configured over Obihai cloud website and then download their configuration immediately. While this takes some control out of your hands, the initial setup is very easy. Actually, they come with a preconfigured support for their native VoIP network which can be used instantly after connecting them to the network.
- Adding another VoIP operators (up to two in OBI100) is as easy as going to the web interface at ww.obitalk.com and configuring basic details, such as SIP proxy, ports, username, password. My two VoIP operators — IPfon.pl and VoIPdiscount.com — look like this after configuration:
- Having two SIP operators on one telephone you need a way to switch them. The first one is default (SP1 above). To switch to the second one (SP2) you need to prepend **2 to your number (in Sipura the switch code was #). This is very simple, but you can actually build very sophisticated "call routes" for both incoming and outgoing connections in OBi (see OBi Device Administration Guide).
- There are various Obihai devices available on the market. The simples OBI100 can connect one headset with two VoIP operators. But if you also want to use your traditional landline, you should buy OBI110 which has additional landline port (and I should have done that, as everyone seems to be getting a landline with their broadband in UK). There are more of them, with more advanced capabilities. </ul> As I'm always very interested to learn about new better VoIP operators, if you think I could do something better or cheaper, feel free to drop comments below!