Posts Tagged ‘3cx’

 

VoIP – was it worth the switch?

Last year, I documented parts of the process of switching my phones over from a BT ISDN2e line to a VoIP service, using the 3CX software PBX. So, now I’ve been using VoIP for just over a year, has it been worth the work in switching over? And how much money have I saved?

Costs

As far as costs go, it’s a bit tricky to work out the exact figures, because obviously I don’t make the same calls all the time, but broadly speaking, I don’t think there’s been any significant change in my calling patterns – I’ve not suddenly acquired a need to speak more to friends and family abroad, and I’m doing roughly the same amount of work as I was before.

There are also some minor complications in terms of working out exactly comparable figures for billing, with VAT at three different rates in the two years concerned.

All that said, the costs have turned out dramatically lower. BT’s ISDN2e service is, in my view, massively overpriced, and you pay for just about every little extra – customer controlled call forwarding, caller ID, and for each of the extra numbers allocated to the line. The lowest recent bill I ever had was for £147 a quarter, the vast bulk of which was line rental and service fees. By comparison, switching to the SIP trunk from Gamma Telecom (provided via my ISP, Wizards) means I pay just £10 per month, plus VAT. That gives me two channels, which is what I had with ISDN, and there are no additional monthly fees for the numbers – which were all ported over – or for things like call diversion, and caller ID, which can all be handled by the 3CX software PBX in any case.

Compare that with the BT bill that I have for April 2010. Line rental and other ‘basic’ charges were £151.41 plus VAT for a quarter. £9.90 of that was for BT’s ‘Total Care’ package, which I took out after their mind-boggling incompetence caused me various losses of service in the past.

Even stripping that out, the rental of an ISDN2e line on its own is £103.41 per quarter; the basic two numbers numbers allocated to the line were an extra £2.40, plus an additional £19.20 for the next eight. Plus £8.25 each for caller ID and call forwarding. That’s £141.51 per quarter, or £47.17 per month. So, I’m now paying just 21% of what I was paying BT, for a broadly equivalent service.

In terms of call charges, that same BT bill showed calls costing £24.96 plus VAT; in the first year of using the Gamma SIP trunks, my total call costs have been £75.46, so I can estimate a saving of around a quarter, depending on call patterns.

Of course, I still need broadband to provide the SIP trunks, but I had that anyway, so I’ve not factored that cost in to these calculations.

Roughly, I’m probably saving about £470 a year, plus VAT, even after ignoring the fees for BT care, and the £9 a quarter they have the nerve to charge people who don’t give them permission to dip into their bank accounts. That’s easily enough to have paid for a brand new PC to run the 3CX software and a couple of VoIP phones, if I didn’t have them lying around.

Reliability

What of reliability? That, of course, depends on the broadband, and I have had a couple of outages over the year, which naturally left me out of contact by phone too, for a few hours at a time. Depending on your point of view, that may or may not be critical. But I can live with the level of service I’ve received, especially since I’ve had problems with the ISDN line in the past that have left me with no service there – sometimes due to BT and at the end, due to a complete hardware failure of my ISDN PBX. So, broadly speaking, at the moment, I’d say things are pretty evenly split.

I’m certainly glad to have seen the back of BT’s over-priced ISDN2e service at last and all told, around £500 a year better off, too.

 
 
 

Multitasking on the iPod touch

I have recently bought an iPod Touch, to replace an old iPod that got dropped in water. One of the reasons for choosing the Touch was the ability to run apps, including the 3CX softphone, allowing it to be used as an extension to my phone system.

I know this will not be a popular post with some people, but I have to say that my experience of multi-taking on the iPod Touch is horrible, and it’s certainly ensured that I won’t consider an iPhone when I next look for a new mobile. Apple makes some great products, and I just can’t understand how they came up with an implementation of multi-tasking that is so clunky, and actually makes Symbian S60 look like a shining example of good UI design.

20110606-022628.jpg

3CX phone allows me to use an iPod touch as an extension to my phone system

This is the 3CX phone in action. It works pretty well, and means that I can effectively use the iPod Touch to replace my DECT cordless phone, when I’m around the house or in the back garden. Pretty neat; as I’ve mentioned before, my phone system is all VoIP now.

Of course, for a soft phone to be useful, it has to be running, and 3CX goes into multi-tasking mode. That’s fine – I don’t want it to suddenly disconnect from the phone system and miss calls as a result. But what happens when an app is multi-tasking? You get a big red pulsing bar at the top of the iPod screen, that’s what. It looks like this:

20110606-022639.jpg

When an app is multitasking, this red bar appears at the top of the screen

In a way this is useful, as it lets me know the application is running, and I haven’t accidentally quit it, but I can’t help thinking it could have been a little more subtle, perhaps? Just turn the title bar red, maybe? That’s particularly important, because not all apps appear clever enough to know about this, and in some of them, if the red bar is at the top of the screen, the labels for some buttons disappear off the bottom. Oh dear.

Now, let’s see what happens when you double click the button on the Touch, to see the app list.

20110607-075455.jpg

In the list of apps, there's no context to say 3cx is different

This is the task switcher / list of recent apps. First, it seems to be essentially doing two things – allowing me to either close a running app, or remove something from the recent list. That’s fine, but there’s absolutely no context here. If the way that 3CX is running is significant enough to merit that pulsing red bar elsewhere, why isn’t it indicated here in some way too? If the app is multi-tasking, then closing it from here will stop it doing so and that might be important – in the case of 3CX, it means you won’t get your phone calls.

So, why can’t there be something to indicate that?

The other bugbear I have about this is that it all seems a hell of a palaver; I’m used to Symbian, and I know it’s fashionable to knock it, but if I wanted to kill an app, I’d hold down the menu key, pick it from the list, and press the C/Delete key to kill it. Job done.

Here, I’ve got to double click the button, then hold my finger on an icon until they all wobble and the minus sign appears, and then tap the one I want to kill, and then press the button to get back to ‘normal’ mode.

I really am struggling to see that as an advance. Yes, I know there are lots of things that iOS does that people think Symbian makes impossible; I know that many of the settings in Symbian are tucked away and confusing; and I know that I can just tap on an app in iOS and it’ll carry on where I left off, which is probably find for most users.

But I still really find this multitasking business – as described here, with 3CX – utterly bonkers on the iPod Touch. And since SIP functionality is something I consider very important in a mobile, it really has put me right off having an iPhone.

 
 
 

Upgrading to 3CX 9

Over the holidays, I took the plunge and updated my home phone system to version 3 of the 3CX software PBX. There are various improvements in version 9, including automatic blacklisting of IP addresses to help ward off VoIP hackers, and some options such as ringing your mobile at the same time as your extension.

The former will be quite useful – I’ve disabled direct SIP calls through my firewall at the moment, because once you turn them on, script kiddies will attack your PBX – though since my phone can connect to 3CX via mobile data, that’s cheaper than having the system call it the old fashioned way.

Installing the update

In theory, upgrading from 3CX 8 to 3CX 9 is straightforward. You use the backup tool to save your configuration (which can include all your voicemail files), uninstall version 8, then install version 9 and, during the initial setup wizard, you point it at the backup file, rather than walking through the installer and picking things like the number of digits for extensions, who’s the operator, and so on.

That’s the theory. In practice, it didn’t work. Installation went without a hitch, but then when the config wizard started, it told me there was a problem starting the ‘secondary database service’ and wasn’t able to go any further. The same happened when I tried to create a new PBX from scratch, thinking that perhaps I could then restore all my old settings.

In the end, the solution was pretty simple. After trying uninstalling and reinstalling a couple of times, I simply quit the config wizard when it started, and followed the instructions at the bottom of this article to perform a restore of the database from the command prompt.

That worked a treat, and got 3CX up and running again with all my old settings restored – aside from a couple of tweaks that were needed.

Time-based call forwarding

Some of the call forwarding rules that I set up using 3CX 8 weren’t imported to 3CX 9, because things are done slightly differently. For my business line, I use the Office Hours functionality of 3CX, ensuring that if anyone calls me outside 10am-6pm Monday to Friday, their call goes to voicemail.

I have a private number for family that always rings, and another number that I give to more casual acquaintances, like people I’ve chatted up. I obviously don’t want to be woken up in the middle of the night by a weirdo from the pub, so that number needs a different set of rules. Essentially, I only want calls to this number to ring between about 9am and 10pm.

In 3CX 8, that could be done by setting up advanced forwarding rules, which allowed you to specify certain hours in a rule, and direct calls accordingly, so to the voice menu during the daytime (which warns cold callers they may as well go away right now), and to voicemail the rest of the time. Incoming calls to the ‘public’ number were directed to a spare extension, which then used the rules to forward the call, and the voice menu would connect lucky winners to the phones in a particular ring group.

That’s not available in version 9, but there is a way to do it, once you get your head round how things work.

Forwarding rules in 3CX 9

3CX 9 Office Hours Screen

in 3CX 9, an extension's status can be set automatically, based on time of day

Forwarding in version 9 is done by the phone status, eg Away, Busy and so on. But there are also two Custom status as well, and these are key to controlling calls by time of day the way I wanted them to be.

First, on the Office Hours tab for an extension, you can now choose global or specific office hours, so my spare or virtual extension can have its own office hours set.

Below that, you can tick ‘Automatically switch Office Hours Profiles.’

Move to the Other tab, and set the status of the extension to Custom #1 if it’s in office hours, or Custom #2 if it’s not. Now, the system will automatically switch between these two settings, based on the time of day.

3CX 9 custom phone status

Use the custom phone statuses to control call forwarding by time of day

On the Forwarding tab, there are sub-tabs for the different statuses, so on Custom #1 I have calls set to forward to the voice menu for call screening, and on Custom #2 they’re all forwarded to voicemail.

Once you’ve made the changes on all the tabs, just click Apply at the bottom right, and you’re done.

 
 
 

Some quick thoughts on the Nokia N8 and SIP

I’ve got a Nokia N8 here at the moment, with the intention of writing about the experience of SIP on it. I’ll be doing that when I’ve finished tinkering. The good news summary is that, yes, it still has SIP supprt built in, though as usual on recent models, you need to download the SIP VoIP Settings app.

Once that’s done, configuring SIP is more or less exactly the same as I described for the E72. When you look at a contact, you’ll see the phone numbers listed for making a call, and again under “3cx call” or whatever you name your SIP service. Detailed instructions, and screenshots, will follow later.

First, though, I thought it worth mentioning the tremendously disappointing out of the box experience that I’ve had so far. And before people descend with the usual cries of “fanboy” or “hater” that characterise far too much comment on the net, I’d like to point out that I’m a longterm Symbian user, and I think the platform is written off by many people who don’t understand its strengths.

But, if I’d bought the N8, I’d very likely have taken it back by now. I have an E72, which is my daily phone and is stable, reliable, and with decent battery life. And because it’s a Nokia, it supports the Phone Switch application, which is supposed to make it simple to copy all your information, like contacts, text messages, and even your call log, from one phone to another.

So, I expected this to be plain sailing when setting up the N8. It turned out to be anything but, with the process hanging, and even making the N8 restart a couple of times. In the end, I managed to copy over contacts, text messages and call logs on about the sixth attempt, including using the ‘Reset and restore’ option on the N8 three times. That really isn’t the sort of experience anyone should have to put up with when they buy a brand new phone.

Many other people have written about the user experience of the newly tweaked Symbian platform, so I shan’t go into detail on that; essentially the way SIP works is much the same as on other recent Nokias, with an extra tab appearing in the address book, though now it simply has a link to sign in – on the E72, you have to mess around with a menu at the top of the screen. And instead of a second list of all your contacts, when you’re signed in, you just see the name of the account – contacts remain in the sensible place on the tab. Clicking the name doesn’t, as you might think, sign you out. Holding your finger on it doesn’t give that option, either – you have to press Options at the bottom of the screen.

And that’s just my first niggle. I just signed in, tried to switch to the list of contacts, and the phone restarted. During my admittedly limited testing so far, it’s also restarted in the middle of some SIP calls, or while placing a call.

Obviously, there’s more testing that needs to be done – but right now, I can say that yes, there is SIP support in the N8. Yes, it does work. But no, I sadly don’t regard it as reliable.

N8 SIP dialler

From the dialler, press Options and your SIP service (3CX here) will be available

N8 SIP contact

From a contact, you'll see the SIP service listed below 'Voice call'

N8 address book SIP tab

Sign in to the SIP service from a new tab in the address book

 
 
 

3CX message waiting and the Nokia SIP client

Here’s a quick tweak to my Nokia SIP configuration – if you have the free edition of 3CX, you can’t do this as it doesn’t support the Message Waiting Indicator, but if you have the demo licence or a paid for one, then here’s how to get a notification on your Nokia mobile phone when a new message arrives in your 3CX mailbox.

I’ll assume you’ve already set up your Nokia as a client for 3CX, following my previous guide. Now you want to go to the menu, Control Panel, then open the ‘Net Settings’ app and choose ‘Advanced VoIP settings.’

Now choose ‘VoIP services’ and on the next screen the service that you set up for your 3CX system, probably something like ‘sip.mycompany.com’, then on the next screen ‘Profile settings.’

Scroll down and below the items for Caller ID that I covered last time, you’ll find ‘Voicemailbox settings ID’ which should be pre-selected with the name of the SIP profile. Next you can select a preferred internet access point to use – probably your home WiFi network, or maybe a VPN if you set things up that way.

The ‘Voicemailbox resubscribe interval’ can be left set to 0.

‘Voicemailbox address’ is your extension number, an @ and the name of the sip server, so something like ‘176@sip.mycompany.com’ if your phone is extension 176. The next entry is ‘Voicemailbox listen address’ and looks much the same, though the number is replaced with the 3CX voicemail extension number – by default 999, though naturally being in the UK, I’ve changed that to something else. It will look something like ‘999@sip.mycompany.com.’

Now, when a message is received in your mailbox, you’ll get what appears to be a text message on your phone, notifying you (and the same will happen when you sign in to 3CX, if there are new messages waiting). Hold down the 1 key on the phone and you’ll get a popup menu asking which mailbox you want to call ‘Voice mailbox’ or ‘sip.mycompany.com’. Select the latter, and the phone will dial your 3CX voicemail for you.

 
 
 

Nokia E72 step by step VoIP and VPN setup for 3CX

I’ve just had a clear out of unnecessary crud from my mobile phone, and took the opportunity to set everything up from scratch, so you can see exactly how easy it is to get something like a Nokia E72 (or pretty much anything with S60 v3 Feature Pack 2) working as an extension for an IP phone system.

Nokia's Advanced SIP settings

Don't be put off by the 'advanced' tag - setting up VoIP on Symbian is easy

First, you’ll need Nokia’s SIP VoIP Settings app. Download and install this onto the phone, then from the menu choose ‘Ctrl. Panel’ and ‘Net Settings’. You’ll see a new ‘Advanced VoIP settings’ option here. Select that, and on the next screen pick ‘Create new service’ and when the pop-up appears, choose ‘Create new SIP profile.’

Create a new SIP profile

All you need to enter is your SIP ID and password

Now, you’re asked for the username – if this is extension 107 and the 3CX (or other VoIP) server is sip.mycompany.com, you type in 107@sip.mycompany.com. You’ll then be asked for the password, and then if you want to search for wireless networks.

It’s a good idea if you’ve saved the wireless network in your phone before starting VoIP setup, so you won’t have to enter the password here. Once the connection to the network has been established, you’ll see a screen with the message ‘Activate service’, and selecting that may connect you to the VoIP service.

In the case of 3CX, it probably won’t – there’s one more setting you need to change. So, go back to the Net Settings tool, select Advanced VoIP settings again, SIP settings, and then the name of your sip server, eg sip.mycompany.com. Scroll down to ‘Proxy server’, select it, and on the next screen, enter the name of the 3CX server in the ‘Proxy server address’ box.

Scanning for wireless networks

Set up your wifi connections first - it's easier

Now you’re done. You can sign on to the phone system in two ways; first, open Contacts, press left on the nav pad to get to the menu at the top of the screen, and select your SIP server there, then select ‘Activate service.’ You can sign out in a similar way.

VoIP accounts in Contacts app

Activate VoIP accounts via the Contacts app, or just by dialling

Alternatively, just enter a number on the phone, and the right hand soft key will be labelled ‘Net call.’ Press that, and you’ll be asked if you want to connect to the internet telephony service; choose Yes to sign on and make the call.

Out and about

So far, so good, but as I mentioned in an earlier post, connecting through firewalls can be tricky where VoIP is concerned, and using a VPN can make life simpler.

I’m using Telexy’s SymNC (which is a bundle of tools that includes SymVPN, which I mentioned the last time I talked about this). On the 3CX system, create a network connection for incoming connections, and specify a user name and password for it – you use the New Connection wizard in the Windoows Network Connections control panel, chose the advanced option, and ‘Accept incoming connections.’ I reserved a pair of IP addresses for the connection, one for each end. If you have lots of remote users, you’ll need more.

SymNC

SymNC includes Telexy's SymVPN app

Now, start SymNC on the phone, scroll down to ‘Settings’ and click OK. On the next screen, select ‘PPTP VPN’ – if you’ve just got SymVPN rather than the whole suite, this is the same as launching SymVPN.

The screen that appears is blank except for an ‘up’ folder. Press Options and choose Add new, then enter a name. This will be a Symbian network destination, like the access points for your mobile phone network; a name like HomeLan probably won’t clash.

After the name, select the access point to use, which will be your phone company’s mobile data service, and for ‘Host’ enter the name of the 3CX system (or the other system you set up to listen for incoming connections).

Creating an accesss point with SymNC

Select your phone company's access point, then enter your VPN host name

Below Host is the account option; this takes you to a new screen, where you choose ‘Add new’ once again, and enter the user name and password you created on the Windows server. Click Done to return to the previous screen, and Done again to return to the main VPN screen.

Now, select the entry you just created, click OK and select Verify. After a short pause, you should see a confirmation screen telling you the assigned IP address, DNS server and other information for your network. If this is fine, then VPN should work.

There’s one last thing to do. Go to the ‘Ctrl. Panel’ on the phone, select Settings, Connection, then Destinations. There will be an ‘Uncategorised’ option at the bottom of the list. Open this, and you’ll see the ‘HomeLan’ access point you created for the VPN. Use the Organise option to move it into the Destination for your VoIP service, which will be called sip.mycompany.com. It will be added to the bottom of the list there, and automatically used when the wireless network is unavailable.

Organising access points

Move the new access point to the one named for your sip server, and you're done

Try this out by either switching off the wireless network, or going outside the range, and dialling a number, then pressing ‘Net call.’ The first time, you may be asked if you want to allow the access point ‘HomeLan’ to be used automatically in future. Choose Yes, and after a short pause while the VPN is setup, you should be connected to your phone system.

If you have issues with caller ID, I covered some of those earlier.

 
 
 

3CX and Nokia mobile caller ID

As I’ve mentioned before, I used my Nokia E72 as a portable handset with the 3CX phone system I’m now using at home. The 3CX settings allow you to automatically convert numbers that are stored in the ‘correct’ mobile format, so that you can save a UK number as, say +442073169000, which is the switchboard for Incisive Media. When you dial a number like this via 3CX, it converts it to the appropriate format for dialling on the SIP trunks.

And the mobile networks do the same, so if you store numbers in your phone like that, you can dial them wherever you are, without worrying. Otherwise, dial an 020 number in the Netherlands, for instance, and you’ll confused a random person in Amsterdam.

Incoming caller ID on 3CX

The one final piece of the jigsaw, which I didn’t put together today, was the inbound caller ID on my mobile. Looking at the call log on my Nokia, I’d see entries like sip:02073169000@12.34.56.78 which is hardly friendly. And what comes up on the screen doesn’t match with what’s in the phone book on the mobile, which is annoying, as it means that names aren’t displayed correctly.

Worse than that, it means that I can’t use caller groups, which is something I always have set up on my Nokia mobiles. These allow me to put all the entries in the phone book into different groups, like VIP, Family, PR people, Friends, and so on. Then, you can assign a different ring tone to each caller group, and for each of the ‘Profiles’ on the phone, you can also choose which caller groups make it ring.

This, needless to say, is great for not being bothered – I tend to the view that my mobile phone is for my convenience, not that of people who might be calling me. So, if your phone number isn’t in my mobile’s address book, and in one of the groups, it just won’t make the phone ring.

I also have a neat app for Symbian called HandyProfiles. This can switch profiles automatically, based on things like location or time of day. So, most of the time my phone is on the ‘General’ profile, which rings for people in any group of callers (but not those who are in no group, or not in the address book). Every night, at 2300, it switches automatically to the ‘Private’ profile, while alerts me only to calls from numbers in the ‘Family’ and ‘VIP’ groups, and silences text messages. It switches back at 0930 the next morning. So, even if someone I’ve given my number to in a bar turns out to be the sort of person who calls strangers at 5am, they’re not going to wake me up.

How is this related to 3CX? Well, essentially, the mobile phone wasn’t recognising numbers from 3CX and matching them against the phone book correctly, so the only way my E72 would actually ring was by setting it to alert me to all calls, when I have it connected to the PBX. That loses me the call screening, and also the ability to know from the ring tone whether I have to be professional, filial or sleazy when I answer the phone.

The solution

Fixing this turns out not to be too tricky, and involves delving into the settings of the Nokia SIP client. Choose the ‘Net settings’ app, then ‘Advanced VOIP settings’ followed by ‘VoIP services.’ You need to install Nokia’s SIP VoIP Settings app on recent phones to access VoIP functionality, incidentally.

Next you’ll see a list of the VoIP services configured on your phone; pick the one for 3CX, select Profile settings and scroll down the screen. You’ll see two options relating to caller ID.

Nokia's SIP settings

Dive into Nokia's SIP settings and you can fix up the recognition of numbers called via VoIP

The first, ‘Count of VoIP digits’, controls how many digits are considered significant for matching caller ID.  I’ve set this to ten, which is the length of a UK number, less the initial 0; I did set it to 11, but that didn’t work, probably because most of the numbers in my phone are stored in the international format.

Below that, the option ‘Ignoring domain part’ is set to ‘On’, which removes the domain from VoIP ids, if there is a number part, essentially.

Having done that, now when I receive a call on the E72 via 3CX, from a number that’s in my mobile phone book, it’s correctly recognised, so I can once again set the phone to not ring for numbers that I don’t know.

There’s one other useful change, which relates to how 3CX flags up numbers. If you have ring groups or multiple inbound numbers – like the block of 10 that I ported from my ISDN line – then you can give a name to each. In fact, ring groups have to have a name, and are used to allow several phones to ring simultaneously (for example, for my entry phone).

The 3CX Console

Identify which number was called by adding a name to the caller ID in 3CX

3CX can append or prepend these names to the caller ID, and the Nokia handset will still show them when it can’t match the number (or if there is no number). So, you’ll see something like 02099990000:XD:VIP if someone has rung the number you’ve called ‘XD’ which has sent the call to the ring group called ‘VIP’. I’d recommend appending these, rather than prepending, as you might not see the whole number on the phone’s screen otherwise. You’ll find this option in the 3CX console under Settings, General, on the ‘Global Options’ tab.