From what I understand, it’s implemented on mobile carrier level, so any phone or other device with a cellular modem connected to a carrier that supports it should be able to use it (edit: of course, ignoring insufficient access, at the very least rooted Android or some Linux should work). Can’t really find more specific details right now though. Here’s a library and sample client for it though: github.com/Hirohumi/rust-rcs-client
Of course, this is only for clients, it’s true you can’t set up your own server.