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: Understanding WebRTC technology and protocols
- Architecture Overview: How Telnyx WebRTC infrastructure works
- SDK Commonalities: Shared concepts across all WebRTC SDKs
- Authentication: Setting up credentials and connections
Client SDKs
JavaScript SDK
The official Telnyx JavaScript SDK for web browsers and Node.js applications.
- GitHub: webrtc-javascript-sdk
- Package: npm package
- Documentation: JavaScript SDK Guide
- Demo: Live Demo App
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
- Package: CocoaPods | Swift Package Manager
- Documentation: iOS SDK Guide
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
- Package: Maven Central
- Documentation: Android SDK Guide
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
- Package: pub.dev package
- Documentation: Flutter SDK Guide
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: Create connections in the Telnyx Portal
- Telephony Credentials: Configure SIP credentials
- JWT Authentication: 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: Configure iOS push notifications
- Android Push Setup: Configure Android push notifications
- Flutter Push Setup: Configure Flutter push notifications
Troubleshooting
Debug and resolve common issues:
- Call Detail Records: Analyze call performance
- Debug Logs: Enable detailed logging
- Interpreting Debug Data: 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
- Support: Contact Telnyx 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 guide.