REPRODUCIBILITY: Sometimes
OS VERSION: 5.2.0.16
HARDWARE: Jolla Phone 2026
UI LANGUAGE: Russian
REGRESSION: Yes
DESCRIPTION:
Sometimes, calls to 2G recipients do not connect. Retrying the call is successful.
PRECONDITIONS:
Connect to a 4G/2G mobile network. Optionally, set “Use 2G only” in the network settings.
STEPS TO REPRODUCE:
Call a 2G handset.
EXPECTED RESULT:
The call is connected and the recipient device rings.
ACTUAL RESULT:
I observed various unsuccessful outcomes.
In some cases, the ringing tone is heard on the phone for some time, followed by the hangup tone. The recipient device never registers the call.
In another case, the hangup tone was heard immediately, and the recipient handset displayed a missed call.
The failure mode may be dependent on the network settings configuration (4G or 2G). It could also be that the very first call after registering on the network fails.
ADDITIONAL INFORMATION:
4G calls (VoLTE) appear to be unaffected.
Sending SMS to 2G recipients also works.
There is no 3G coverage in my country anymore.
It is unclear whether the same problem affects calls to landlines.
I did not observe such failures on an Xperia device running Sailfish OS on the same network with the same SIM card. It goes without saying that there is no problem with Android devices, either.
So it could be related to the specific baseband layer setup on the Jolla Phone 2026. Of course, it could also be a combination of this and the operator behavior.
I was able to reproduce the problem with oFono logging enabled.
First, by fiddling with the “Network mode” setting I got the phone in a state where any call immediately failed, even after toggling airplane mode on and off. Restarting the network subsystem from the Utilities page fixed this. This could indicate a problem with the baseband layer.
After the subsystem restart, the phone was in 4G mode. I initiated a call to the 2G recipient device. The device rang for less than a second and displayed a missed call. The Jolla phone played a hangup tone.
The captured oFono log corresponds to these events, with the failed 2G call last before I stopped logging. The time of this call was 12:55.
The log is mostly binary, so it is not clear whether it contains any definitive clues. I can see where the call starts and ends, and a bunch of service messages in between. I do see the following binary message in the log: vendor.mediatek.hardware.mtkradioex.ims.IMtkRadioExImsIndication with a handover cancelled status.
Since the log might contain sensitive information, I can share the full archive with Jolla in private.
On the Github page of oFono, @slava seems to be very active with commits and PRs, but maybe someone from @Jolla could confirm the best target to receive the logs.
Intriguing.
There should be no handovers involved here - though casual lingo might call the release with redirect from 4G to 2G a handover. But then you wouldn’t actually use VoLTE - do you stay on 4G while calling?
Already being on 2G having the same problem seems quite odd if it was related to a slow fallback though. Do you get another message if you were already on 2G when a call fails?
I’m still thinking the network is at least partially at fault. The Android device you tested, was it Mediatek too? Qualcomm having some fancy optimization, or just plain better performance, and saving the situation wouldn’t exactly be surprising.
After considering the circumstances and the specific message above, I think part of the trigger could be low 4G signal, in which case the phone might try to fall back to a 2G call even with VoLTE enabled. Just before the call, I see
even though the 1% figure repeats throughout the whole log and might not be a reliable indicator.
However, I still haven’t observed call failures to VoLTE devices so far, so there might be more factors.
I also have a feeling that disabling VoLTE in the Jolla phone might help. I should test this later.
In regular calls, yes, also when calling the same 2G device. I haven’t noted what exactly occurs during a failed call.
So far I could not reproduce this with logging enabled. It seems that this failure mode is much more rare.
That device indeed has a Qualcomm chipset. Come to think about it, all previous Sailfish OS phones I used with this network also have Qualcomm hardware.
For completeness; RWR/CS-fallback is controlled by the network. The phone actually isn’t even allowed to drop just like that if it is transmitting data. Sure, they can of course ignore that and reselect anyway - but seems strange.
Indeed don’t over-estimate the correlation or deep connection with 2G recipients. Your device really shouldn’t notice that very directly - especially not through VoLTE on your end (or even anything beyond the exact same 2G network). Perhaps the 2G recipient is somewhat slower to respond, but that’s about what i could see happening.
Apart from maybe a bit more of the total time budget spent on interacting with your phone, i don’t quite see an explanation model for how it would.
Today I observed the same behavior when calling a landline. The recipient picked up the phone, and the call was disconnected within a second. Worse, after this all subsequent calls immediately failed until I turned off VoLTE in the settings. Then I was able to make the call again in 2G mode.
Overall, this is quite disappointing. A phone that cannot reliably make calls is unfit for its purpose. Perhaps selecting the MediaTek hardware was a poor choice.