---
title: Push to Talk
framework: Push to Talk
role: collection
role_heading: Framework
platforms: [iOS 16.0+, iPadOS 16.0+, Mac Catalyst 16.0+]
path: pushtotalk
---

# Push to Talk

Display the system user interface for your app’s Push to Talk services.

## Overview

Overview The Push to Talk framework is a power-efficient, user-friendly, and privacy-focused API. It gives your apps the ability to provide user interface controls that allow your users to transmit audio from anywhere. It supplies an ephemeral Apple Push Notification service token so the system can wake your app in the background to handle incoming audio while a session is ongoing. note: Push to Talk services aren’t available to compatible iPad and iPhone apps running in visionOS.

## Topics

### Essentials

- [Creating a Push to Talk app](pushtotalk/creating-a-push-to-talk-app.md)
- [PTChannelManager](pushtotalk/ptchannelmanager.md)

### Channel management

- [PTChannelManagerDelegate](pushtotalk/ptchannelmanagerdelegate.md)
- [PTTransmissionMode](pushtotalk/pttransmissionmode.md)
- [PTServiceStatus](pushtotalk/ptservicestatus.md)
- [PTChannelJoinReason](pushtotalk/ptchanneljoinreason.md)
- [PTChannelLeaveReason](pushtotalk/ptchannelleavereason.md)
- [PTChannelTransmitRequestSource](pushtotalk/ptchanneltransmitrequestsource.md)

### Channel restoration

- [PTChannelDescriptor](pushtotalk/ptchanneldescriptor.md)
- [PTChannelRestorationDelegate](pushtotalk/ptchannelrestorationdelegate.md)

### Channel participants

- [PTParticipant](pushtotalk/ptparticipant.md)

### Push notification results

- [PTPushResult](pushtotalk/ptpushresult.md)

### Push to Talk errors

- [PTChannelError](pushtotalk/ptchannelerror-swift.struct.md)
- [PTChannelError.Code](pushtotalk/ptchannelerror-swift.struct/code.md)
- [PTInstantiationError](pushtotalk/ptinstantiationerror-swift.struct.md)
- [PTInstantiationError.Code](pushtotalk/ptinstantiationerror-swift.struct/code.md)
- [PTChannelErrorDomain](pushtotalk/ptchannelerrordomain.md)
- [PTInstantiationErrorDomain](pushtotalk/ptinstantiationerrordomain.md)
