This is an article in Spanish, translated. I do not know if it applies worldwide.
<https://bandaancha.eu/articulos/android-detectara-llamadas-numero-falso-11792>
Android will detect calls with spoofed numbers by sending a real-time
RCS message to the legitimate owner
By Joshua Llorach
Published 3 June 2026 10:50
This is an article in Spanish, translated. I do not know if it applies worldwide.
<https://bandaancha.eu/articulos/android-detectara-llamadas-numero-falso-11792>
Android will detect calls with spoofed numbers by sending a real-time
RCS message to the legitimate owner
By Joshua Llorach
Published 3 June 2026 10:50
Until last summer, it was very easy for malicious actors to spoof the
number that appears on a mobile phone screen as the caller ID when a
call rings. The lack of a system to validate numbers and their origin allowed spammers and other malicious actors to inject traffic into the network with a spoofed caller ID, a practice known as CLI spoofing.
Since June 2025, mobile operators have been filtering calls originating
from abroad that use Spanish numbers without permission, as well as
applying other validation checks to make this practice more difficult.
Added to these measures is the system from Orange and Telefónica that displays a warning on the screen for suspicious calls.
Falsifying a number known to the victim makes the attack much more effective, especially in the age of AI, where it is very easy to imitate
a person’s voice, so Google is joining this fight with its own measures against CLI spoofing.
The Android Phone app has started to verify the caller ID of incoming
calls by connecting in real time to the supposed originating mobile
phone to check that it is indeed the one making the call.
For this to work, both parties must be Android users with the Phone app. When the call rings on the recipient’s device, the phone sends an encrypted RCS message to the legitimate owner of the number to ask if
they are actually making the call at that moment. In this way, the recipient’s phone can tell when the call is fake.
The idea is interesting, as it does not use OTT data traffic, but rather core network services, making the exchange of information faster and
more reliable.
This feature is being rolled out first on Pixel devices running Android
12 and above, but Google has released it as an open standard so that
other phone apps and operating systems can use it, meaning that in the future it would be possible to verify numbers between Android and iOS if
the parties involved wish to do so.
Translated with DeepL.com (free version)
"Carlos E.R." <robin_listas@es.invalid> wrote:
This is an article in Spanish, translated. I do not know if it applies
worldwide.
<https://bandaancha.eu/articulos/android-detectara-llamadas-numero-falso-11792>
Android will detect calls with spoofed numbers by sending a real-time
RCS message to the legitimate owner
By Joshua Llorach
Published 3 June 2026 10:50
Until last summer, it was very easy for malicious actors to spoof the
number that appears on a mobile phone screen as the caller ID when a
call rings. The lack of a system to validate numbers and their origin
allowed spammers and other malicious actors to inject traffic into the
network with a spoofed caller ID, a practice known as CLI spoofing.
Since June 2025, mobile operators have been filtering calls originating
from abroad that use Spanish numbers without permission, as well as
applying other validation checks to make this practice more difficult.
Added to these measures is the system from Orange and Telefónica that
displays a warning on the screen for suspicious calls.
Falsifying a number known to the victim makes the attack much more
effective, especially in the age of AI, where it is very easy to imitate
a person’s voice, so Google is joining this fight with its own measures
against CLI spoofing.
The Android Phone app has started to verify the caller ID of incoming
calls by connecting in real time to the supposed originating mobile
phone to check that it is indeed the one making the call.
For this to work, both parties must be Android users with the Phone app.
When the call rings on the recipient’s device, the phone sends an
encrypted RCS message to the legitimate owner of the number to ask if
they are actually making the call at that moment. In this way, the
recipient’s phone can tell when the call is fake.
The idea is interesting, as it does not use OTT data traffic, but rather
core network services, making the exchange of information faster and
more reliable.
This feature is being rolled out first on Pixel devices running Android
12 and above, but Google has released it as an open standard so that
other phone apps and operating systems can use it, meaning that in the
future it would be possible to verify numbers between Android and iOS if
the parties involved wish to do so.
Translated with DeepL.com (free version)
So the non-spoofed caller makes their call, and then has to respond to a
text message? Oh joy, 2FA comes to voice calls, too.
"When the call rings on the recipient’s device, the phone sends an encrypted RCS message to the legitimate owner of the number to ask if
they are actually making the call at that moment."
One, only works when caller and callee are both Android users, and both
use a phone app with the integrated verification check.
Two, to
eliminate 2FA interference, the caller's phone app must automatically
respond to the RCS request by the callee's phone app, and the callee's
phone app must automatically handle the RCS response.
Texting is not a guaranteed communication venue. What happens when a
call is received, but texting fails in either direction between caller
and callee? And how does this scheme eliminate the delay in getting the specially encoded text? Texting is not always immediate. Who is going
to wait 2 minutes for the texting to complete in both directions when
there is an incoming call? After how many rings should the callee wait before picking up the call? Will the callee's phone app silence all
ringing until its validation text gets received by the caller, and the caller's phone app sends back the response text, to when the callee's
phone app finally gets that response text?
I'm sure there are some glitches that will have to get ironed out.
Since texts are an insecure communication venue (no encryption),
there--
wouldn't be some means to spoof the response text the spammer sends to
the callee? There are entire companies dedicated to providing spoofing services, so I'm sure they'll figure out a workaround.
"Carlos E.R." <robin_listas@es.invalid> wrote:
Translated with DeepL.com (free version)
So the non-spoofed caller makes their call, and then has to respond to a
text message? Oh joy, 2FA comes to voice calls, too.
VanguardLH <V@nguard.lh> wrote:
"Carlos E.R." <robin_listas@es.invalid> wrote:
Translated with DeepL.com (free version)
So the non-spoofed caller makes their call, and then has to respond to a
text message? Oh joy, 2FA comes to voice calls, too.
I was assuming that it's making an automatic handshake with the calling
phone via RCS, not asking the caller to do it.
ie:
1. Recipient phone app receives a call from +34567890123
2. Recipient phone app sends an RCS to +34567890123 saying 'hello RCS client, I'm +34xxxxxxxxx, are you calling me?'
3. Sending phone RCS app sends an RCS back saying 'yes, I'm currently calling you now' or 'no, I'm not calling you right now'
4. If recipient gets the 'yes' RCS they display a green tick, if they get a 'no' they display a 'suspicious incoming call' message and maybe block it. If they don't get an answer they don't display anything.
That could be done automatically without the sender having to do anything.
If someone is spoofing numbers they aren't receiving messages on them, so
the RCS will go to the genuine number owner, rather than the one doing the spoofing.
The trouble is that calls from iPhones or from businesses won't operate
this system, so it doesn't actually help very much. And even if iPhones do adopt it, it seems unlikely that businesses will, since business telecoms is mostly SIP based and has nothing to do with RCS.
Theo
The trouble is that calls from iPhones or from businesses won't operate
this system, so it doesn't actually help very much. And even if iPhones do adopt it, it seems unlikely that businesses will, since business telecoms is mostly SIP based and has nothing to do with RCS.
Theo <theom+news@chiark.greenend.org.uk> wrote:
VanguardLH <V@nguard.lh> wrote:
"Carlos E.R." <robin_listas@es.invalid> wrote:
"The idea is interesting, since it does not use OTT data traffic, but
the services of the core of the network, which makes the exchange of information faster and more reliable."
That is the hope. Not a guarantee the scheme accomplishes the
validation BEFORE the Caller ID is presented to the callee. Faster and
more reliable is still not a guarantee.
It isn't just the caller and callee that must both use the RCS scheme to validate Caller ID. The caller must be in a searchable database by
their provider to do the lookup by the callee's service provider.
Both
callee and caller must be using a phone app that incorporates the RCS
scheme for CID validation.
The caller, if spoofed, must have their
phone powered on to send the RCS response. If the spoofed caller's
phone is off, it obviously cannot respond, but also as obvious is they couldn't be making the call.
The telcos for both caller and callee must support RCS. Is RCS actually
so prevalent that all telcos support RCS? That is, does every VOIP, landline, and cellular provider for both major carriers and also all
MVNOs (Mobile Virtual Network Operators) now support RCS?
Any POCs (Proof Of Concept) testing on this RCS scheme yet?
We can attempt reduction using client-side solutions, but are still--
allowing the spoofing services to continue operating. Once those are
made illegal, and globally, CID spoofing will severely wane.
VanguardLH <V@nguard.lh> wrote:
"Carlos E.R." <robin_listas@es.invalid> wrote:
Translated with DeepL.com (free version)
So the non-spoofed caller makes their call, and then has to respond to a
text message? Oh joy, 2FA comes to voice calls, too.
I was assuming that it's making an automatic handshake with the calling
phone via RCS, not asking the caller to do it.
ie:
1. Recipient phone app receives a call from +34567890123
2. Recipient phone app sends an RCS to +34567890123 saying 'hello RCS client, I'm +34xxxxxxxxx, are you calling me?'
3. Sending phone RCS app sends an RCS back saying 'yes, I'm currently calling you now' or 'no, I'm not calling you right now'
4. If recipient gets the 'yes' RCS they display a green tick, if they get a 'no' they display a 'suspicious incoming call' message and maybe block it.--
If they don't get an answer they don't display anything.
That could be done automatically without the sender having to do anything.
If someone is spoofing numbers they aren't receiving messages on them, so
the RCS will go to the genuine number owner, rather than the one doing the spoofing.
The trouble is that calls from iPhones or from businesses won't operate
this system, so it doesn't actually help very much. And even if iPhones do adopt it, it seems unlikely that businesses will, since business telecoms is mostly SIP based and has nothing to do with RCS.
Theo
VanguardLH wrote:
It isn't just the caller and callee that must both use the RCS scheme to
validate Caller ID. The caller must be in a searchable database by
their provider to do the lookup by the callee's service provider.
I don't see why?
Both callee and caller must be using a phone app that incorporates
the RCS scheme for CID validation.
The Google default app.
The telcos for both caller and callee must support RCS. Is RCS actually
so prevalent that all telcos support RCS? That is, does every VOIP,
landline, and cellular provider for both major carriers and also all
MVNOs (Mobile Virtual Network Operators) now support RCS?
Mobile phones only, AFAIK.
Any POCs (Proof Of Concept) testing on this RCS scheme yet?
This is the field testing now :-)
Ah, automated. I thought it was the user typing. Now it makes sense.
So they are doing a handshake without having a protocol designed for
this. Mmm. Next step would be upgrading the entire network to do a
handshake on all calls.
VanguardLH <V@nguard.lh> wrote:
"Carlos E.R." <robin_listas@es.invalid> wrote:
Translated with DeepL.com (free version)
So the non-spoofed caller makes their call, and then has to respond to a text message? Oh joy, 2FA comes to voice calls, too.
I was assuming that it's making an automatic handshake with the calling
phone via RCS, not asking the caller to do it.
Isn't this whole RCS scheme to validate the Caller ID which is what is getting spoofed? The caller isn't being spoofed. It's the CID they
send that could be spoofed.
VanguardLH wrote:
Isn't this whole RCS scheme to validate the Caller ID which is what is
getting spoofed? The caller isn't being spoofed. It's the CID they
send that could be spoofed.
Apparently the scammers *are* faking the voice as well as the caller ID.
So you get a call from an AI version of your relative, saying they've
been robbed while on holiday, asking if could you send them some money
so they can get home again ... enough people fall for this when it's
just faked email/text.
Apparently
the phone number, part of Caller ID, can be spoofed, too.
Theo <theom+news@chiark.greenend.org.uk> wrote:
VanguardLH <V@nguard.lh> wrote:
"Carlos E.R." <robin_listas@es.invalid> wrote:
Translated with DeepL.com (free version)
So the non-spoofed caller makes their call, and then has to respond to a >>> text message? Oh joy, 2FA comes to voice calls, too.
I was assuming that it's making an automatic handshake with the calling
phone via RCS, not asking the caller to do it.
I was almost there, but got it wrong that the verifying RCS message is sent along
with the call - it's only initiated by the recipient if it didn't get the initial RCS verification:
https://blog.google/security/android-fake-call-detection/
They're selling it as preventing deepfakes where the attacker can both spoof a number and spoof that person's voice, making it hard to tell from the real person. In that case I can see why something to assert it wasn't the real phone comes in useful.--
It's quite a narrow use case (just spoofed calls from people you know,
rather then spoofed calls from your bank/etc, and not Facetime/Whatsapp/... voice calls) but I suppose phone calls are where the scammers are striking, so it makes sense to start there.
Theo
Can we ensure that the bad caller can not also send a fake RCS message?
"Carlos E. R." <robin_listas@es.invalid> wrote:
Can we ensure that the bad caller can not also send a fake RCS message?
If the scammer is making the call, and it's not some robocaller frontend
that cannot be called back nor responds to RCS messages, and the scammer spoofs their phone number, the callee's RCS message goes to the spoofed number, not back to the scammer.
spammer @ 123-456-7890 --> spoof 567-890-1234 --> callee sends RCS --.
\__________/ |
^______________________________|
Since the scammer doesn't get the "are you there" RCS message, the
scammer cannot send an RCS response to the callee. They cannot send a
fake RCS ACK to the callee, because they never got the RCS REQ from the callee.
There are situations in which a spoofed number is legal, and actually mandatory. Say a doctor wants to call a patient regarding a test
result. He calls the patient on his phone, but doesn't take direct
calls from patients. His personal phone couldn't handle the load of all
his patients calling him. Instead he wants them to call his office to handle, process, and forward incoming calls to him.
You missed the part where the calling party also sends an RCS saying I'm calling you, before being asked.
If this initial message is missing, then the called party sends an rcs
back. Thus not always.
initialized. I would think the scheme would not have the callee
accepting an RCS ACK before it even sent its own RCS REQ.
The article mentioned Google's open standard, but did not provide a URL
to it. Looks like the scheme uses encrypted RCS messaging. The
callee's Phone by Google app would have to initiate the encrypted RCS messaging. It's not going to listen for an RCS ACK message until the
callee initiates with an RCS REQ.
https://blog.google/security/android-fake-call-detection/
But still no link to the definition of their open protocol.
https://www.techtimes.com/articles/318000/20260608/android-fake-call-detection-targets-ai-deepfakes-rcs-handshake-verifies-caller-devices.htm
"When a saved contact calls, their Phone by Google app sends a silent, real-time cryptographic confirmation token over the RCS signaling layer
to the recipient's device. That token confirms the call is genuinely originating from the contact's registered hardware — not routed through VoIP software with a spoofed caller ID."
Hmm, so the caller initiates with sending an encrypted RCS token to the callee. But all of this RCS attestation is only for saved contacts.
Your phone sees a number you saved as a contact for Mom, and uses the
RCS token to verify it's Mom. However, if you don't have a contact for
Mom, the caller ID says "Mom", and RCS attestation isn't involved.
Doesn't seem a reliably or trustworthy scheme if the caller initiates
the RCS attestation.
Imposter makes a call pretending to be Mom, and includes the RCS
confirmation signal. You get the spoofed call, and your phone app
checks with Mom's device using RCS. Might work if Mom's phone was
powered up to respond. Maybe it isn't. If the imposter pretends to be
not just your pharmacy, but the distro warehouse for your pharmacy, you
won't have them as a contact (you won't even know their phone number).
Caller isn't a contact, so this RCS scheme is dead. A caller that is
not a saved contact isn't challenged to prove they are who they say. I wasn't aware that spoofing primarily targeted saved contacts on the
callee's phone. How are they going to get my contacts?
This seems a stab at an iffy scenario for limited subset of users, and
likely to fade away if STIR/SHAKEN gets adopted by all mobile carriers,
and actually works. However, its just for mobile calls. Apparently
Google isn't keen on STIR/SHAKEN, and came up with a client-end scheme
that bypasses any spoof checking at the carrier.
VanguardLH <V@nguard.lh> wrote:
initialized. I would think the scheme would not have the callee
accepting an RCS ACK before it even sent its own RCS REQ.
The article mentioned Google's open standard, but did not provide a URL
to it. Looks like the scheme uses encrypted RCS messaging. The
callee's Phone by Google app would have to initiate the encrypted RCS
messaging. It's not going to listen for an RCS ACK message until the
callee initiates with an RCS REQ.
https://blog.google/security/android-fake-call-detection/
But still no link to the definition of their open protocol.
https://www.techtimes.com/articles/318000/20260608/android-fake-call-detection-targets-ai-deepfakes-rcs-handshake-verifies-caller-devices.htm
"When a saved contact calls, their Phone by Google app sends a silent,
real-time cryptographic confirmation token over the RCS signaling layer
to the recipient's device. That token confirms the call is genuinely
originating from the contact's registered hardware — not routed through
VoIP software with a spoofed caller ID."
Hmm, so the caller initiates with sending an encrypted RCS token to the
callee. But all of this RCS attestation is only for saved contacts.
Your phone sees a number you saved as a contact for Mom, and uses the
RCS token to verify it's Mom. However, if you don't have a contact for
Mom, the caller ID says "Mom", and RCS attestation isn't involved.
Doesn't seem a reliably or trustworthy scheme if the caller initiates
the RCS attestation.
It seems this is a byproduct of end to end encryption over RCS. As part of starting an RCS conversation a set of key pairs are established. Then you can use those to securely communicate with your correspondent.
In this case the 'I'm calling you' RCS message is presumably using the existing key pairs, meaning that secure communication is already established. In that way you can know that a call you receive from your correspondent without the accompanying RCS message is more likely to be spoofed, and the warning message displayed.
For a contact who you haven't previously established RCS communication with, the system hasn't yet established a secure channel. I'm not sure if you can send an unsolicited RCS message anyway; presumably businesses must be able
to send out RCS messages without having the user enroll them as contacts first? But presumably if you don't have a key pair established then you can't put up a message saying the call is suspicious?
The place I can see this falling down is where you have never contacted them via RCS, only phone calls or other means. For example if you always chat with grandma via iMessage or WhatsApp then you may not have established an RCS session with her to set up keys. Then the phone can't know whether she is on RCS or not (without some potentially slow discovery process) and can't pop up a message saying not to trust the call.
Imposter makes a call pretending to be Mom, and includes the RCS
confirmation signal. You get the spoofed call, and your phone app
checks with Mom's device using RCS. Might work if Mom's phone was
powered up to respond. Maybe it isn't. If the imposter pretends to be
not just your pharmacy, but the distro warehouse for your pharmacy, you
won't have them as a contact (you won't even know their phone number).
Caller isn't a contact, so this RCS scheme is dead. A caller that is
not a saved contact isn't challenged to prove they are who they say. I
wasn't aware that spoofing primarily targeted saved contacts on the
callee's phone. How are they going to get my contacts?
I don't think it's saved contacts that is relevant, it's people you have already contacted via RCS. That is mostly people with real mobile
phones, rather than landlines or businesses.
This seems a stab at an iffy scenario for limited subset of users, and
likely to fade away if STIR/SHAKEN gets adopted by all mobile carriers,
and actually works. However, its just for mobile calls. Apparently
Google isn't keen on STIR/SHAKEN, and came up with a client-end scheme
that bypasses any spoof checking at the carrier.
STIR/SHAKEN is a US thing, it doesn't apply in other countries. Google's solution does.
Theo
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,124 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 23:46:38 |
| Calls: | 14,394 |
| Calls today: | 3 |
| Files: | 186,389 |
| D/L today: |
5,550 files (1,401M bytes) |
| Messages: | 2,544,979 |
| Posted today: | 1 |