Our VOIP Phone system updated

We switched our phones over to 2talk VOIP in 2010 and until recently haven’t touched them – they just worked.

In that time we have grown and taken on more staff including a new practice manager (Maryanne). Fairly early on Maryanne started suggesting that we needed better phones, phones where you could see who was on what line and transfer calls around with the push of one button instead of three or four. Also I’d recently added yet another Panasonic analogue cordless phone with a Cisco SPA and couldn’t get decent call quality out it so I decided to revisit the phone system and see if we could go with VOIP handsets rather than using SPAs to connect analogue phones.

The broad requirements were:

  1. Better quality voice calls (quality seemed to have dropped off as I added more cordless phones!)
  2. Easier method of transferring calls
  3. A way Maryanne can see which line is in use (so she doesn’t transfer calls when we are on the phone already)
  4. A cordless phone for Baubre

First up I called my friendly account manager Mat at On Networks and asked for his advice on phones (I know I could have just got Mat to install one of their excellent VOIP PABX systems but where is the fun in that?). Mat promptly told me more than I needed to know about phones and lent me one of their Cisco SPA 303 IP phones.

The configuration was similar to the SPA adapters I had so I set it up and gave it to Maryanne. That sorted out requirements 1 & 2 for her.

For requirement 3 (see who is using their phone) Mat told me to look at BLF (busy lamp field) on the Cisco phone. I did and set it up but no go – looking at the debug logs BLF did not work with 2talk – disaster. So I logged a call with 2talk and they came back to say it was something they were working on but not date as to when it would be available – it was released the following week and after a bit of trial and error following the 2talk instructions  I had Maryanne’s phone showing busy lines in red – the only problem was there were not enough lights on the 303 for one for each person, so back to Mat to buy a Cisco 508G with lots of lights. Requirement 3 solved (and Lucy got the Cisco 303 on her desk).

Last requirement – a decent VOIP cordless phone for Baubre. Back in 2010 I’d purchased a Gigaset from Nicegear and had to return it as compared to a Panasonic handset it felt cheap and more importantly Baubre didn’t like it.

I went back to Nicegear and found that Panasonic now had a DCET VOIP cordless offering, the KX-TGP 500B, and at a pretty good price. One base station could support up to six handsets (three concurrent calls). Reviews were good, Hadley at Nicegear liked them, so I bought a base station and handset (I knew Baubre would be happy if I replaced her Panasonic with a …. Panasonic).

I almost didn’t need to configure this one, just put in the details needed to find 2talk and it worked. Really nice look and feel and excellent sound quality once I changed the default codec to be PCMA/G711a. I bought a couple more handsets, one to replace my cordless and one for a roving phone. Last requirement sorted!

How good is hyper-v 2012 R2 (free)?

Very good actually!

It isn’t often I get enthusiastic about Microsoft products these days but hyper-v 2012 R2 (free) is a Really Useful Engine.

We are an SME, we have a virtualised environment and we use free virtualisation products as in our space I can’t justify spending $ to virtualise a server. Besides I’m an IT guy and I always try the free stuff first.

Between 2007 and 2009 we virtualised our office running remote XP PCs and an SBS 2003 Server under VMWare Sever 1.0 then 2.0 on Ubuntu 8.04 LTS servers on inexpensive low end Dell tower servers. It was 100% reliable, performed reasonably well and didn’t take much effort to manage. Once a month I’d plug in a USB drive into an Ubuntu server and run a script that snapshotted each VM, copied the vmdk files to USB, then removed the snapshots. At the same time I’d apply any outstanding Windows updates to the SBS server (with ensuing painfully long installation and reboot) and the much faster Ubuntu updates that didn’t require a reboot. Once every six months or so I’d shut everything down and restart it – it seemed to need this as performance slowly dropped off over time.

A couple of years ago I looked at changing from VMWare 2.0 server to ESXi version 5.0. The ESXi install was easy and it worked fine in my test environment but I found the free version without Virtual Centre quite lacking, specifically backing up VMs, importing and exporting VMs  and accessing USB drives from the service console. All these things I could do easily on VMWare 2.0 but looked hard on ESXi free (although GhettoVCB looked like a good option for backups). In the end I put it all in the too hard basket and moved onto other things.

This year I decided to get on with it as I was worried that VMWare 2.0 server was getting very old and would bite me soon. ESXi 5.5 was out and hyper-v 2012 R2 had recently been released, and there was a free version of it. On paper the free hyper-v  looked to have all the functionality of the paid version apart from the GUI. What really appealed was the hyper-v server would allow me to map drives, mount USBs disks and export or backup VMs easily from the command line and via scheduled tasks – all those things that were easy with VMWare Server 2.0 but not with ESXi.

So I decided it was worth a test drive. I wasn’t really looking forward to installing a Windows server but hyper-v couldn’t have been easier, download the ISO, burn to DVD, boot, answer a few questions and five minutes later I had my hyper-v 2012 R2 (very free) server running. The only problem was no GUI management tools.  While powershell lets you do everything from the command line being new to the hyper-v world I really wanted to start with a GUI tool and then graduate to the command line after I know it all worked.

To manage it with the native GUI tools I needed a Windows 8.1 PC to run the RSAT tools or install a free GUI tool on the hyper-v server. I tried out a few free tools, the most promising one was ProHVM free for personal use. With it I was able create, start and connect to VMs, however when I tried more complicated tasks such as importing VMs in place it had problems. So reluctantly I decided to upgrade my Windows 7 PC to 8.1 (it came with an upgrade license included).

Hyper-v installs in 5 minutes, not so Windows 8.1. First it was upgrade to Windows 8 as my license was for Windows 8 not 8.1, then run the free 8.1 upgrade from the app store. I got there in the end, it wasn’t a pleasant experience, but I learnt a lot and one day I may write it up.

Next challenge was connect to the workgroup hyper-v server from my domain PC. I really wanted to keep the hyper-v server standalone and not dependant on a domain controller that would (all things going well) be a guest VM on that server. Well it is doable, and I got it working using the instructions here but in the end it was still a bit hard and whenever something didn’t work as expected I was unsure if it was caused by the lack of domain membership. So I joined the server to the domain and this made it much easier.

I used StarWind V2V converter to turn my VMWare VMDK file for a Windows XP PC test VM into a vhd file then created a VM in hyper-v for it and attached the disk. After a couple of reboots, an install of the hyper-v client integration tools, and a reactivation of XP the VM was working perfectly – performance excellent.

Next up Ubuntu 12.04 VM, no problems it just worked. Once booted I enabled the inbuilt support for hyper-v. The only thing I didn’t like was very little info was being output to the console on boot  for the linux VM. After a bit of searching and trial and error I found editing /etc/default/grub to uncomment GRUB_TERMINAL=console then running update-grub resulted in a much more informative boot process.

The last VM to come across to my test system was the SBS 2003 server, all 120GB of it using the same process I used for the XP VM. It worked fine.

Time for some fun – I built a second hyper-v server so I could test some of the more interesting features such as live share nothing migrations, replication, and import from another server (interestingly the i3 PCs we use won’t run hyper-v VMs under Windows 8.1 as they lack SLAT but if you install hyper-v 2012 R2 free they will).

Imports/exports/share nothing migrations/replicas – it all just worked and was really easy. As I get older I appreciate easy stuff. I moved the XP VM between hyper-v servers while logged onto it via RDP and I didn’t notice it, the connection stayed up while the 120GB vhdx and running state of the VM was moved. Very impressive, and all this for free.

That was enough for me – the next weekend I rebuilt our VMWare 2.0 servers as hyper-v 2012 R2 servers and converted the VMs. The only hitch in the entire process was I couldn’t connect to the VMware servers using the VI Client any longer (probably because I was using Windows 8.1, too new for the old VI Client I had) so I had to use a mix of the web interface and command line tools to start and stop the VMware VMs.

Having the domain controller as a guest on the hyper-v server doesn’t seem to be a problem, it caches credentials so I can log on and do stuff even if the DC is down.

Backups – we have a belt and braces approach. We backup our file share within the SBS VM to idrive and also sync it to google drive using insync. At a VM level the VM exports are so fast and non intrusive that I run a powershell scheduled task each night to export all VMs to disk, then copy to a USB drive. We keep a weeks worth on USB and rotate USB drives.

All up a good result, very easy to manage, performance excellent (better than under the old VMWare, not sure how it would compare to ESXi), and easy to backup.

Next up – do something with the SBS 2003 server VM, it is end of life. Much as I would like to replace it with a Samba 4 server the sensible choice looks to be Server 2012 R2 Essentials as a VM.

Update: I did it. SBS now replaced with 2012 R2 Essentials.