Mac Catalyst: outgoing CallKit call opens FaceTime and turns on the camera

We're bringing our CallKit-based VoIP app to the Mac with Mac Catalyst. Incoming calls work fine. For outgoing calls we request a CXStartCallAction (audio only, isVideo = false), the provider fulfills it and the call connects. But at the moment the call starts dialing, macOS launches FaceTime.app, which turns on the camera preview and shows its own call screen for our call ("no video"). When the call ends, FaceTime stays open and the camera stays on until FaceTime is quit manually.

The system log shows callservicesd deciding to launch the in-call application for our call:

callservicesd  _shouldLaunchInCallApplicationForCall: 1
callservicesd  Opening URL: <private> for call <private>
CoreServicesUIAgent  LAUNCH: ... com.apple.FaceTime starting stopped process.

Reported as FB25284357 (macOS 27.0.1, Xcode 27.1).

Is this expected for third-party CallKit providers on macOS? Is there a supported way to keep the call in our own app without dropping CallKit for outgoing calls?

CallKit is designed to provide the system call interface for VoIP apps, so there may not be a supported switch to keep all call UI exclusively inside your app while still using CallKit. Apple's documentation describes CallKit as providing the calling interface for incoming and outgoing calls: https://developer.apple.com/documentation/callkit

That said, FaceTime launching and leaving its camera preview running for an audio-only third-party call sounds unexpected. I couldn't find a documented macOS API to suppress that behavior. The default calling app option in Apple's docs is specifically described for iOS and iPadOS, so I wouldn't assume it changes this Mac Catalyst behavior: https://developer.apple.com/documentation/callkit/preparing-your-app-to-be-the-default-calling-app

Since you already filed FB25284357, I'd add a small reproducible Catalyst sample, the exact macOS and Xcode builds, your CXProviderConfiguration (especially supportsVideo), and a sysdiagnose captured right after the call. That should help Apple determine whether this is a macOS bug or an intended CallKit routing behavior.