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 hel