Comment by jeroenhd
12 hours ago
> trying to build your own is explicitly blocked
Google doesn't offer an RCS API, but making your own API is not blocked, especially not on phones running MicroG.
For standard ROMs, RCS apps are not feasible because carriers expect interaction with the SIM module, and only privileged apps can do that. Google Messages blocks root access (probably because the RCS spec says they have to if they ever implement the money exchange feature for RCS) but that just locks out Google Messages.
LineageOS, GrapheneOS, /e/, and all the others could build their own RCS client. They may not be able to register with Google, but they can make an RCS app nonetheless. Rooted devices can also promote third party RCS apps to gain system permissions, so they would be able to use the same RCS apps. Thing is, like all telco protocols, RCS is a long spec with a billion features and acronyms made up of acronyms of even more acronyms, plus you can't easily set up your own server (though in theory a sister project for an open RCS server might be useful for the open 5G project).
I get why people want Google to just stuff their RCS library into open source Android the same way they do SMS/MMS, but to say it's impossible to write a client for, especially when running at the permission level MicroG runs at, is not the whole truth.
As for the whole "Google is the gatekeeper" thing: there are more RCS-for-business providers out there. Google's is probably the easiest to use by far, but Twilio has RCS too, as well as smaller companies such as LINK Mobility and Esendex. Sure, the people whose carriers don't support RCS might receive these business messages through Google's servers, but there's no need to pay Google a dime to make use of the RCS for Business specs.
> They may not be able to register with Google, but they can make an RCS app nonetheless.
They can make a "standards compliant" RCS which will be able to connect to literally zero carriers or servers on the planet.
In fact Google Messages "RCS" doesn't even implement the RCS standard. They use a proprietary protobuf api exclusive to Google. Google messages can't connect to any "RCS" servers except Google's.
> Twilio has RCS too
Twilio, Bandwidth etc. are gatekept by Google and are basically just a middleman reselling Google's product.
> Bandwidth
Still find it endlessly amusing that they run Google Voice for Google and it still doesn’t support RCS.
> They can make a "standards compliant" RCS which will be able to connect to literally zero carriers or servers on the planet.
I call bullshit. If iPhones can connect to RCS, so can other phones.
Their app does use a weird protobuf spec of their own design, but that's for synchronising messages across devices/their web UI. RCS doesn't really do multi-device the same way iMessage does so they had to add another layer. That's not part of RCS.
The iOS client sends an app attestation token during registration.
Jibe could let any compliant client connect doesn't mean it does in practice. Case in point: Harmony OS.
> LineageOS, GrapheneOS, /e/, and all the others could build their own RCS client. They may not be able to register with Google, but they can make an RCS app nonetheless.
Building a spec compliant RCS client for the love of the game, I guess.
> but there's no need to pay Google a dime to make use of the RCS for Business specs.
Assuming we're talking of global RCS and not domestic deployments (China and Korea mostly) you pay Google indirectly in all cases as Jibe is monetized via A2P revenue share.
> LineageOS, GrapheneOS, /e/, and all the others could build their own RCS client
And it will be useless. They likely won't be able to connect to their mobile network's RCS or to Google's RCS. A user with an official Android phone will be able to reach you only over regular SMS.
The way RCS works, the mobile _operator_ uses your corresponder's phone number to look up their RCS server. So that's also why RCS connectivity is so patchy, not all cell phone operators peer with each other.
> I get why people want Google to just stuff their RCS library into open source Android the same way they do SMS/MMS, but to say it's impossible to write a client for, especially when running at the permission level MicroG runs at, is not the whole truth.
It is. The Google's RCS endpoint requires attestation that is available through Play API only.
My personal advice is to avoid RCS at all costs, and use something that is not infested by mobile phone operators or Apple.
> They likely won't be able to connect to their mobile network's RCS
And why is that? Assuming your carrier bothers to run RCS, the protocol works just like MMS and SMS do. If your operator doesn't peer with other operators then you'll have the same issues getting any kind of multimedia delivered from phone to phone.
> It is. The Google's RCS endpoint requires attestation that is available through Play API only.
Annoying, though hardly unexpected at this point. Still, that only poses a problem for Google's RCS servers, not for RCS itself.
Global RCS == Jibe.
Google killed off all interconnected hubs.