Real-time Communication SDK
Voice and video calls, system incoming-call screens, push wake-up and call states are already integrated for iOS, Android, Web, React Native and Expo. Calls run with zero latency, and international calls stay just as immediate across more than 130 countries and territories. Your team builds the product; dialing, ringing, answering and the media connection are ours.
The caller sees each stage as it happens: contacting the other device, ringing, connected. The person called gets an incoming call to answer or decline.
Web uses the browser's own WebRTC; iOS and Android ship a pinned open-source media runtime. Call screens, ringtones and audio routing are implemented on every platform.
CallKit incoming calls, PushKit wake-up and AVAudioSession routing: answer from the lock screen like any phone call.
Telecom full-screen incoming calls, FCM wake-up, and earpiece, speaker and Bluetooth routing through AudioManager.
Modern browsers on Windows, macOS, Linux and phones: place and answer calls with nothing to install.
One codebase for iOS and Android with the native call layer (system incoming calls, ringtones, audio routing) built in; Expo gets a config plugin.
Incoming calls use CallKit on iOS and a full-screen notification on Android: the same answer experience as an ordinary call.
When your app is not in the foreground, APNs or FCM wakes it and the phone rings on the lock screen.
Contacting, ringing, connected: every step raises an event, and a call nobody answers is closed as missed on its own.
One person signed in on several devices rings on all of them; the first to answer takes the call and the rest stop ringing.
Ringback for the caller and a ringtone for the person called, with silent and vibrate modes honoured; switch between earpiece, speaker and Bluetooth.
Every participant reports network samples; the console charts round-trip time, jitter, packet loss and a call quality score.
The same platform grows into group meetings with captions, recording and post-meeting summaries.
Start calls, read their state and receive webhooks from your backend, with examples in cURL, Node.js, PHP, Python, Go, C# and Java.
Already have dialing or push? Keep it. Each layer can be used on its own.
iOS, Android, Web, React Native and Expo. React Native shares one codebase for iOS and Android with the native call layer built in, and Expo gets a config plugin.
Yes. On iOS a VoIP push (PushKit) wakes the app and CallKit shows the system incoming-call screen; on Android FCM wakes the app and Telecom shows a full-screen incoming call. The person answers from the lock screen like any phone call.
Yes. Take only the media core, add signaling, add the system incoming-call screens, or use the fully managed path where the SDK handles signaling, push wake-up, the incoming screen and media.
A call nobody answers is closed as missed on its own. A person signed in on several devices rings on all of them; the first to answer takes the call and the rest stop ringing.
Through the server API: start calls, read their state and receive webhooks, with examples in cURL, Node.js, PHP, Python, Go, C# and Java.
We reply with the integration path, a test account and pricing for your volume.
Live streaming, calls, meetings and the applications built on them, all on one platform.