We have a VoIP app with more call features. Sometimes, we received some feedback about "call ended". After checking the log file, it shows there are user actions (e.g., from func provider(_ provider: CXProvider, perform action: CXEndCallAction)),
If you want to look into this in depth, then the best approach is to get the user to capture a sysdiagnose and use the console log to see if you can determine what's going on. A few notes on that:
-
The log doesn't need to be captured "immediately" after the issue. Even logs captured a few hours later are often quite useful.
-
It IS critical that the device NOT have been rebooted since the problem occurred. If it has been rebooted, so much log context is lost that the log is generally useless.
You can find instructions for triggering and collecting a sysdiagnose here. Having said that, one comment on this:
But the user said no user actions. So we doubt if there is a system-level event or error that will end this call. Then the details of the end call reason would be very helpful for debugging.
While it's possible there is some kind of issue going on here, it's also common for users to not be entirely aware of EXACTLY how the phone handles every detail of the call flow. For example, many users don't notice that clicking the lock button will hang up a call that's being directly handled by the device (not through a headset)[1], even though that behavior has been part of iOS for essentially "forever" (possible iPhone 1). I've seen cases where users have reported these as app bugs, when what's actually going on is that the user happens to have noticed a behavior they were previously unaware of.
[1] I use this example because I personally experienced it with EXACTLY this behavior. Many years ago, as we were preparing to release Speakerbox, I actually got frustrated because I couldn't "get" to the lock screen UI because every time I locked the screen, the call hung up. I was so annoyed that I was actually testing Phone.app to validate that it was "a bug", only to discover that Phone.app was behaving exactly the same way a full OS release earlier (iOS 9 vs. iOS 10). Even worse, a few days later, I realized that I'd unconsciously ended a call... by clicking the lock button.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware