Who invented Brexit?

Today I went to visit the Museum of London, which is just round the corner from the Barbican.  What I was actually there for was to see a bit of the BT Connected Earth collection, of which there was a small part there including a K2 phone box, a few old mobile phones and a line card from the UK’s first ever digital exchange to enter service, called the Empress (because it was installed at the Empress trunk exchange in London, having been developed by the GPO Dollis Hill research centre in the 1960s).

Continue reading

Review: Snom D765 VoIP phone

So I thought it was time I replaced my existing Snom 370 telephones, after 7 years, with a new model.   After much waiting, eventually the phone I was after came on the market, and so I bought two of the Snom D765 phones.  The Snom D765 is an updated version of the Snom 760, with better hardware inside.  The new design is considerably different to the Snom 370, and looks a lot more modern.  The new phone is taller and not as wide.  It also has a colour screen, but you’d hardly notice because not much of the screen is in colour except for the green box to show the phone has been registered.  (I suspect the colour screen works a lot better when you start including photographs of your contacts)

The Web interface is largely similar to previous Snom models with a few extra features.  However, I think they’ve got some bugs to fix on the firmware because pushing certain buttons on the Web UI causes the wrong thing to happen, especially when you push red crosses to delete lists of missed calls etc.  The really irritating thing is that the IPv6 support works, but I cannot understand for the life of me why on earth it will not resolve AAAA records.   The only way I can get it to work is to put IPv6 address literals in instead!  (And yes, I have reported the bug.)  Once I did that, it connected to my IPv6-capable FreeSWITCH installation perfectly.

What can I say about this phone?  Well, it’s a Snom.  If you’re used to previous versions of the Snoms it’s pretty much more of the same.  However, they’ve got some stupid bugs to fix in the firmware but otherwise the phone works fine.  Still no Opus support yet which is a shame.  Also new (relative to the 370s) are Bluetooth and USB sound card support so you can plug in a USB headset, and multicolour (red/green/yellow) LEDs, unlike the 370 which only had yellow.  Lots of possibilities with that, I’m sure once I’ve worked out how to control them.

Likes: New modern design, IPv6 support, USB headset support, colour screen
Dislikes: Firmware still full of stupid bugs, lack of Opus support, can’t resolve AAAA records.

Rating: 8 out of 10.  Nice phone, needs some work on the firmware


Fibre to the Premises On Demand

Today I’ve noticed (following the announcement a week or so ago by Openreach) that the BT Wholesale line checker thinks that Fibre to the Premises on Demand (FTTPoD) is now available at my property.   This is what the checker displays if your exchange/aggregation node is enabled:


FTTPoD differs from the “normal” FTTP product in that you have to pay a hefty installation fee to get it installed, running into four figures, depending on distance – but once installed, the rental is charged at “normal” FTTP rates, although you’re tied into the top price 330/30 Mbit/s tariff for the first three years.  Once this period is over, it effectively becomes a “normal” FTTP line and you can have any speed that you want to from Openreach’s portfolio (e.g. 110/10, 220/20, etc.)

The advantage of FTTPoD over FTTC is that absolutely no copper is involved, so there’s none of this “up to” 80Mbit/s nonsense – although it’s not a guarantee, you get none of the disadvantages that using DSL brings, like interference and Christmas tree lights causing errors and slowing the connection down.  Due to the way that GPON works, the downstream bandwidth is shared and split up to 32 ways, and the upstream bandwidth is effectively guaranteed since it uses time-based multiplexing to give everyone an equal share of the upstream bandwidth using time slots.  So, in theory, although you could get less than the maximum bandwidth downstream, all 32 users would be having to max out their downstream links before that would happen.

FTTPoD will eventually be available to everyone who is currently connected to a FTTC cabinet.  This is because Openreach fit a so-called “Aggregation Node” (AN) in the road which the FTTC cabinet is connected to.  The AN is effectively an optical junction box where the FTTPoD fibres are fed from the exchange, so for the installation fee you’ll get a fibre installed all the way from the AN to your premises, which will be connected to a fibre back to the exchange, so it really is entirely fibre from the exchange to your house, and it really does not go through the FTTC cabinet, as some people erroneously seem to believe.

It is possible to fit an AN in the road and supply FTTPoD or FTTP without building an FTTC cabinet, so it’s possible this option may be offered in some places, perhaps in Exchange Only line (EO) areas where there is no cabinet between you and the exchange at all, but never the other way round – if you have FTTC already, you will be able to get FTTPoD eventually since the cabinet has to be connected to the AN.  Openreach are rolling out FTTPoD slowly to FTTC-enabled areas, announcing groups of new exchanges quarterly, so not everyone is able to get it yet.

The other catch is that MOUs (e.g. multiple occupancy offices) and MDUs (e.g. blocks of flats) are not eligible for FTTPoD, so those properties may well have to wait and see how the G.Fast trials go, which are supposed to provide up to 1Gbit/s over short runs of copper which are fibre-fed to a distribution point outside the property.

D-Day for D-Digits

Ofcom, the UK telecommunications regulator, announced last Thursday that for the 01202 (Bournemouth/Poole/Christchurch area) dialling code, callers from landlines will have to dial the full national number including the 01202 code, because Ofcom want to make local numbers available beginning with the D-digits 0 and 1 – for example, 01202 012345 and 01202 123456.  (These numbers can’t be dialled without the 01202 first, since 0 and 1 have other meanings as the first digit).  Although these numbers have been available for a long time as ‘National Dialling Only’ numbers, suitable for use as ‘hidden’ numbers possibly as the destination of a redirect, they haven’t been issued to your average member of the public in the UK before.  It looks like this is all about to change, and means that an extra 200 DEF blocks (1,000 numbers) will be freed up to allocate to Communications Providers in the 01202 area, giving them a few more years before they run out of numbers.

Review: Samsung Galaxy Nexus

So I finally bit the bullet and decided to replace my T-Mobile G1 (HTC Dream) – the first ever production “consumer” Android phone with a newer model.  I went in the end for the  Sim-Free version of the Samsung Galaxy Nexus for several reasons – one, it’s a “Nexus” phone which means that Google tightly control the user experience and firmware, so there’s no unexpected surprises or manufacturer/operator add-ons in there.

Compared to my previous phone, it’s certainly much lighter, and seems a lot more “flimsy” – but much of that is probably because it’s lighter.  The screen size is far bigger than the old one, at 4.65″ diagonal and is one of Samsung’s Super AMOLED displays.  Very nice quality screen, nice vibrant colours.  One of the downsides of having a thin phone though is that there isn’t enough space for a “real” keyboard like the G1 had – personally, I found using the onscreen keyboard of the G1 a total nightmare because the combination of large fingers and too small a screen size meant that I ended up getting the wrong letters out most of the time.  Thankfully with the Galaxy Nexus this isn’t the case, since the screen size is bigger and therefore more accommodating to my larger fingers.

The phone has NFC (support for contactless smart cards, etc.) built in and does actually work (inasmuch as I proved that the NXP application could detect my Oyster card), which when the carriers/card companies/banks get their act together could be very useful.  Battery life is also much improved compared to the G1 (which frankly isn’t hard).

The phone comes with the brand-new Android 4.0 (Ice Cream Sandwich) operating system which is completely different in design but thankfully I had a go with it on the Android Emulator before I bought the phone so I knew exactly what to expect.  A big downside of this phone is that there is no SD card slot, it just has 16GB of internal Flash memory.  However there is a good reason for this, which is that most applications can’t be moved to an SD card slot anyway, so there’s limited use for it.  I can cope with that, and the phone therefore isn’t able to work as a USB Mass Storage device, but can cope with the Microsoft MTP and PTP protocols so it appears as a Windows Portable Device, and you can use that to copy files to and from the phone.

Camera is average (at 5 megapixels), but I’m not too worried about that since I don’t tend to use a mobile phone to take serious pictures anyway.  Front camera is 1.3 megapixels.  There are no physical buttons on the phone apart from the volume controls on the left, and the power button on the right – all the other buttons are ‘soft’ buttons and are part of the display.  This seems a bit odd at first, but you soon get used to it.  And the ITL41F firmware update rolled out to me yesterday to fix the so-called ‘Volume bug’, which probably wouldn’t have affected me much anyway since the mobile provider I use does not use 900MHz 2G, but I’m glad to see it fixed anyway.  Another nice feature is that it does support (albeit in a limited way) 5GHz wireless networking, which means I can use it with the 802.11a standard (I don’t have an 802.11n capable access point).

As this phone is a Nexus, unlocking the bootloader was a relative piece of cake – install the phone USB drivers, and put the phone into fastboot mode, then run “fastboot oem unlock” from the Android SDK software, and accept the ‘Do you really want to do this?’ message on the phone, and job done.  It does however wipe your phone when you unlock the bootloader, but at least that means I now have the choice of any third-party firmware that I like once Google have stopped issuing updates to the official one.

All in all, I’m very pleased with the phone, having had it less than a week.  The only thing I’m really unhappy about is the fact I can’t get a suitable pouch case for it yet, but that’s only to expected with a newly-released phone.  I can definitely recommend buying one if Android’s your thing and you’re looking for a no-nonsense Android phone.  Some people may not like the “bare Android” experience though, and might be better suited to going for a phone with the extra bells and whistles put in.

FreeSWITCHover Update

In my last post, I talked about “The Great FreeSWITCHover” happening this weekend.  So here is a status update:

  • All the live numbers are now moved onto FreeSWITCH (fs for short) and the phone rings (which is always a good start)
  • Incoming and outgoing calls work
  • Voicemail for external numbers works
  • Conference bridge set up (but not allocated to any external numbers yet)

So, a good start.  As far as I know, there is nothing left to do which will stop me making and receiving phone calls, so the switchover has been relatively painless.  What’s left to do now is to find a way of doing all the fiddly but non-essential features that I can do as and when I’ve got time.  Although the most urgent of these is to be able to change the outgoing caller ID to any one of my numbers, but hopefully that shouldn’t take too long to implement.

All in all, a big success so far and I think I can now officially say that Asterisk has been fired!  Goodbye and thanks for all the fish…

The Great FreeSWITCHover

I am “ringing the changes” this weekend.  Over the past few months I have been getting, frankly, quite frustrated with a relatively new piece of software called FreeSWITCH which is a software PBX (or, in English, a telephone exchange).  Up until recently, I’ve been using a piece of software called Asterisk to do the job, and in many ways it’s worked very well.  But over time I’ve been getting increasingly frustrated by its bugs.  So I’ve been having a look round to see if there is anything “better”.

I decided there were three probable open source software candidates for the job: Kamailio, Asterisk 1.8 or FreeSWITCH.  All three are quite capable in their own little ways, but it was more a case of which one to choose.  So, I installed them all and gave them a try.


Firstly, I tried Kamailio.  This particular product is a derivative of what was originally SIP Express Router.  This product, it is claimed, handles hundreds and hundreds of call setups per second, so it is very suitable for use in large telcos.  Out of the three packages, it is probably the closest thing to what is known as a softswitch in telecoms terms, and is also the closest thing to how the SIP protocol was envisaged to work when it was created.  Unlike the other two products, what Kamailio is best at is setting up, tearing down and routing calls.  Which is great, but unfortunately people expect “features” in their PBXes these days, such as voicemail or conferencing and so on!  With a softswitch, this is typically done by handing off to “feature” servers (which, ironically, are quite often run by PBXes!)

What really put the nail in the coffin for me as far as Kamailio was concerned, was how complex the configuration file was.  It seemed necessary to understand the SIP protocol at a very low level to even begin to understand how to use it.  Whilst I have a good book on this subject, I felt it was massive overkill to need to configure a softswitch at that low a level for what is basically a small home PBX.  A pity, because I think it is probably very good at what it does, but just wasn’t for me.

Asterisk 1.8

This is the very recently (at the time of writing) released version of the existing software that I was using.  Despite the fact that I have been using this software ever since version 1.0, and that’s years and years, over the past few months, I have become increasingly frustrated at the rather stupid bugs that Asterisk (or * for short) contains.  In particular, its SIP support is frankly rubbish.  Until now this hasn’t really been a problem since my service provider offered IAX2 connections to the PSTN, but since they have commissioned a new server, which is SIP only, I felt it was time to move away from IAX2 (which although published as RFC 5456, has never really gained acceptance much beyond the * community) and talk pure SIP.  So I bought myself a good book on the subject, and tried to learn it.  It was mainly through this that I was seeing more and more shortcomings in the SIP implementation in *.  Also, there was in the previous version no IPv6 support (which is going to become increasingly more important in the next year or two), and it is only the SIP stack which is IPv6 enabled – none of the other modules yet support it.

Asterisk is still a hugely popular PBX, and I know many people that use it, but it is fast becoming the “last resort” choice for me now that I am only too painfully aware of its shortcomings.  It’ll be sad to leave it in a way, because I’ve had a lot of fun with it, starting off with a single ISDN2e (Euro-ISDN) line and graduating all the way up to SIP phones with IAX2 trunks and all kinds of fancy features enabled over the years, but enough is enough.  Asterisk is badly in need of a rewrite and needs to start being compliant with some actual standards, and then it may usable again.  It was fun while it lasted though!


So, having been disappointed by Kamailio because it was too complex, and disappointed by Asterisk because it was too buggy, that really only left FreeSWITCH.  I remember getting the source code for the first time and trying to compile it.  It was a nightmare.  Then I discovered that you had to run bootstrap.sh first and then the Makefile appeared.

This must be about my fourth go at installing FreeSWITCH.  The first three times I gave up in disgust.  But, there is something about it that I like, and that is the architecture of it.  FreeSWITCH (fs for short) is designed from the ground up to be modular, and not only that, to use third-party libraries as much as possible.  This is good news because it means that it can use industry-standard libraries like libsofia (derived from code originally written by Nokia) which are fully RFC compliant.

The initial big downside of FreeSWITCH is its XML configuration, and the fact that there is stuff-all documentation supplied with the thing.  In my opinion, it’s a classic case of “programmer-itis”, where the documentation is the code, except that’s no good if you’re not a hotshot programmer (i.e. me).  The wiki does have some documentation on it, but there’s a lot missing, and that’s frustrating.

What is more frustrating is that the sample config is cram-packed full of features, none of which are explained, and no indications of what it’s safe to leave out.  After much experimenting, tearing out of hair and even buying the new FreeSWITCH book (which frankly wasn’t always an awful lot of help, since it just said “use the config we supplied and tweak it” a lot of the time.), I managed to get a very basic configuration going, and I used that as the basis of my experiments.

But … there’s no denying that FreeSWITCH does have a lot going for it, once you begin to understand it.  I found that once I’d got rid of all the dead wood in the configuration and built one up from scratch, it did begin to make a lot more sense.  Now I have it up to the point where it is quite usable, I can see that it actually has many advantages over Asterisk – the primary one being that it’s a cleaner, far better design and hence why I’m going to stick with it, despite the configuration taking weeks to do and involved a painful retraining process.  Give a while, and I think it’ll be a serious contender to Asterisk.

So, FreeSWITCH wins, but what’s happening this weekend?

So, what now?  This weekend marks the official switchover to FreeSWITCH.  Currently my “live numbers” are not on any PBX at all, going straight to the phone so that I can guarantee the calls can get through whilst the new server was being set up.  I have a couple of test numbers on the fs server from two different providers, so that I can test compatibility before I move all the numbers over.

The configuration isn’t finished yet, but most of it is done.  Voicemail is working, and the conferencing server is up, and I can route calls inbound and outbound to and from the PSTN.  Still left to do are conversions of a couple of old Asterisk scripts, plus implementation of ACR (anonymous call rejection) and other assorted bits and pieces like implementation of feature codes, but none of those will stop the incoming calls ringing the phones if they’re not in place.

So, if you can’t get through on the this weekend, that’ll be why … although I don’t expect the job will be too arduous, like most things of this nature, it’s fine if it doesn’t go wrong.  I expect I’ll be blogging again after the event to let you know how well it didn’t work … :)