session-foundation / session-ios

A private messenger for iOS.
https://getsession.org
GNU General Public License v3.0
3 stars 1 forks source link

Voice Calls Working 50% At Best (I Know They Are Beta) #83

Open GittyUpMyHorsey opened 1 year ago

GittyUpMyHorsey commented 1 year ago

Voice calls work at best about 50% of the time with all of my session contacts who all have fast enabled.

I am using the latest ios mobile version they are using a mix of the latest ios and android mobile versions.

Around 50% of the time the calling party just gets a ringing forever and cannot connect, sometimes the called part never sees the incoming call at all the other half of the time the called party sees the call and hits answer but and the call just says connecting forever and never connects.

I know this is beta functionality, just wanted to give you some feedback.

ghost commented 1 year ago

I also heard users complaining voice call not working. I tested Voice calls with both physical iOS devices and iOS simulators, none of them works for me.

Version: Session iOS 2.2.4 (389)

Here is a screenshot shows some failed calls

Screen Shot 2023-01-30 at 6 01 21 am

The below screenshot shows the moment when a call fails: Alice calls Bob, Bob sees an incoming call but is not able to accept the call, instead, Bob's Session automatically reports the call has "Ended", but Alice's Session still shows a ringing call waiting for being accepted.

Screen Shot 2023-01-30 at 6 01 43 am
ghost commented 1 year ago

Here is my very brief result, need more tests from more people

Android Caller iOS Caller Desktop Caller
Android Callee Works Works Sometimes works, seems to depend on Android device/simulator
iOS-Simulator Callee Not works Not works Not works
iOS-Physics Callee Not works Works Works
Desktop Callee. Works Works Works after long wait
GittyUpMyHorsey commented 1 year ago

Same experience on my end.

ghost commented 1 year ago

Hi @RyanRory I saw you are working on Calls, not sure if you are able to reproduce this one? Thanks!

RyanRory commented 1 year ago

Hey @fracting, I haven't got a chance to touch this issue yet. But we've noticed this annoying issue and planned on have some test for it. Will keep you posted. Thanks!

RyanRory commented 1 year ago

For the record, iOS simulators will hang up on calls immediately due to CallKit not working well on simulators. If you were testing iOS as callee on simulators, the results are within expectation. Cheers!

ghost commented 1 year ago

For the record, iOS simulators will hang up on calls immediately due to CallKit not working well on simulators. If you were testing iOS as callee on simulators, the results are within expectation. Cheers!

Thanks! I'll retest with real device then.

ghost commented 1 year ago

Update: (Android Caller, iOS-Physics Callee) doesn't work for me, other combinations seem to work.

RyanRory commented 1 year ago

Update: (Android Caller, iOS-Physics Callee) doesn't work for me, other combinations seem to work.

Thanks @fracting! Can I have more details on your test? Like for iOS callee, in which process the call failed?

ghost commented 1 year ago

Update: (Android Caller, iOS-Physics Callee) doesn't work for me, other combinations seem to work.

Thanks @fracting! Can I have more details on your test? Like for iOS callee, in which process the call failed?

Sorry I can't reproduce today, iOS (Android Caller, iOS-Physics Callee) works now, I don't know why.

I'll do more testing and update when I can reproduce it.

GittyUpMyHorsey commented 1 year ago

All of my previous testing was done on non dev or non simulator devices, havnt used calling lately so havnt been able to check if it's been resolved.

dmastrorillo commented 1 year ago

Facing this issue as well iOs to iOs. I've noticed the issue is more apparent when both users initiate a call at the same or similar times.

In some occasions, my phone will only briefly show the incoming call, before showing a missed call. Meanwhile, it is still ringing for the caller.

Also, other times, the connection screen just hangs indefinitely.

Pausing phone calls from both parties for even 10 seconds, co-ordinating which party will call, and then initiating the call seems to fix the issue in most cases.

mpretty-cyro commented 1 year ago

This won't have an impact on call reliability but I've made a tweak in oxen-io/session-ios#823 which should fix the issue preventing calls from working in the iOS Simulator (have just disabled CallKit in the simulator) - this will at least make it easier to test/debug calls

nielsandriesse commented 3 months ago

+1. Calls don't work well iOS - iOS. If both sides have Session open when the call is initiated, it's fine. But if one side doesn't have Session open at the time the call is made, it doesn't work. It takes a long time for the call notification to come through (~20s) and once it does it immediately goes to "call failed".