WorldPeas 9 hours ago

any word on if there'll be a FOSS/outsider implementation of this, if that's even possible? Would be nice to finally get these features outside of the monolith

  • jeroenhd 3 hours ago

    There are some partial/mostly finished RCS stacks out there, like this one: https://github.com/android-rcs/rcsjta

    However, some carriers require authentication through the SIM card. On Android, you can do this as a system app (so you'd need to include it in a custom ROM), on iOS I don't think the necessary API is exposed. There are a whole bunch of authentication options, though, and some of them can be implemented by a messenger without special permissions.

    RCS is MASSIVE though. Custom ROMs are by design technically incompliant with the full spec (as the money transfer API spec forbids RCS running on "jailbroken" devices).

    You can grab a copy of the spec (doesn't include E2EE yet) from last year here: https://www.gsma.com/solutions-and-impact/technologies/netwo... Just for reference: page 274 has an example "SMS" message; the eventual form is some kind of unholy amalgamation of SMTP+MIME+JSON. Aside from this document, you'll also need the 115 specifications linked in the references, and of course the specifications those specifications link. Some of those are ISO specs, so you'd have to find an open source implementation of those or pay for the specs to see them. The RCS spec includes not only chat, but also voice and video calls, and all manner of other modern messenger features. To support all of it, you need to deal with HTTP APIs for chat while at the same time dealing with SIP for live interactions. You'd _also_ need to support weird stuff like CSS styling on messages with chat bots (which I'm hopeful nobody will ever bother with).