CallKit ring tone will stop on 60s later on iOS16

Hi! On iOS 16 CallKit for some reason will not ring over 60s.

func reportNewIncomingCall(with UUID: UUID, update: CXCallUpdate, completion: @escaping (Error?) -> Void)

After receiving a VoIP call push, I have reported it as soon as possibile.

Expected result:

  • Will ring always.

Actual result:

  • Stop after 60s

Accepted Reply

I also see this.. In the device logfile I see the following

10:33:40.041163+0100 callservicesd Exceeded ringing duration of 60 seconds; disconnecting call with identifier <private>

I have seen it on a device running iOS16.1.1 and another device running iOS16.4.1

So this looks like an intentional action by Callkit... This makes a VoIP App very limited in PBX Call queuing situations where calls might be ringing for long durations.

Is there some way to avoid it. I cannot find anything

Replies

I also see this.. In the device logfile I see the following

10:33:40.041163+0100 callservicesd Exceeded ringing duration of 60 seconds; disconnecting call with identifier <private>

I have seen it on a device running iOS16.1.1 and another device running iOS16.4.1

So this looks like an intentional action by Callkit... This makes a VoIP App very limited in PBX Call queuing situations where calls might be ringing for long durations.

Is there some way to avoid it. I cannot find anything

@davemaj Thanks for you reply. Your reply is very useful.It seems that the ringing call has been end by the callservicesd. Do you know that Apple has confirmed this issue?

Yes.... it was confirmed to me that the 60 sec behaviour is by design. I would suggest you file an enhancement request with them if you believe as I do that this is too short. For PABX behaviour calls can ring for longer than that in busy situations. Also as far as I know the callback we get from Callkit doesnt allow me to distinguish between a caller rejecting the call rather than this 60 sectimeout. In that case it looks to our call records that the user rejected the call rather than it being a missed call :-(