Tag Archives: phone

Signalling virtue

Dear Reader,

Can I encourage you to try something today? Go to Signal.org and get hold of the Signal messaging app, and/or go to your app store and download Signal for your phone. And while it’s downloading, come back here and I’ll tell you why I’ve become so fond of it, and why you might actually want another messaging app.

To put it in a nutshell, Signal is like WhatsApp but without selling your soul. Imagine what a good time Faust would have had without that awkward business with the Devil, and you get the idea. Well, OK… you don’t quite have to sell your soul to Facebook to use WhatsApp, but you do have give away your privacy, your friends’ privacy, endure a lot of advertising, and so forth. (More info in an earlier post.)

For Apple users, Signal is rather like Messages, which I also like and use a lot, but you can use Signal with your non-Apple friends too, on all of your, and all of their, devices.

Signal:

  • is well-designed and nice to use.
  • runs on iOS, Android, Windows, Mac, Linux, tablets, desktop and mobile.
  • uses proper end-to-end encrypted communications, unlike some alternatives such as Telegram.
  • is Open Source, so if you doubt any aspect of it, you can go and see how it works.
  • is free: supported by grants and donations. No advertisements.
  • allows most of the interactions you expect on a modern messaging service: group chats, sharing files and images, audio and video chat, etc.

Now, of course, it has the problem that all networks initially have: what happens if none of my friends are on it? And yes, that can be an issue, but it’s becoming less so. When I first signed up, I think I knew about three other users. Now, over 100 of my contacts are there, and more arrive every week. When I see them pop up, I send them a quick hello message just to welcome them and let them know I’m here too. It’s a bit like wondering if you’re at the wrong party because you know so few people here, and then over time more and more of your friends walk through the door.

How do you find them? Well, like WhatsApp, Signal works on phone numbers, and when you sign up you have the option to let it scan your contacts list and see if any of them are on Signal too. Unlike Facebook/WhatsApp, however, your contacts’ details aren’t transmitted to the company’s servers and used to build the kind of personal profiles that FB keeps even on people who aren’t members.

Signal instead encrypts (hashes) the phone numbers in your contacts, truncates the encrypted form so it can’t be used to match the full phone number, sends those truncated versions to their servers, and if it finds matches for any truncated other account numbers it sends the encrypted possible matches back to you for your app to check. Security experts will realise that this isn’t perfect either, but it’s so much better than most of the alternatives that you can be much more comfortable doing it. Here’s a page talking about it with a link to more detailed technical descriptions about how they’re trying to make it even more secure. And here’s the source code for all their software in case you don’t trust what they say and want to check it out for yourself.

So in recent months, if I’ve wanted to set up group chat sessions to discuss the care of an elderly relative, or plan a boating holiday with friends, or discuss software development with colleagues in another timezone, I tell people that I disconnected from Facebook a few years back so I don’t do WhatsApp, but have you tried Signal? It’s pretty much the same, with all the bad bits taken out, and works much better on the desktop and on tablets, in my now-rather-dated experience, than WhatsApp ever did.

So give it a try, and if you find that not many friends are there, don’t delete it. Just wait a bit… and tell all your friends about this post, of course!

MeetingBuster and the Christmas Call Diary

There was a period of a few years when I played quite extensively with VOIP, which for the uninitiated, stands for Voice-Over-Internet-Protocols, sometimes called ‘IP Telephony’. This isn’t about Zoom and Skype and FaceTime, but about traditional phone calls: the things your parents used to make (and maybe still do), often using devices attached to the wall with wires!

It all seems very obvious now, but there was a point between about 20 and 10 years ago when the typical office phone changed from being an audio device plugged into a landline-style connection with analogue voltages talking to a phone exchange, to being something digital that plugged into the ethernet and had an IP address. Telephone calls, hitherto controlled by large national monopolies with expensive proprietary equipment and hideously complex signalling protocols, started to become something ordinary users could manage with their own software, even Open Source software.

Companies that had previously paid vast sums of money to buy or lease a PBX (the ‘Private Branch Exchange’ that gave you internal phone numbers and routed calls to and from external numbers), could now just install software on a cheap PC and route calls to phone handsets over the local network. If you also routed calls over the wider internet, limitations of most broadband connections meant that the quality and reliability left something to be desired, but, as one perceptive observer commented at the time, “The great thing about mobile networks is that they have lowered people’s expectations of telephony to the point where VOIP is a viable solution.”

Phone Phun

And what you could do in an office, you could also do at home, just for fun. I loved this stuff, because in my youth telephony had embodied the quintessence of big faceless corporations: you paid them, they told you what you could and couldn’t do with the socket in your wall, you lived with the one phone number they decided to give you, and could only plug in the equipment that they approved. Any variations on this theme rapidly became very expensive.

With VOIP, however, you could now get multiple phone numbers in your own house and configure how they were handled yourself. I had one number that was registered in Seattle (because I was doing lots of work there), but it rang a phone in my home office in Cambridge — the same one that also had one Cambridge number and one London one — with the calls routed halfway around the world over the internet, basically for free. All of a sudden, you could do things that the Post Office, BT, AT&T, or whoever, would never have let you do in the past. It was fun!

Part of my interest came from the clear parallels between how phone calls were handled in this new world, and the way HTTP requests were handled on the web. I first got involved in telephony with the AT&T Broadband Phone project back in 1999, when my friends and I had to write our own telephony stack based on the new SIP protocol, and build our own custom hardware to connect our SIP network to real-world phone lines.

But, as with the early days of the web, Open Source servers soon emerged so you didn’t have to write your own! The Asterisk and, a little later, FreeSwitch packages were very much analogous to Apache and Nginx in the web world. Calls came in, and you decided what to do with them using a set of configuration rules similar to those that might determine what page or image to return for a particular URL. Voice prompts and keypad button presses were a bit like forms and submit buttons on web pages… and so on.

Anyway, there were a couple of quick hacks that I put together at the time which turned out to be rather useful, so if you’re still with me after the history lesson above, I’ll describe them.

The Christmas Call Diary

We were a young startup company, with about half-a-dozen employees, operating primarily out of a garden shed in Cambridge. But we had sold products to real customers who expected a decent level of support. As Christmas approached, we realised that the office was going to be empty for about a fortnight, and started to wonder what would happen if anybody had technical support issues and needed urgent help.

So I set up a shared Google calendar, and asked everyone to volunteer to be available for particular periods of time over the holiday, just in case any customers called; a possibility that was, we hoped, pretty unlikely, but it would improve our reputation no end if somebody did answer. All we had to do was put entries in the calendar that contained our mobile or home number during times when we didn’t mind being disturbed. People valiantly signed up.

We were running a VOIP exchange on an old Dell PC, and I wrote a script to handle incoming calls, which worked like this:

  • When a call comes in, ring all the phones in the office for a short while.
  • If nobody picks up, then look at the special Google Calendar to see if there’s a current entry, and if its contents look like a phone number. If so, then divert the call to that number.
  • If it isn’t answered after a short while, send the caller to our voicemail system, and email the resulting message to all of us.

In the end, I don’t think anybody did call, but the script worked as intended, and allowed us to have a more worry-free Christmas break, which was perhaps its most important achievement!

MeetingBuster

Back in 2006, I registered the domain MeetingBuster.com, and thanks to the wonderful Internet Archive, I can see once again what the front page looked like, which neatly explains its purpose (click if you need a larger image):

A later update allowed you to call MeetingBuster and press a number key within 10 seconds, and your callback would then happen that many tens of minutes later, so pressing ‘3’ just before going into a meeting would give you an option to escape from it after half an hour. (Remember this was all well before the iPhone was released, so all such interactions had to be based on DTMF tones.)

Anyway, Meetingbuster was just for fun, and there are probably better ways to escape from today’s virtual meetings. But if/when we go back to face-to-face meetings again, and you need an excuse to say, “Oh, I’m sorry, I really ought to answer that; do you mind?”, then let me know and perhaps I can revive it!

© Copyright Quentin Stafford-Fraser