RCS chat doesnt work anymore when connected to Tailscale

Samsung Galaxy S21+
Tailscale 1.13.0-t62a458f7f-gff91342ecc8
I dont know how to do a bug report from Android or if that is even possible?

I’ve been using Tailscale on my phone for awhile and have never noticed an issue until today. Tailscale just updated to this version last night I believe which clued me in. Basically, when I connect to Tailscale, all RCS messages in Android Messages no longer send or receive. Normal SMS is just fine. If I goto the “Chat Features” menu, the status just shows “Connecting…” If I turn off Tailscale, it will eventually reconnect and update messages, but this takes forever to start working again. Unfortunately, just force closing Android Messages or even restarting my phone doesn’t seem to make things re-connect any quicker so troubleshooting is slow.

One thing I just tried was completely removing all custom Tailscale DNS servers and only having 1.1.1.1 listed and making it not a global override DNS. Right now Im waiting for chat services to reconnect with Tailscale disconnected so I can then test again with Tailscale connected and new DNS settings. Really just a shot in the dark though.

This has been reported once, in Android RCS/Jibe cannot send if Tailscale is active · Issue #2322 · tailscale/tailscale · GitHub
We haven’t been able to try to reproduce it, I haven’t been able to get an Android 12 device to offer the option of sending RCS.

Thanks, I missed that issue.

I’m out of ideas on how else to troubleshoot on my end so please let me know if you have any thoughts. I know I’m restating it again, but this seems to have just shown up since I upgraded yesterday to the 1.14.x version listed in the original post, unessl I was completely oblivious to it before (I’m not a heavy texter).

Chat features finally reconnected after about 30 minutes of being disconnected from Tailscale. Swapped to mobile data just to test. Still worked just fine and sent a few test messages. Started Tailscale and connected, RCS died shortly after.

You can disconnect from RCS and reconnect to prompt it to connect (immediately without waiting an hour btw)

Also note that this is apparently broken with Wireguard vanilla as well. So this may be an upstream fix needed.

I did verify that regular Wireguard does break RCS chat last night too. I wonder if I just never noticed it before or if its new?

Unfortunately, disconnected and reconnecting to RCS Chat Features doesn’t make reconnecting any faster for me, so using my VPN (Tailscale or Wireguard) means no RCS text for some time. I believe some of them never even came through from my wife when she asked if I got something.

One thought is MTU size: we set the tailscale0 MTU size to 1280 bytes, where Wi-Fi and Ethernet is typically 1500 bytes.

If RCS sends large packets and sets the DontFragment bit, that might result in not being able to send.

I think you were on to something with IP conflicts because it does work sometimes. For instance I just tested it right now and it works. I tested it a couple days ago and it was still broken.

I also have seen it broken without using an exit node. So theoretically the phone shouldn’t be routing any packets over Tailscale at all.

Edit: Although I just hit send and realized that wouldn’t explain why Wireguard also can break it since I would use a 192.168.0.0/16 subnet.

Ok. So I realized that I was still connected by Wifi. I disconnected from Wifi and that immediately broke RCS. So ipv6/LTE split routing may be involved as well.

But I also got a new quirk on the latest build of Android 12 Beta. Instead of getting stuck on “Connecting…” it popped up a Button
[Verify your number]

When I click that it asks for my phone number… and then freezes.
A quick google search also points a finger at VPNs in general breaking RCS number authentication.
[Updated] Google Messages RCS stuck at “Setting up … Trying to verify” (piunikaweb.com)

This could just be a general android failure with VPNs. Or it could be that it’s affecting all Wireguard based VPN providers and users aren’t able to identify specifically the common denominator.

Any chance Tailscale could implement an app exclusion list similar to the Wireguard app? I’ve seen people have success (with Wireguard) by excluding a few Android system apps.

Another question related to RCS…

Is anyone here using a beta version of Android 12 and Tailscale? If so, does RCS work for you.

1 Like

Beta has been the same. It works sometimes then breaks when you least expect.

I hope RCS succeeds in the long term, but I turned it off for myself and my family for now. Too many quirks, lost messages, etc. I have no idea what I missed when I was using Wireguard/Tailscale because there are messages I know my wife showed me she sent which never showed up even after being reconnected. Was hoping with Wireguard being more integrated in Android 12 that it would just work.