Incoming voice calls don't get rejected / hangup (same bug via the UI and programmatically)

Yes, please send it to the same address. I did get your MMS logs but was very distracted recently :neutral_face: sorry about that.

Thanks for looking into this. I’ve sent you the logs I gathered in February when investigating the issue.

Hey @slava,

I’ve just sent to you two tarballs for comparison: one taken with the original ofono package using HANGUP to reject calls (which doesn’t work for me and causes the call to come back and start ringing again after a few seconds), and the other one with ofono patched by @dcaliste using HANGUP_WAITING_OR_BACKGROUND (which works perfectly fine for me, i.e. rejects the call and forwards it to voicemail, just as it should). I hope it helps!

Hi @dcaliste, is it safe to install the version you built for 4.3 on the new 4.4 OS? Or does it take a new 4.4 specific build? If so, can you please make it? Thank you!

No, you should not use the packages compiled for 4.3 in 4.4. Various things related to Ofono have changed in between and you would probably create issues by downgrading part of the stack with the patched versions.

I’ll compile a new package when 4.4 SDK will be out.

3 Likes

Oh, I see. Thank you for letting me know! I guess I’ll hold on with the OS update then, in order not to lose the correctly working call hangup functionality.

Thank you Damien for your continued help with this!

Hi @slava, sorry for bothering you again, but I just wonder if you managed to find something interesting/useful in those logs, and whether there is any chance that the patch that @dcaliste made (that fixes this issue for me in 100%) could make it into the OS?

As far as I can see in those logs, without the patch the call actually occurs four times - twice as Call ID no. 1 and then twice as Call ID 2. With the patch applied, in the second log, there is just one single occurence and the call gets hung up right away…

P.S. Additionally, as I wrote in this thread, there is also another ofono-related problem that affects functionality of applications to automatically reject unwanted calls, like Phonehook or the app that I made for my own use. Ofono is very slow with processing the call hangup and often it takes it long enough for the ringtone to already start ringing for a second or two (and sometimes even the UI appearing for a fraction of a second, too). From my observations, it happens very rarely on 3G, but almost always on 4G (probably the switch from 4G to 3G delays things sufficiently for the ringtone to start ringing before hangup). Can it be optimized/made faster in this regard somehow?

P.S. 2 I’ve also tried to silence the ringtone first, before calling hangup, using

QDBusMessage m = QDBusMessage::createMethodCall("org.nemomobile.voicecall",
                                        "/calls/active",
                                        "org.nemomobile.voicecall.VoiceCall",
                                        "silenceRingtone"); 
QDBusConnection::sessionBus().call(m);

but it doesn’t seem to work at all.

Here is a version of the Ofono RIL plugin recompiled with the patch as submited in the PR above:

1 Like

Thank you @dcaliste!
I was holding on with the 4.4 update because of this, so now it is time for upgrade.
I will report if it works OK asap.

EDIT: I’ve read that currently Patchmanager doesn’t work on 4.4 and I’m way too addicted to some patches (including some made by myself) to lose them, so I guess I’ll hold on with the 4.4 upgrade until (hopefully) someone makes Patchmanager work on SFOS 4.4… So it’ll take some more time before I can test this patch…

Hi @dcaliste, I’ve finally updated to 4.4 and installed your patched version, and I’m happy to confirm that it works OK! Thank you once again, Damien!

Now I wish I could make it work faster so that calls are rejected quickly enough for the rintone not to start ringing for about one second… On 3G it is almost always sufficiently quick, but on 4G the 4G->3G switching seems to delay the hangup enough to make it start ringing before it gets hung up :woozy_face:

@dcaliste Would it be possible for you to recompile this patch for aarch64? I’d be extremely grateful…

1 Like

Or, alternatively, could you please share the sources of this patched plugin and some short guide how to compile it? Thank you!

Here is the compiled version of ofono-ril-plugin with the patch.

To compile it, I did :

  • clone the upstream repository at the upgrade-4.4.0 branch : git clone https://github.com/mer-hybris/ofono-ril-plugin -b upgrade-4.4.0
  • log into the build docker or virtual machine and build it there (there is surely a way to do this with sfdk) : mb2 -t <target name for 4.4.0 on aarch64, complete with TAB to get the name> -s rpm/ofono-ril-plugin.spec build
1 Like

Actually, I don’t know if 10 iii is already using ofono-binder-plugin or not. The 10 ii is still using the legacy ofono-ril-plugin. Check with pkcon search ofono what is installed on your device. If it’s the new binder-plugin, I’ll have to compile it also. But it requires a bit of work since the upgrade-4.4.0 is actually requiring a more recent version of libgbinder-radio than the one available on 4.4.0…

1 Like

Damien, thank you so much for compiling it! Oh, I haven’t thought about building it from within the virtual machine. I was only trying (and failing) to do it with sfdk. Thank you for the instructions, I will give it a try. I haven’t yet received that X10 III for tests, it is said to arrive by the end of the week. As soon as I have it, I will check if it is using the ofono-binder-plugin. If so, I understand that I should not install this ofono-ril-plugin?

Indeed, the patch should be applied on the installed package. If 10 iii appears to use the binder plugin, ping here, I’ll try to do it quickly.

Great, thank you. I’m still waiting for the delayed delivery, I will test it as soon as it arrives and I’ll confirm it here.

@dcaliste It turns out that I won’t get that X10 III for test, because in the meantime they got a client ready to buy it right away and they shamelessly sold it despite having promised to send it to me. Which is a pity because I really wanted to test it, especially that echo issue.

I am very sorry Damien for having taken your time to compile this, I will keep hunting for another opportunity to test it and as soon as I get it in my hands I will test the plugin and instantly report here.

No problem, my time is not that precious and @slava actually did all the work by providing a upgrade-4.4.0 branch ready to build.

Too bad you were not able to test the phone.

1 Like

The 4.4.0.68 OS update now officially includes your patch and entirely solves the issue with rejected calls coming back and ringing again. Thank you @dcaliste so much for all your work!

Given how much faster the X10 III is compared to previous models, I was hoping that it would also finally be fast enough to be ablle to programmatically reject calls quickly enough for the ringtone not to start ringing before the call gets programmatically rejected. But sadly no, it does not differ compared to previous models and OS versions, i.e. once every couple of times there is still 1-2 seconds of ringing before the call gets rejected Enough to e.g. wake me up when I want to have some sleep (or if I am in a place where my phone should not be disturbing if not really necessary) and I use the call blocking app to only allow important calls through. Unfortunately, handling the D-Bus call is too slow to reject calls before they start ringing.

Does anyone know any way to speed it up?