Call filtering?

One feature that will be really hard to move to the librem 5 without is call filtering. I get atleast 5 spam calls a day and I don’t want those to ring but I do want things from my contacts to ring. Ideally I would like to have a whitelist and a blacklist that supports some sort of matching. example: 858* would match any phone number with the area code 858. Does the librem 5 support any type of call filtering? If not where can I find the source code that handles this so I can start digging in before I get my phone?


“Contacts only” would be awesome as well.


I’m planning to create an app to solve this issue.

The idea is to have the app auto answer the phone and ask for input:

  • Press one to ring phone
  • Press two to leave a message
  • PIN Code to start phone alarm and IM GPS (lost phones)
  • Call Blocking (White list/Black list)
  • Custom greeting (Custom menu options)

I don’t have a working baseband on my dev kit tho, so I’ll start working on it again once I get a Librem 5.

ATM it is just a live DTMF Tone parser:


Woukd there be options to, for example, just go ahead and let calls through from numbers on the whitelist? To sort of cater the amount of intervention to a user’s needs


That is cool idea. I’ll have to checkout that repo when I get some time.

Cool idea!
I had not thought of that. I’ll make sure to add it in.
Also, It is GPLv3 so feel free to fork once I have the basic features working :slight_smile:


doesn’t a whitelist basically mean that everybody who is not on it is blacklisted ?

If you had a one entry per blocked number in the blacklist then sure but if you have pattern/substring matching then you could have overrides with the whitelist. For example if you had blacklist: 858* and whitelist: 8581234567. Having specific numbers for a blacklist is ok but I would say that pattern matching is much more useful especially since spam callers try to match your area code of your phone.

Yes, and to further clarify, numbers on the whitelist are allowed and numbers on the blacklist are not allowed. The two are not used together though, so it would be like for a whitelist: “these people are allowed in the club, and no one else.” and for a blacklist: “these people are not allowed in the club, everyone else is.” if that helps you.

Not necessarily.

It could be:

  • white list - automatically ring phone as normal
  • black list - drop call
  • anything else - the special kinds of behaviour that @hackersgame talks about e.g. have to interact with phone to proceed, like an IVR built in to the phone, which may knock out some robocallers

One feature that I have on my landline handsets is a coloured LED, and the contact list assigns a colour to a contact - so I can see at a distance what contact group (colour list) the caller is in. So you can have many more than just blacklist and whitelist. :slight_smile:

1 Like

I’ve often thought about this kind of system, but never thought of that genius lost-phone feature before.

I’ve tended to think of these kinds of features:

  • Give known callers a PIN that lets them ring straight through to your phone. They can then input your number into their contacts as [number][pause pause pause][PIN] to make it seamless. (Yes, you can do that.)
  • Unknown callers could be given some sort of challenge to prove their call is worth answering, or else to record an extremely short message to identify themself, which would then be played out as part of the ringtone.

Some IVR style features would be better implemented on a server though, so they would still work if your phone is switched off or has no signal. (This implies using VoIP for everything.)

1 Like

I’ve just realised I forgot why I originally came up with this idea and didn’t fully explain it. There’s an edge case that makes this a useful feature: some victims of harassment or abuse withhold their number by default in order to avoid inadvertently leaking it. (I’m not sure how it leaks, but I’m assured this is a thing.) This obviously means incoming calls from them cannot be whitelisted, so the PIN is a workaround for that.


I remember, as part of a Heinlein book, the following (from memory so likely not exact):

“Hi! This is Gwen Novak’s phone. Gwen is sleeping right now. If you wish to talk to her, please deposit 100 credits. If she agrees this call was worth waking her up for, she will refund your money.”


Yeah not going to put that on my phone but the point is that I could if I wanted to. :slight_smile:

I have to agree that this is very much needed. I can see the request being put in as well as renewed interest in another post. If anyone can contribute somehow in someway to make this happen please do so.

Hi, @hackersgame any news on this?

ps: thanks for your videos i really enjoy it

1 Like

The issue was moved here as it was deemed beyond the scope of Issue #26 . I’d check it out.

Meh, I think I’m close enough to topic…
Those who already have a Librem 5 or those who know : What directory are the ringtones stored in?

Also, remember ringback tones where someone would hear a song when they called you instead of the ringing tone…those were cool :slight_smile:


I like the idea of the option to have to, effectively, make sure a human in the first place is calling and the direct options for callers you listed.

Basically it sounds handy-dandy.

We can now read audio from a call and parse out any DTMF codes. I also started work on the IVR part of the code.

Update video: