microg / microg/GmsCore

[Proposal / WIP] Independent Carrier Services compatibility layer for RCS

Open
#3,586 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

## Overview

CoAxon Labs is developing an independent open-source compatibility stub for
`com.google.android.ims` (Google Carrier Services) to unblock RCS on
LineageOS/microG environments.

## What This Addresses

- **Local component wall**: Google Messages fails to start on clean systems
without `com.google.android.ims` present
- **Independent TS.43 EAP-AKA software protocol layer** (hardware-decoupled,
CodeQL audited)

## Expected Behavior

With this stub installed, Google Messages initialization bypasses the
"IMS component missing" error and successfully triggers the TS.43 auth flow,
handing off to the underlying GmsCore or native IMS stack.

## Current Status

- [x] Carrier Services stub skeleton (com.google.android.ims)
- [x] TS.43 EAP-AKA software protocol layer complete
- [x] Unit tests passing
- [x] CodeQL audit: all checks PASS (taint tracking, crypto correctness, module boundaries)
- [ ] Hardware validation pending (~7 days, physical device with EU carrier SIM)

## Architecture & Roadmap

This is designed as a **standalone companion package** to microG, not a
patch to GmsCore core. The separation keeps blast radius at zero —
if this stub fails, core microG functionality is unaffected.

Long-term: open to upstream discussion if maintainers prefer integration.

## Repository

https://github.com/coaxon/microg-carrier-services

## Relation to PR #3508

Complementary, not competing. PR #3508 solves the network/protocol layer
(TS.43 server handshake). This solves the local component layer
(IMS stub that Google Messages requires before attempting any network call).

By CoAxon Labs

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the external microg-carrier-services repository and the issue's discussion of PR #3508, then determine whether this standalone Carrier Services stub belongs in GmsCore. Done would require a maintainer decision on upstream integration and a defined validation path for the pending physical-device test.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
authentication, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.