> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WebRTC SDKs

> Official Telnyx WebRTC SDKs for building real-time communication applications across web and mobile platforms.

# WebRTC SDKs

Telnyx WebRTC SDKs enable you to build real-time voice and video communication applications directly in web browsers and mobile apps. Our SDKs provide a complete solution for WebRTC-based calling with features like call control, media management, and seamless integration with Telnyx's global network.

## Core Concepts

Before diving into the SDKs, familiarize yourself with these key concepts:

* **[WebRTC Fundamentals](/development/webrtc/fundamentals/index)**: Understanding WebRTC technology and protocols
* **[Architecture Overview](/development/webrtc/architecture/index)**: How Telnyx WebRTC infrastructure works
* **[SDK Commonalities](/development/webrtc/sdk-commonalities/index)**: Shared concepts across all WebRTC SDKs
* **[Authentication](/development/webrtc/auth/credential-connections/index)**: Setting up credentials and connections

## Client SDKs

### JavaScript SDK

The official Telnyx JavaScript SDK for web browsers and Node.js applications.

* **GitHub**: [webrtc](https://github.com/team-telnyx/webrtc)
* **Package**: [npm package](https://www.npmjs.com/package/@telnyx/webrtc)
* **Documentation**: [JavaScript SDK Guide](/development/webrtc/js-sdk/demo-app/index)
* **Demo**: [Live Demo App](https://webrtc.telnyx.com/)

```bash theme={null}
npm install @telnyx/webrtc
```

**Features:**

* Browser-based calling and receiving
* Call control (hold, mute, transfer)
* Dual-tone multi-frequency (DTMF) support
* Audio device management
* Call recording capabilities

### iOS SDK

The official Telnyx iOS SDK for iPhone and iPad applications.

* **GitHub**: [telnyx-webrtc-ios](https://github.com/team-telnyx/telnyx-webrtc-ios)
* **Package**: [CocoaPods](https://cocoapods.org/pods/TelnyxRTC) | [Swift Package Manager](https://github.com/team-telnyx/telnyx-webrtc-ios)
* **Documentation**: [iOS SDK Guide](/development/webrtc/ios-sdk/index)

```bash theme={null}
pod 'TelnyxRTC'
```

**Features:**

* Native iOS calling experience
* Background app support
* Push notifications for incoming calls
* CallKit integration
* Bluetooth headset support

### Android SDK

The official Telnyx Android SDK for Android applications.

* **GitHub**: [telnyx-webrtc-android](https://github.com/team-telnyx/telnyx-webrtc-android)
* **Package**: [Maven Central](https://search.maven.org/artifact/com.telnyx/webrtc-android)
* **Documentation**: [Android SDK Guide](/development/webrtc/android-sdk/index)

```gradle theme={null}
implementation 'com.telnyx:webrtc-android:LATEST'
```

**Features:**

* Native Android calling experience
* Background service support
* Push notifications for incoming calls
* Audio focus management
* Bluetooth headset support

### Flutter SDK

The official Telnyx Flutter SDK for cross-platform mobile applications.

* **GitHub**: [flutter-webrtc-sdk](https://github.com/team-telnyx/flutter-webrtc-sdk)
* **Package**: [pub.dev package](https://pub.dev/packages/telnyx_webrtc)
* **Documentation**: [Flutter SDK Guide](/development/webrtc/flutter-sdk/index)

```yaml theme={null}
dependencies:
  telnyx_webrtc: ^LATEST
```

**Features:**

* Cross-platform iOS and Android support
* Single codebase for multiple platforms
* Native performance and UI
* Push notifications support
* Platform-specific integrations

## Getting Started

### 1. Choose Your Platform

Select the SDK that matches your target platform:

* **Web applications**: JavaScript SDK
* **iOS native apps**: iOS SDK
* **Android native apps**: Android SDK
* **Cross-platform mobile**: Flutter SDK

### 2. Set Up Authentication

Configure your WebRTC credentials:

* **[Credential Connections](/development/webrtc/auth/credential-connections/index)**: Create connections in the Telnyx Portal
* **[Telephony Credentials](/development/webrtc/auth/telephony-credentials/index)**: Configure SIP credentials
* **[JWT Authentication](/development/webrtc/auth/jwt/index)**: Secure token-based authentication

### 3. Install and Initialize

Follow the installation guide for your chosen platform and initialize the SDK with your credentials.

### 4. Make Your First Call

Use the SDK's calling methods to place and receive calls through Telnyx's network.

## Key Features

All Telnyx WebRTC SDKs provide:

### Core Calling Features

* **Outbound calling**: Place calls to phone numbers and SIP addresses
* **Inbound calling**: Receive calls with webhook notifications
* **Call control**: Hold, mute, transfer, and end calls
* **DTMF support**: Send touch-tone signals during calls

### Media Management

* **Audio codecs**: Support for multiple audio codecs (Opus, G.711, G.722)
* **Device management**: Select microphones, speakers, and cameras
* **Audio processing**: Echo cancellation and noise suppression
* **Recording**: Server-side call recording capabilities

### Mobile-Specific Features

* **Push notifications**: Receive incoming call notifications when app is closed
* **Background operation**: Continue calls when app is backgrounded
* **Platform integration**: CallKit (iOS) and ConnectionService (Android)
* **Battery optimization**: Efficient power usage during calls

## Advanced Topics

### Push Notifications

Learn how to implement push notifications for incoming calls:

* **[iOS Push Setup](/development/webrtc/ios-sdk/push-notification/portal-setup/index)**: Configure iOS push notifications
* **[Android Push Setup](/development/webrtc/android-sdk/push-notification/portal-setup/index)**: Configure Android push notifications
* **[Flutter Push Setup](/development/webrtc/flutter-sdk/push-notification/portal-setup/index)**: Configure Flutter push notifications

### Troubleshooting

Debug and resolve common issues:

* **[Call Detail Records](/development/webrtc/troubleshooting/detail-records/index)**: Analyze call performance
* **[Debug Logs](/development/webrtc/troubleshooting/debug-logs/index)**: Enable detailed logging
* **[Interpreting Debug Data](/development/webrtc/troubleshooting/interpreting-debug-data/index)**: Understand debug output

## Support and Resources

* **Sample Applications**: Each SDK repository includes complete example applications
* **API Reference**: Detailed API documentation for each SDK
* **GitHub Issues**: Report bugs or request features on the respective repositories
* **Developer Community**: Join our [Developer Community](https://developers.telnyx.com/community)
* **Support**: Contact [Telnyx Support](https://telnyx.com/support) for technical assistance

## Network Requirements

For optimal WebRTC performance, ensure your network supports:

* **UDP traffic**: WebRTC uses UDP for media streams
* **STUN/TURN**: For NAT traversal and firewall traversal
* **Signaling**: WebSocket connections for call signaling
* **Media ports**: Configurable RTP port ranges

Learn more about network requirements in our [WebRTC Fundamentals](/development/webrtc/fundamentals/index) guide.
