I am having the same issue, channelManager(_:didActivate:) is not called in the background. audio is included in UIBackgroundModes. So, it seems the issue is in the PTT framework itself. No, not necessarily. What audio API are you using and, most importantly, do you EVER activate the AudioSession yourself? The PTT framework is built around the same infrastructure as CallKit, which also means that you MUST rely on it for session activation instead of activating the audio session yourself. CallKit's speakerbox sample is a good starting point for how this should work. I am testing on debug mode, but that shouldn't be a reason, right? No and, in fact, testing with the debugger tends to make this work better than it should[1], not worse. [1] Notably, the debugger disables normal app suspension, so your app ends up being awake in the background in ways that would not normally occur. __ Kevin Elliott DTS Engineer, CoreOS/Hardware