Banana Phone

The Monday Morning Three-Minute-Hate is a time to remember all those things that make life worse, Once you’ve got through poverty, war and injustice, and the way the alarm clock makes you feel, you’re likely to start to dwell on other stuff.

Like those silent robotic telemarketing calls.

I had an email this morning that made the Three-Minute-Hate last a mere two and a half minutes. Alex Ruiz has used a Raspberry Pi to make a really neat tool to stop automated calls, while still providing support to allow through any legitimate automated calls, like those from the emergency services or (eek) charities (I promise that the Raspberry Pi Foundation will never, ever place a marketing call to you, automated or otherwise). Alex says:

I recently submitted a solution for a government initiative here in the USA to stop those pesky automated telemarketing phone calls. You can see the details here:

My solution was prototyped using a RPi and an off-the-shelf Analogue Telephone Adapter and it works great. Being an independent coder, the advantages the RPi presented as a development platform both in cost and flexibility made it an obvious choice for writing experimental phone software. Because of the low cost, I was able to successfully fund the development and beta distribution of units on my own. This helps enormously, as I can now claim that my solution is not theoretical and is working in a real business environment.

I was able to fully meet the criteria of the FTC’s challenge entirely.

And all of this was only possible with the RPi.

Again, I cant thank you guys enough for this wonderful piece of hardware and the personal attachment I’ve grown for it. This device showed me my own potential as a developer and for that, I am very grateful.

Here’s video of the Banana Phone in action. I love the big grins plastered all over Alex and his friend when their demo goes off without a hitch.

Thanks Alex – and good luck in the competition!


Liam Fraser avatar

This is brilliant!

liz avatar

I don’t think there’s anything that annoys me quite as much as those silent calls. They always seem to come when I’m either deep in thought, covered with raw chicken or otherwise NOT ABLE TO COME TO THE DAMN PHONE.

cbruner avatar

Why do you cover yourself in raw chicken? I would think that any call to stop you from doing that would be welcome! :)

Stephen Scott avatar

I think Liz is working too hard!

David avatar

A cool idea but embedding the sounds over a sound clip is problematic for the hard of hearing (which doesn’t just mean deaf, but those with an inability to easily distinguish sounds against background), those using text-relay or similar phone systems.

The bananaphone is a great idea but care has to be taken to make it fully accessible to all classes of user, not just the mainstream with normal ability.

liz avatar

I don’t know if you watched all the way through, but this is a whitelist-based system, and only kicks in when it recognises that a number is from a robotic caller. So if you have friends, colleagues or other expected callers who are hard of hearing, the system should a) recognise them as human anyway, and b) be adaptable thanks to that whitelist, so you can enter numbers you don’t want to pass through its filter.

David avatar

It adds numebrs to a whitelist but the example in the video is where it triggers bananaphone when the number is not in the whitelist. It kicks in all the time, unless it has that number in it’s whitelist.

liz avatar

Em…yes. Kind of what I just said.

David avatar

No, the opposite. It doesn’t do any detection, it just checks the whitelist. The first time a human calls they get the filter. So there is no ‘kick in only when it recognises the number is from a robotic caller’. It always kicks in unless the number is whitelisted.

Colin Cameron avatar

I’d imagine it wouldn’t be too difficult to add the functionality to manually add numbers to the whitelist.

It could even sync with Gmail and have your contacts automatically whitelisted.

Gordon Henderson avatar

Asterisk FTW!

alex avatar

Excellent system. That’d be great for businesses. Probably pay for itself in the first month or two.

David Rysdam avatar

Don’t most robocallers have caller-id blocking?

alex avatar

Hi David,

Yes, in my own research, that scenario comes up all too often. Upon receiving a call, the software checks for a valid caller ID string. If the software finds the string is null or blocked,
it automatically drops the call to the human validation line for testing.

Travis Rosenbaum avatar

Awesome project! I wish you the best of luck!

FYI: The URL is misspelled at the very end: it ends in “porblem” instead of “problem”.

Daniel Radcliffe avatar

Wow, Needs a blacklist function too :)

I’m going to look into this. Particularly useful for me, as i run a home business and get lots of automated calls because my number is available online.

Wish it was available open source for the rest of us to learn from it…

Tom avatar

Next use of a R-Pi: a robocaller able to detect automatic robot-filters and answer correctly.
I remember seeing a presentation about hacking automatic call-center systems by calling in by phone. It actually used SQL injection. When asked for some digits, pressing a certain sequence would be equivalent to some good ol’ Bobby Tables fun.

Alex Ruiz avatar

Hi guys,

Thank you for all the feedback. It is greatly appreciated. Here’s the thing about blacklist-oriented solutions in a robocall situation: all caller ID information can (and most times is) faked when a call is being passed down the line. So attempting to block suspect numbers from calling is moot, as all incoming data must be treated as junk to begin with.

After having tested the human authentication system and the keep-alive functionality, I am now refining the solution to populate the user’s whitelist faster, like automatic outbound dial whitelisting.

Thanks for the support guys. There is so much more to come


Daniel Radcliffe avatar

By a blacklist I meant along side a whitelist… So that we could add numbers (such as angery Ex’s and annoying neighbors) to a blacklist, so they dont even get the authentication…

alex avatar

Hi Daniel,

ah, I see. So in writing my code for the FTC challenge, I wrote the solution for strictly filtering robo-calls at first. I’m now starting to see that consumers also want other phone functionality available to them as well. I am currently in the phase of gathering these initial features, and consumers are asking for generic caller blocking, so that is definitely in the works!

Terry Flannery avatar

Hi Alex, Great job!!!! Just a thought – can it be started in monitor mode – so that it builds a list of callers – the user could then go in and identify the numbers – whitlist – blacklist etc. Thanks, Terry

Brent S. avatar

Thank yo all so much for the positive feedback on our project. I am the “friend” in the video and business partner with Alex. We are looking forward to taking this project global. As much feedback that we can get would be greatly appreciated. We are going to be launching a KickStarter soon, and all of the positive comment will be featured on our site. also and questions or concerns should be sent to [email protected] or to myself [email protected] or [email protected]

Pingu avatar

How about if the RPI could detect a robocaller, wait for the muppet in the call centre to speak, and have random conversation, keeping them online and wasting their time.

Henrik avatar

When is the site running?

Brent S. avatar

We are currently working on it at this time. Keep checking back for updates. Thank you for your inquiry and support.

James avatar

Truecall was a device that was similar to this.

Nicholas Barnes avatar

Agreed. Search Amazon for “TrueCall – The Nuisance Call Blocker”. Mildly successful, but it was never going to make big money.

As an Asterisk consultant and VoIP services supplier, it’s nice to see applications like this for the home/SOHO market – hopefully the banaphone will be built with an easy way to add links to ITSPs making it a little more future proof and also offering an upgrade path of sorts.

The problem is, where does one draw the line – it would be very easy to say “Maybe an answerphone would be useful”, and then “We could add the ability to add SIP handsets”, then “What about call recording”. The next step would be to implement full PBX functionality, and then you’re into a whole new ball game.

Good luck with the project.

Fred avatar

trueCall’s still going strong – I bought one recently and it’s doing a fine job at making my life much more peaceful.

However, if I could replace it with a Pi and gain the ability to customise it exactly to my requirements then I’d jump at the chance.

Any idea what the extra box they’re using is?

Nicholas Barnes avatar

You can do exactly that right now – simply ‘apt-get asterisk’ and buy one of those extra boxes.

They’re called ATAs (Analogue Telephone Adaptor). You need one with one FXO port (to plug into the wall) and if you have an analogue phone, one (or more) FXS ports. If you have SIP phones, then you don’t need the FXS port.

I’d recommend the Cisco SPA-3102 which has one FXO and one FXS. They’re a bit of a pig to set up correctly, but once you do, they keep on working (and, more importantly, working without the echo problems you get on cheaper units).

Of course, learning Asterisk is a different kettle of fish!


alex avatar

Hi Fred,

I used the Obi110 for my testing and design. It’s excellent at echo cancellation and is easy on the wallet.

Robert_M avatar


Who’s There?

Banana Phone.

Banana Phone Who?

Banana Phone For the Win!

Brent S avatar

Please add us on Facebook for updates.

Greg_E avatar

I like the idea of being able to waste a telemarketer’s time, that would be a fun mod to this software. Being able to manually add whitelist members or take it from a personal contact list are good ideas, I like this better than outbound whitelist addition because not everyone you call should be on your whitelist.

Brent S avatar

It is not who YOU call that is on your white list. The only people that are on your white list are the ones that call you and pass through the human authentication system.

Super Cool avatar

Sweeet! Keep up the awesome goodness.

I am not a fan of wasting anyone’s time, but a model like this tied to the Facebook concept of get through for cash may work even better. So perhaps they enter their credit card number and the fee of $xxx allows them to go through regardless of their origin. Really tricky — tie the fee to the number of calls you get in a day (not including whitelist of course).

p4trykx avatar

Could someone tell me what’s the device that interfaces a normal telephone with raspi? Does this solution work on a normal landline(PSTN) or just with a number with some VOIP provider.

Alex Ruiz avatar

The device used to bridge the line into the RPi is an Obi110 analogue telephone adapter. Hope that helps.

Jesse avatar

This looks pretty cool, but what happens when telemarketers start using forged caller ID belonging to organizations on the white list? The video makes reference to white list entries having an expiration date, but that would seem to ignore the fact that legitimate phone numbers don’t change vary often, so those white list entries will need to be renewed when they expire. In other words, what happens when telemarketers provide a caller ID number belonging to the Red Cross, Amnesty International, or the local fire department? Those organizations have had that number for a long time, and will continue to use that number for a long time, so it provides a free pass through the filter, no questions asked.

JamesH avatar

There;’s very little you can do about criminal behaviour..and remember, this is just a proof of principle project, its not like he’s selling it as a product!

Brent S. avatar

Actually, we are currently seeking funding to be able to produce and sell our solution.

JamesH avatar

That’s great – I hope you get it!

Alex Ruiz avatar

The video makes reference to white list entries having an expiration date, but that would seem to ignore the fact that legitimate phone numbers don’t change vary often, so those white list entries will need to be renewed when they expire.

Yes. that is exactly the point of the keep-alive white list. When these legitimate robocall entities need to make calls to system users, they must *plan their calls* and distribute time-stamped white list records to recipient systems accordingly.

Stephen avatar

Have tried three times to leave a comment regarding CLID and a UK perspective. Either Spam Free is broken, flawed or someone needs to explain the rules!

Stephen avatar

Please remember that this project is an entry to a competition run by a US Federal agency. As such it addresses some specifics of the US, its phone systems and laws. Also, read the rules especially the US definition of an illegal robocall:

“Simply put, if you pick up the phone and hear a recorded message instead of a live person, that’s a robocall. If the recording is a sales message (not a call from your healthcare provider or a charity), and you haven’t given your written permission to get calls from the company on the other end, the call is illegal. For those seeking more detail, the relevant rules are the Telemarketing Sales Rule and the Telephone Consumer Protection Act.”

Bearing in mind the above, this is a very worthwhile product idea and something many if not all of us must have thought about doing, or wishing we could!

In the UK, at least on my BT line, CLID presents real numbers, both land-line and mobile, ‘switchboard’ numbers from organisations that may have many physical lines but one ‘public’ facing number, *International*, *Withheld* and *Unavailable* numbers. I would be quite happy to blanket block the last three types.

I personally don’t have any friends or family abroad so blocking all *International* calls would
work for me and this would catch most call-centre type calls in my experience. *Unavailable* numbers may be as a result of some manufacturers private phone switch products that do not play nice with BT equipment or ‘standards’, but hey I’m happy with that. If my friends can’t get through they can use a different phone, or not – their choice!

And as to people who habitually hide their numbers, *Withheld*, I’ve always thought that is like children knocking on my door and then running away, so I can live with not being bothered by them also.

Just my tuppence (or in this case two cents) worth.

All the above constitutes mission creep anyway but good luck to the guys whose project this is!

Nicholas Barnes avatar

Totally agree re your comments on Withheld numbers – if the caller doesn’t have the courtesy to tell me who they are, then I’m not interested in talking to them.

For a while I ran with a simple “You are calling from a withheld or unavailable number. Please be aware that we do not accept unsolicited telephone calls. Please press 1 to confirm that this is not an unsolicited call.” and that got rid of 99% of junk calls. I experimented and changed the home number to answer immediately with “Hello, thank you for calling Nicholas and [wife’s name], please hold the line.” and then just ring the handsets. That is easier on the caller and still has the great success rate of stripping out the garbage.


p4trykx avatar

In Poland robocalls are also illegal but I never heard about enforcing this law I just got few of them. However normal calls with human on the other side are real pain in the a**.
Latelty there is another kind of calls, “dead calls”. The computer in call centre dials my number and when I pick up the phone it tries to find a free consultant. It fails sometimes(no one is available) and I hear silence. This is most annoying because it repeats this few times without much success. I wonder if it could be considered as stalking and this is a crime.

joshvamos avatar

This is a good idea but not executed well enough. The prompt is laborious and the passcode could be deciphered with spectral analysis algorithms much like the audio captcha exploits. It sounds like masking of the frequencies of raffi and accompanyment was pronounced. Does it use a different song every time?

Henrik avatar

how do i make My pap2t send request to my pi

Eric avatar

The one thing I do not see is the ability to handle the cellular need. Although the rules say “and/or” I am not concerned with it calling my land line as their is a dummynphone connected with the ringer removed.

From rules: Develop a solution that will block illegal robocalls on landlines and/or mobile phones and can operate on a proprietary or non-proprietary device or platform.

Without doing a call forwarding such as with Google Voice how could this help the mobile market?

Please do not get me wrong here, I love seeing new technology being developed right here in the USA and I wish you the all the best in the contest.

David avatar

will the Raspberry Pi banana work on a cell phone

John Parker avatar

It strikes me that if your device were to detect talking (sound above a certain level) upon answering and issued an instruction something like – “Call screening in progress. Stop talking for your call to go thru,” you would trap all the robocalls I’ve ever received.

Comments are closed