Calls not working on FP4 patch 7.5

Hello all,

I successfully installed 7.5 last week on my Fairphone 4 using the described method to update from 6.X to 7.X using adb. Everything appeared to be working until I noticed, that I cannot make or receive any calls.

Everything worked perfectly fine until the update.

TL;dr:

  • Carrier Yallo (Switzerland) on Sunrise network
    • APNs are all set correctly. I reverted to default, double checked
    • VoLTE is activated → tried with on or off
    • Wi-Fi Calling is activated –> tried with on or off
    • Preferred network type is 5G –> tried with LTE only
  • *#*#4636*#*#** returns, that IMS is not registered (this appears to be the main issue)

I can receive SMS and 5G data works.

I made a bug report using Claude, who helped me crawl through the logs.

Summary

After upgrading my Fairphone 4 from iodéOS 6.x to 7.5 (locked bootloader, sideloaded the OTA in recovery per documented procedure, which performs a factory reset and Seedvault restore), I lost the ability to make or receive voice calls. SMS and mobile data still work. Diagnostics show that org.codeaurora.ims is installed and bound to com.android.phone, but no MmTelFeature is ever activated: no NetworkRequest with NET_CAPABILITY_IMS is ever created, the IMS APN’s PDN is never brought up, and no SIP REGISTER ever leaves the device. IMS Service Status reports “Not Registered”. Same symptoms as @iode-1520 reported on Galaxus / Sunrise here (post #19).

This matters in Switzerland because Sunrise shut down 3G at the end of 2025, so no VoLTE = no calls.

Environment

  • Device: Fairphone 4

  • ROM: iodéOS 7.5 (clean install from 6.x last week via adb sideload in recovery + factory reset + Seedvault restore — the documented path for locked bootloaders)

  • Bootloader: locked

  • Carrier: Yallo (MVNO on Sunrise, CH) — MCCMNC 228 02, ICCID prefix 89410

  • Network: registered REG_HOME on LTE/LTE_CA, bands 3 and 20, isVopsSupported = true

Symptoms

  • Outgoing/incoming calls fail (no ring, drop after ~30 s)

  • SMS works

  • 5G/LTE data works

  • *#*#4636#*#* → Phone Information → IMS Service Status: IMS Registration: Not Registered

  • VoLTE worked perfectly on iodéOS 6.x with the exact same SIM until the upgrade

What I’ve already ruled out

  • Not stale state from 6.x. Locked bootloader meant the upgrade required a factory reset; this is effectively a clean 7.5 install with only a Seedvault app/data restore on top. The IMS stack is failing on a freshly initialized system.

  • Not a SIM/carrier whitelisting issue. Network reports lteVopsInfo = {isVopsSupported = true, isEmcBearerSupported = true} on every registration update. Yallo is offering VoLTE; the device just never tries to register.

  • Not an APN issue. After Reset to default, both APNs are present and clean (UNEDITED): Sunrise Internet (default/supl/hipri, IPv4) and IMS (type ims, IPv6 home / IPv4v6 roaming).

  • Not a carrier-config issue. com.android.carrierconfig matched the SIM (carrier ID 1413, cached XML restored) and applied carrier_volte_available_bool = true, carrier_wfc_ims_available_bool = true, full ims.* settings populated.

  • Not a missing/disabled IMS APK. org.codeaurora.ims is installed in /system_ext/priv-app/ims/, enabled (PRIVILEGED, SYSTEM_EXT), and bound to com.android.phone (verified via dumpsys activity services org.codeaurora.imsrequested=true received=true hasBound=true, process record 2785 running for 7+ minutes).

  • All Qualcomm IMS daemons are alive. imsqmidaemon, imsdatadaemon, imsrcsd, ims_rtp_daemon, com.qti.phone, qtidataservices, com.android.imsserviceentitlement — all in process list.

What’s actually broken

Despite all of the above, the IMS stack is silent:

  • service list shows only telephony_ims: [android.telephony.ims.aidl.IImsRcsController] — no MMTEL binder.

  • cmd ims returns “Can’t find service: ims”.

  • dumpsys connectivity has no NetworkRequest with id=4 (NET_CAPABILITY_IMS) anywhere in the system.

  • dumpsys telephony.registry shows only one active PreciseDataConnectionState: the default Sunrise Internet PDN. The IMS APN never gets a PDN. The active PDN has pcscf = [] (expected for the internet APN; relevant because no IMS PDN ever comes up to learn P-CSCF from).

  • 44-second logcat -b all window (covering several radio events including cell reselection band 3 → band 20, PDN state transitions, RILJ messages) contains zero log lines from ImsService, MmTelFeature, ImsResolver (for org.codeaurora.ims), Volte, cscf, or register — the IMS service is bound but doing literally nothing.

  • org.codeaurora.ims process state: S (sleeping) for the full session.

Hypothesis

org.codeaurora.ims as shipped in iodéOS 7.5 for FP4 binds at the AIDL level but its handshake with the Lineage 23 / Android 15+ telephony framework never results in MmTelFeature creation. Therefore no IMS NetworkRequest is published, no IMS PDN is requested from the data layer, and no SIP registration is ever attempted.

Likely related to the framework’s ImsResolver expecting capability declarations or feature metadata that this build of org.codeaurora.ims (carried over from the FP4 stock firmware blobs originally targeting an older Android version) doesn’t publish in the new framework’s expected form. RCS appears to bind separately and works at the framework controller level, but MMTEL — the part that does VoLTE — does not activate.

This is consistent with @iode-1520’s report and with rik’s earlier note about APN regressions between Lineage 22 and 23, although in my case the APNs themselves are clean — the regression for me is one layer deeper, in IMS service activation.

Key diagnostic excerpts

dumpsys carrier_config (Phone 0):

carrier_volte_available_bool = true
carrier_wfc_ims_available_bool = true
carrier_volte_provisioning_required_bool = false
ims.* settings populated

dumpsys telephony.registry after fresh APN reset:

mPreciseDataConnectionStates={Pair{1 [ApnSetting] Sunrise Internet, 6305, 22802, internet, ..., 
  supl | hipri | default, IP, IP, ..., UNEDITED}= state: CONNECTED, ...,
  pcscf: [], ...}
mPreciseDataConnectionStates={}    ← second slot empty, no IMS PDN ever attempted

dumpsys activity services org.codeaurora.ims:

ServiceRecord{...} org.codeaurora.ims/.ImsService c:com.android.phone
  app=ProcessRecord{... 2785:org.codeaurora.ims/u0a130}
  Bindings: requested=true received=true hasBound=true

service list | grep -i ims:

250  telephony_ims: [android.telephony.ims.aidl.IImsRcsController]

(No MMTEL binder; no vendor imsrtpservice / imscallservice / similar registered.)

logcat -b all filtered for IMS-related tags over 44 s window covering boot and several cell reselections: zero matches from org.codeaurora.ims.

Modem-side, from RILJ:

DATA_REGISTRATION_STATE: REG_HOME, LTE_CA, ..., 
  lteVopsInfo = {isVopsSupported = true, isEmcBearerSupported = true}

What I’d appreciate

  • Confirmation whether anyone else on iodéOS 7.5 FP4 + Swiss carriers (Sunrise, Salt, Swisscom, or MVNOs of those) currently has working VoLTE — to narrow whether this is FP4-specific, Sunrise-specific, or both.

  • Pointer to anything I can try short of rolling back to 6.x or switching ROMs — e.g. is there a known fix in iodé’s pipeline, or a way to force the framework to (re-)bind to org.codeaurora.ims with the MMTEL feature?

  • If this is a known regression, an ETA on a fix would help with deciding whether to wait or switch.

Happy to provide more dumps (full dumpsys carrier_config, full logcat -b all around boot, dumpsys telephony.ims equivalents, etc.) on request.

Thanks and happy sunday! :slight_smile:

1 Like

Wow, thanks for the detailed writeup! I don’t understand any of it but I can tell you that after switching to Wingo (Swisscom network) I have no issues with VoLTE or VoWIFI anymore.

1 Like

1. Small correction to one paragraph above. I overstated “IMS service doing literally nothing.” More precisely:

  • The framework’s ImsPhone wrapper is alive and processes events — for example, it handles SS messages for call forwarding setup (which works for me, falling back to control-plane signaling since IMS isn’t available).

  • However Phone-0: getImsRegistrationTechnology = -1 (REGISTRATION_TECH_NONE) on every query.

  • No ImsService / MmTelFeature / ImsResolver log lines for org.codeaurora.ims, no SIP REGISTER, no IMS PDN.

So the gap is specifically between ImsPhone and the MMTEL layer below it: the framework wrapper is in place and asking, the IMS service is bound, but the IMS service never reports back a registered MMTEL feature.

2. Important cross-device data point. Another user on the same carrier (Yallo CH) running the same ROM (iodéOS 7.5) on a Fairphone 6 has fully working VoLTE / IMS registration. Combined with @iode-1520’s matching report on FP4 + Galaxus (also Sunrise MVNO) + iodéOS 7.x, this cleanly isolates the bug to the FP4 build of iodéOS 7.5 — not a general iodéOS 7.5 / Lineage 23 regression, and not a Yallo / Sunrise account issue.

The most likely interpretation: FP4’s org.codeaurora.ims and its supporting vendor blobs (carried over from FP4 stock firmware originally targeting an older Android version) don’t satisfy the new framework’s IMS service contract in the way the FP6’s newer Qualcomm IMS implementation does. FP6 ships newer blobs and “just works”; FP4 inherits the older ones and the framework can’t get a working MMTEL feature out of them.

Hallo Subcee

Hoffe es ist OK wenn ich auf deutsch schreibe.

Ich lebe auch in der Schweiz und habe genau das gleiche Problem , also nach dem Update auf 7.5 kein Telefonat ist möglich, aber Daten und SMS schon.

Folgende Ausgangslage:

1x Google Pixel 7pro (Tochter) mit TalkTalk (Sunrise)

Sowie 1x Pixel 7a (Sohn) auch mit TalkTalk also Sunrise.

Dies sind die Natel meiner Kinder.

Meines mit Iode 7.5 Pixel 7pro und Swisscom hat keine Probleme.

Es ist sogar so, dass das 7a mit meiner sim -swisscom mit dem update 7.5 wieder anrufen tätigen kann!

Daher, es liegt sicher nicht an Deinem Fairphone 4 sondern irgendwas mit dem Update 7.5 und dem provider Sunrise, da Swisscom ja auch 3g abgeschaltet hat.

Für jeden Lösungsvorschlag bin ich sehr dankbar!

Guten Wochenstart und Gruss

Ivi

Ps: habe auch eine Anfrage im Matrix Iode Forum gestellt…

Here’s the English translation:


Hello Subcee,

I also live in Switzerland and have exactly the same problem — after updating to 7.5, no phone calls are possible, but data and SMS still work.

My situation is as follows:

  • 1x Google Pixel 7 Pro (daughter’s) with TalkTalk (Sunrise)
  • 1x Pixel 7a (son’s), also with TalkTalk / Sunrise

These are my children’s phones.

My own Pixel 7 Pro with iodé 7.5 and Swisscom has no problems.

It’s even the case that the 7a can make calls again with my SIM — Swisscom — after the 7.5 update!

So I’m pretty sure it’s not your Fairphone 4 specifically, but something related to the 7.5 update and the Sunrise provider, given that Swisscom has also switched off 3G.

I’m very grateful for any suggestions on how to fix this!

Have a great start to the week, and best regards,
Ivi

Nice, thanks for your input @Ivi! Very valuable information.

So your devices work with Swisscom carrier network, but not with Sunrise / Yallo on Patch 7.5

This is interesting because I have information about an user with a Fairphone 6 on Patch 7.5 also on Yallo with working phone calls. Interestingly, this user does not have an “ims” APN Setup. Only the Sunrise Internet with no IMS in the type field. His FP6 modem doesn’t need OS-side IMS configuration to register IMS.

I will run another test this evening deleting the separate IMS APN entry on my FP4 to mirror the FP6’s APN setup and will post results, though the expectation is “still broken”.

Quick update again:

I just ran:

db shell content query --uri content://telephony/carriers \
  --projection '_id,name,apn,type' \
  --where "numeric='22802'"

ow: 0 _id=6305, name=Sunrise Internet, apn=internet, type=default,supl
Row: 1 _id=6306, name=Sunrise MMS, apn=mms.sunrise.ch, type=mms
Row: 2 _id=6307, name=IMS, apn=ims, type=ims

#remove the ims
adb shell content delete --uri content://telephony/carriers --where "_id=6307"


But no luck. Still won’t budge.

Sorry it is a lot of work to go through all your claude output. But a basic question: did you contact Sunrise to see if when you are not registered with IMS they can see the issue on their side? :slight_smile:

1 Like

Yeah I tried calling but it didn’t work badummtss

Jokes aside, no I haven’t had the chance to do that yet. Also not sure, if that would change something. Since it worked before the update I’m not sure, what they could do.

I can also try to get more specific info - if you need something, just let me know.

@Ivi @SubCee @iode-1520 in all of your cases then, you had working VoLTE calls with v7.4 (or v6.x if on that previously) but upgrading to v7.5 then broke VoLTE (for Sunrise carrier only)? Since Ivi notes the issues with a Pixel 7a and P7P with Sunrise and not with Swisscom I still wonder if there is some level of APN config that is at play here. IPV4/6 issue? Maybe even Sunrise’s customer support isn’t in sync with recent changes from their tech / network side?

Broader searches for related issues (/e/ forums or LineageOS reddit, etc) would probably be the next place to go. I did a super quick search, you guys will need to do more to dig in deeper, but I see these pop up right away on the /e/ forum, for example, without any solution:

In my case, the issue arose when updating from 6.x to 7.4. I did contact Galaxus support who in turn consulted with Sunrise but all they said was “ReCePtIoN iS bAd At YoUr LoCaTiOn”. Also, when loading my eSIM to my daughter’s Samsung phone, I checked APN settings and found no difference to my FP4, yet VoLTE and VoWIFI worked there.

ooof! Respect to you for typing that! Maybe it is a bug at LineageOS or something that would take some digging through their commit history. Sorry I lost reference to where they now manage their carrier configs, will need to check tomorrow.

I called the support team. But they didn’t call me back ,antil now…

1 Like

Hi Guys

I got a advice, to boot with the second slot.

See:.

You could boot the other slot in which 7.4 should be and pretty quickly see if the problem is 7.5.
But important, the device must be unlocked , this is important. it won’t work if locked .

So, what do you think, does this really work with pixel phone and iode 7.4-7.5?

Thank you for any help.

Greetings ivi

I am baffled, I have Pixel 5 with 7.5 (usually with beta builds) which has Sunrise SIM also FP6 with 7.5 and Mucho Mobile (MVNO Swisscom) which is my daily. In that setup I can call from Sunrise. I switched the SIM cards then from Pixel 5 with Mucho Mobile I get IMS not registered.

If there are any other tests I could do let me know…

Thank you dir offering your help.

Right now is confusing and the opposite of my expirance..

I will think about it​:person_raising_hand:

This is a very interesting data point. Thanks for bringing that up. This complicates things a bit, since its contradictory to what we have seen so far. But on the other hand shows, that it is not necessary an Issue with Sunrise (Yallo).

So could that be an indicator, that more modern devices, like the FP6, handle the IMS differently, than older devices like the Pixel5 or the FP4? Like it only works, when the modem firmware handles the IMS profile directly or something like that?

I guess it would be helpful to make some tests and grab some logs on your Pixel5 with the two different Sim-Cards inserted. But probably @rik should tell us, what he would need in order to further investigate.

In the meantime I have contacted the Support of Yallo, but have not yet got a satisfactory response.

Finally i tried it but, the bootloader is locked and shows as unlockable, but that doesn’t help me either, since unlocking it would erase the whole phone.
The idea was smooth, but I can’t risk deleting everything on the phone.
Probably, I will go for a new SIM card. The whole problem looks very very difficult.

Best greetings ivi

Everyone, if IMS is not registering then yes it could theoretically be a bug with iodéOS but I highly doubt if the issue is only a specific carrier that it is a software issue (I am not the absolute authoritiy of course! Cellular carriers often follow dark and twisted routes :slight_smile: ).

Note that for OpenMobile I just had a customer want me to test on Verizon (the most painful one to work with here in the USA). I use a MVNO with a Verizon network SIM, and indeed the device did not register IMS (OnePlus Nord N20 if it matters). I then contacted my MVNO, they are very friendly and quick to work with. I got this reply: “Your line just needed a quick backend provisioning and a reconnect to Verizon’s towers, which I took care of for you.” Ba-da-bing-ba-da-boom network was working!

So there are things ™ the carrier can do on their side. I am not saying Sunrise (or Mucho) can do that, or if the problem is the same. Only noting that “not working” doesn’t always mean “not working” and it may not be an issue on the phone at all. It may be the phone registration / identification to the network that needs “re-provisioned”.

But back to logs, etc, I honestly don’t think there will be much to look at: it isn’t getting registered we all know that, but why? The carrier should be able to say something about it after looking at your account, looking up your IMEI, seeing if there is anything that may be noteworthy? I AM re-pinging Vincent to just keep “FYI” apprised of the situation, maybe he can suggest some logcat / etc. if there is anything he thinks may be helpful.

Dear rik

This helps a lot!

Thank you and I will go one more to contact my provider!

Here for all German reader what the point:

Your line just needed a quick backend provisioning and a reconnect to Verizon’s towers, which I took care of for you.

Deeply mean…(Claude translation and Intepretaishon)

1. Backend-Provisionierung

Provisionierung bedeutet, dass ein Mobilfunkanbieter in seinen eigenen Servern/Datenbanken die Einstellungen für eine SIM-Karte oder eine Telefonnummer konfiguriert.

Stell dir das so vor:

Beim Mobilfunkanbieter gibt es eine riesige Datenbank. Darin steht für jede SIM-Karte / jede Nummer, welche Dienste erlaubt sind – z. B. normale Anrufe, SMS, aber auch IMS-Dienste wie VoLTE (Telefonieren über 4G/5G) oder Wi-Fi Calling.

Wenn ein Eintrag fehlt, falsch gesetzt oder veraltet ist, „weiß" das Netz des Anbieters nicht, dass dieses Gerät IMS nutzen darf – und verweigert die Registrierung, obwohl das Telefon technisch alles richtig macht.

„Backend" bedeutet dabei: Das passiert auf den Servern des Anbieters, nicht auf dem Telefon selbst. Der Kunde sieht davon nichts.


2. „Erneute Verbindung mit den Verizon-Türmen"

Nachdem die Provisionierung korrigiert wurde, muss das Telefon diese neuen Einstellungen auch „mitbekommen". Das passiert durch eine erneute Verbindung zum Netz, also:

  • Das Telefon meldet sich neu beim nächsten Mobilfunkmast an

  • Der Mast prüft nun erneut in der (jetzt korrigierten) Datenbank, ob IMS erlaubt ist

  • Diesmal lautet die Antwort: Ja → IMS wird registriert

Das kann man manuell auslösen, indem man am Telefon kurz in den Flugzeugmodus wechselt und wieder zurück – oder der Anbieter macht es aktiv auf seiner Seite (sogenannter „forced re-attach").

Hope it helps .

Greetings ivi​:person_raising_hand:

1 Like

:uk: If the provider doesn’t know what to do with that information, at least make sure they do an “IMEI check” to verify it is eligible for registration on their network. That would clarify “is the hardware allowed?” (step 1)

Then they can check on the “provisioning of your line”, that would check “is my line capable of registering with my hardware”? (step 2)

If both are “good” / “confirmed” by the carrier, then we come to the software side “are all the APN settings configured correctly?” (step 3)

If nothing still working and only for a single device or (or a couple) devices for a single (or a couple) carriers, it is deeply confusing, but we keep trying (steps 4 - ??)


:germany: Falls der Anbieter nicht weiß, was er mit diesen Informationen anfangen soll, stellen Sie zumindest sicher, dass er eine „IMEI-Prüfung“ durchführt, um zu überprüfen, ob das Gerät für die Registrierung in seinem Netz zugelassen ist. Damit wäre geklärt: „Ist die Hardware zugelassen?“ (Schritt 1)

Anschließend kann er die „Bereitstellung Ihrer Leitung“ prüfen, um festzustellen: „Kann meine Leitung mit meiner Hardware registriert werden?“ (Schritt 2)

Wenn beides vom Netzbetreiber als „in Ordnung“ / „bestätigt“ gemeldet wird, kommen wir zur Softwareseite: „Sind alle APN-Einstellungen korrekt konfiguriert?“ (Schritt 3)

Wenn immer noch nichts funktioniert und dies nur bei einem einzelnen Gerät (oder einigen wenigen) bei einem einzelnen (oder einigen wenigen) Netzbetreibern der Fall ist, ist das äußerst verwirrend, aber wir versuchen es weiter (Schritte 4 – ??)

1 Like