Playing with callerid again

Back in April last year I started playing with an old external serial-attached modem to read the callerid of incoming calls. My intention was to intercept calls from direct marketeers. The concept was good, but I ran into problems with the modem; it took up a lot of space, kept overheating, and lacked any voice facilities, limiting what I could do with it. In addition (probably because of the modem constantly overheating) the software I was running kept crashing.

So in the end, I gave up on the idea.

But recently we seem to have had a spate of annoying calls from direct marketeers based in India, selling products for UK companies that are cynically avoiding the UK’s regulations around direct marketing opt-outs. The straw that broke the camels back was the call that came through at 6am on a Saturday morning.

The problem here is that the phone companies don’t care about this. They make money from all these calls, so its not in their interest to block them. They’ll sell me a service to block “withheld” numbers, but not numbers that show as “unavailable”. Unfortunately, these days the majority of the problem calls come from India, and show as “unavailable” because the Indian call centers are using VoIP systems to place their calls to the UK, and they deliberately ensure that their callerid is “unavailable”.

So I’m back on the idea of making my own solution to this problem. So first off, I purchased a USR 5637 USB fax modem that is compatible with the UK callerid protocols. Even better, this is a voice modem too, so it can interact with a caller, sending audio as well as data down the phone line, and recognise touchtones. It’s also small, self-powered, cool-running and very reliable.

Next I spent some time looking to see what other people have done in this space, and eventually found this webpage, that describes a simple Bash script that intercepts calls that are not on a whitelist, and plays modem tones to them before hanging up. Recognised callers are allowed to ring the phone as normal, progressing to an answerphone if necessary. It’s not exactly the functionality that I want, but the simplicity is beguiling, and it’s trivial to extend it to do something closer to what I do want. And anyway, anything more sophisticated is going to require something like Asterisk, and switching my whole phone system over to VoIP, which is not going to be very family-friendly.

So for now, I’m gathering lists of all incoming calls to establish a basic whitelist, before moving on to do some really basic screening of calls.

4 thoughts on “Playing with callerid again

  1. Surely you can buy a device/phone to do this? It might be more expensive but housebound pensioners won’t be able to do what you’re doing and they need to receive calls from family and not get conned into donating money.

    • Where’s the fun in buying something that isn’t exactly what you want, when you can enjoy the challenge of building something for yourself that’s tailored to your needs? I don’t think Richard’s trying to build an easy product for mass production!

      Watching with interest, though my nuisance call problem was reduced by an order of magnitude by changing telephone company and getting a new number 🙂

      • Yes, swapping to a new ex-directory number would probably make a big difference to me too, but it would actually be quite a lot of hassle, as we (and our home number) predate mobile phones (!) so it’s the default number for people to contact us on, meaning we’d have to tell an awful lot of people of the change.

    • You can take your operators “anonymous caller reject” service; BT charge £4 a month for that (their most expensive additional service) but it won’t block calls that identify as “unavailable”. That’s because this could be a valid inbound international, VoIP or mobile phone call from a network that isn’t correctly passing callerid to your operators network. They’d rather pass bad calls through than block potentially valid calls. Oh yes, and they also make money on every call they connect…

      Now, that’s a perfectly valid position, but the direct marketeers are taking advantage of that. I don’t expect any inbound international calls, and most UK mobile networks now pass callerid just fine, so I’d rather have a more aggressive default approach to blocking.

      You also mentioned devices that do what I’m building. Yes, there are a couple, but they aren’t cheap and in practice they don’t do a great deal more than the operators blocking service. They certainly all seemed to have the same issue with “unavailable” callerid information.

      I wonder if it may be something enshrined in the telecommunications regulations? I’ll check later today.

      And, as Andy pointed out, this is for me, and at least partially for fun, not to build a commercial solution. In fact, I suspect that to do this properly I’m going to need a complete wireless IP PBX at home, but that would be a more major investment, so I want to at least prove the concept first before approaching the CFO with a request for funding 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s