FuriLabs / issue-tracker

FuriOS issue tracker
3 stars 0 forks source link

Call screening & Scam calls #35

Open Izaic opened 3 months ago

Izaic commented 3 months ago

Modern android devices have a built-in scam call screening system that automatically determines if a call may be a scam call, and then shows you a "screen call" option. When you screen a call it announces to the caller "Hi, the person you've reached is using a screening service from Google, and will get a recording and transcript of this call. Go ahead and say why you're calling.". The google screen system will translate the speech from the caller into text and display it in a transcript on your screen, as well as allow you to choose from a list of pre-made responses such as "Tell me more" "Is it urgent?" "I can't hear you." etc... If you click to report it as a scam call, it not only blocks the number on your device, but it then also shares that information to other devices so that it can display a "This call may be a scam" message on the incoming call notification. While a full-scale implementation like that which google has may be out of the question due to complexity (the machine learning suggestions for example), it is likely quite possible to use existing TTS and speech recognition libraries to create a simple open source version of this system that achieves the same functionality.

Grab from some form of database what calls may be a scam call if they are not in the contacts list or the number has not been picked up before and then display "This call may be a scam". This can also be done with some form of detection like google uses perhaps, such as determining if the caller is using a private or virtual number through using calling information. And also listening for key words to see if it is a robo call.

If the user has not added the number to their contacts or ever been in a call with the caller before, the call notification can show a "Screen call" button in between answer and hangup.

Screen call option will open a separate dialer call UI that not only picks up the incoming call and announces to the caller that the phone is using a scam call screening service using TTS, but then possibly logs the reply from the caller using speech recognition. (and optionally stores said log even after the call alongside perhaps a audio recording from the call)

Screen call displays an option to unmute and start talking to the person on the other end (while optionally continuing to log the conversation with speech recognition), or report the call as a scam (to whatever database) and/or simply block the number.

The call screening UI could have templated responses or even a text input box to allow the user to ask questions to the caller as an alternative to how google does it with machine learning templated responses.

There are existing solutions that are open source that can be used as inspiration for these features.

https://gitlab.com/kop316/phosh-antispam

https://gitlab.com/xynngh/YetAnotherCallBlocker#privacy

image

Where this issue originated from (I am the one that made it): https://invent.kde.org/plasma-mobile/plasma-dialer/-/issues/31

FakeShell commented 3 months ago

adding support for call blocking is not that hard, but blocking "spam" calls is a hard task google uses their own spam database other OEMs like samsung use that too, but there is no good database that is kept updated

Izaic commented 3 months ago

adding support for call blocking is not that hard, but blocking "spam" calls is a hard task google uses their own spam database other OEMs like samsung use that too, but there is no good database that is kept updated

Then perhaps the FLX1 could be the first to make a public list that can be contributed to within phosh?

FakeShell commented 3 months ago

one way may be to make our own database and allow users to report to it, although we need more users on board for it to be effective

luigi311 commented 3 months ago

considering the most common way spam/scam calls happen now adays is via phone number spoofing i dont think theres a good way to handle it outside the carrier side assuming theres no way to tell the original number on our side.

Izaic commented 3 months ago

considering the most common way spam/scam calls happen now adays is via phone number spoofing i dont think theres a good way to handle it outside the carrier side assuming theres no way to tell the original number on our side.

Phosh-Antispam type system would be good. I'd be curious if it would work on the FLX1.

FakeShell commented 3 months ago

we can host a database like the i18n servers and allow people to add spam numbers. although i'm not sure how that can be made reliable considering the amount of trolls on the internet