[BOUNTY] RCS Support [14999$] #2994
Description
Feature Description:
Google Messages is currently the only widely available RCS client for Android. When attempting to use Google Messages with microG, users typically encounter issues such as:
A persistent message stating "RCS chats aren't available for this device."
An indefinite "Setting up...", where authentication of the phone number never completes.
Recent developments suggest that Google Messages no longer strictly requires device attestation for RCS, making it possible to enable RCS functionality with microG. However, it appears there's a missing component or necessary adjustment within microG itself preventing successful setup.
Google has effectively monopolized RCS, despite it being a GSMA-backed standard intended as a successor to SMS. Unlike SMS, RCS has become a closed ecosystem under Google's control, restricting open interoperability and limiting choice for users and developers. RCS has seen significant adoption, particularly in North America, and recently Apple added support RCS, further increasing its importance as a messaging standard.
Requested Solution
Provide a solution that enables Google Messages to successfully connect to and use RCS functionality when operating with microG. Acceptable outcomes include:
- A fix or enhancement to microG itself, allowing seamless RCS connectivity.
- Compatibility with recent versions of Google Messages is desired. Solutions that only support a specific Google Messages version from the past year will be awarded half of the bounty amount.
- Modifications to AOSP or additional permissions changes are acceptable.
- The solution must work on devices with a locked bootloader.
Limitations
Solutions relying on rooting, Magisk, or similar root-based tools are not acceptable.
Additional Information
GrapheneOS users, who leverage a Play services sandbox, have reported success with enabling RCS by applying permission changes. Although their setup differs from microG, the discussions that were taken in this thread (especially in the last year) may offer valuable insights for this bounty: https://discuss.grapheneos.org/d/1353-using-rcs-with-google-messages-on-grapheneos
Activity
- 🚀 Bounty Alert!- 💰 A bounty of $5000.00 has been created by unpluggederan on BountyHub for this issue. - You can also increase the amount of the bounty if you think the issue is worth more. - Good luck, and happy coding! 💻 Reacted by 𝕍𝕖𝕝𝕠𝕔𝕚𝕗𝕪𝕖𝕣, Kainoa Kanter, Fzul, Wladislav Artsimovich, inku, KweezyCode, yahya jalali, m-doescode, Atemu, enkvadrat and 6 more
- Nice, but I would wait a bit as Google Messages started showing users with custom ROMs that they aren't secured. Let's the leaked keybox thing run its course, then we can expect some alternatives solutions. If people with regular Gapps can't get RCS, then how are we gonna get it. - Best alternative would be open API or using Apple's RCS server, just like how people used mac mini for iMessage on Android. - But I can confirm(#2063) like Huawei users that RCS push messaging works with MicorG, the issue is Play Store certification that Companion fails at. Getting Strong or going naked with no spoofing doesn't help. Reacted by SaezMD
- $5000??????? - yes I'm the founder of bountyhub and I can confirm that this has been paid in advance Reacted by Fzul, Idcrafter, SaezMD and S2009
- $5000??????? - yes I'm the founder of bountyhub and I can confirm that this has been paid in advance - Fair play. Ive just downloaded google messaging cause of this bounty and can confirm getting the same error. Since Google will slow foss rcs apps down as much as possible, GMessaging seems the only option so I hope someone can get this going! Reacted by Fzul and Idcrafter
- Hi @unpluggederan Implemented RCS service with SMS permissions and TelephonyManager integration to provide the service interface Google Messages expects, enabling RCS connectivity without root access. - Looking forward for the review
- Hi @unpluggederan Implemented RCS service with SMS permissions and TelephonyManager integration to provide the service interface Google Messages expects, enabling RCS connectivity without root access. - Looking forward for the review - Did you test it on a real Device with GMS core instead of google play services?
- Hi @unpluggederan Implemented RCS service with SMS permissions and TelephonyManager integration to provide the service interface Google Messages expects, enabling RCS connectivity without root access. - Looking forward for the review - Very nice! Can you confirm it was tested on a real device and you can send/receive RCS messages?
- This PR adds an initial RCS service implementation. It's currently a basic stub that provides the service interface structure. I'm working on improving the implementation with proper AIDL interface, comprehensive logging, and testing utilities. Will update with improvements soon. Reacted by ronidee, Nicholas, Mulverine, 白隐Hakuin and Gabriel SanchesReacted by ronidee and NicholasReacted by 4oo4, Fzul, michel memeteau and Willow Cunningham
- This PR adds an initial RCS service implementation. It's currently a basic stub that provides the service interface structure. I'm working on improving the implementation with proper AIDL interface, comprehensive logging, and testing utilities. Will update with improvements soon. - Hi and good job. But does your approach confirm that Carrier Services and Play Protect certification isnt necessary for RCS instant messaging? - What about the RCS rust APK that appeared some years ago? Will IMS have a role in this or can be use Apple or the Carriers RCS servers?
- @omarsoufiane @unpluggederan
This PR adds an initial RCS service implementation. It's currently a basic stub that provides the service interface structure. I'm working on improving the implementation with proper AIDL interface, comprehensive logging, and testing utilities. Will update with improvements soon.- Hi and good job. But does your approach confirm that Carrier Services and Play Protect certification isnt necessary for RCS instant messaging? - What about the RCS rust APK that appeared some years ago? Will IMS have a role in this or can be use Apple or the Carriers RCS servers? - Your questions highlight that we need to move beyond the interface layer to actual RCS protocol implementation.
Our current implementation is a stub that provides the RCS service interface Google Messages expects, but we haven't tested if it works without Play Protect certification, Carrier Services, or actual RCS protocol implementation (SIP/MSRP/IMS) - we need real device testing to determine what Google Messages actually requires for RCS functionality. The RCS Rust APK you mentioned could be very valuable for understanding how to implement RCS without Google's infrastructure.Reacted by FzulReacted by 𝕍𝕖𝕝𝕠𝕔𝕚𝕗𝕪𝕖𝕣, ronidee, Nicholas, Henning Lammert, Egan Wall, Mulverine, githubcatw, 白隐Hakuin and Gabriel SanchesReacted by 𝕍𝕖𝕝𝕠𝕔𝕚𝕗𝕪𝕖𝕣, Nicholas and MulverineReacted by 4oo4Reacted by 𝕍𝕖𝕝𝕠𝕔𝕚𝕗𝕪𝕖𝕣
- @omarsoufiane @unpluggederan
This PR adds an initial RCS service implementation. It's currently a basic stub that provides the service interface structure. I'm working on improving the implementation with proper AIDL interface, comprehensive logging, and testing utilities. Will update with improvements soon.- Hi and good job. But does your approach confirm that Carrier Services and Play Protect certification isnt necessary for RCS instant messaging?
What about the RCS rust APK that appeared some years ago? Will IMS have a role in this or can be use Apple or the Carriers RCS servers?- Your questions highlight that we need to move beyond the interface layer to actual RCS protocol implementation. Our current implementation is a stub that provides the RCS service interface Google Messages expects, but we haven't tested if it works without Play Protect certification, Carrier Services, or actual RCS protocol implementation (SIP/MSRP/IMS) - we need real device testing to determine what Google Messages actually requires for RCS functionality. The RCS Rust APK you mentioned could be very valuable for understanding how to implement RCS without Google's infrastructure. - Recent versions of Google Messages appear to work with Jibe across all carriers (though there may be exceptions). Using a stub seems to be a good direction, as Google Messages uses GMS in the provisioning process for something. However, the purpose of other methods related to actual RCS messaging (such as connectRcs, sendRcsMessage, etc.) remains unclear and may exist purely for legacy reasons while Google Messages handles everything else - Carrier Services may or may not be required, it doesn't matter as long as RCS works, I guess someone will figure it out eventually. Based on the thread in the original post, there is a strong indication that RCS is working without device attestation (either Device Integrity or Strong Integrity) which is very good. - I don't believe the RCS Rust implementation is relevant as there is no corresponding RCS server you can connect it to. Google clearly took over RCS and now controlling the gates. Apple are allowed because it's aligned with Google's strategy. Therefore, making RCS work on Google Message is probably the only feasible way to go.
- 715 remaining itemsLoad more actions