Overview

Incoming Calls

Stream Video makes it easy to build apps that support ringing calls. When a user initiates a ringing call, the recipient receives an incoming call notification.

For detailed instructions on implementing ringing functionality, visit this page.

Ringing Options

The way an incoming call is presented depends on your app’s configuration and its current state (foreground, background, or terminated).

In-app Incoming Calls

When the app is in the foreground, you can display a custom in-app incoming call screen. This screen is typically triggered by a ringing WebSocket event sent to your app. You have full control over the design and behavior of this screen. For more information on customizing the in-app call screen, check out this section.

This method does not display an incoming call screen if the app is in the background or terminated. To handle such scenarios, proper VoIP push handling is required. Additionally if VoIP push/CallKit is configured, the system displays a ringing notification alongside the in-app incoming screen when the app is in the foreground.

CallKit Integration (iOS)

For iOS apps running in the background or terminated, Apple’s CallKit framework can be integrated. CallKit enables the app to handle system-level incoming call screens by sending a VoIP push notification from the server, which wakes up the app. While CallKit provides limited UI customization, it ensures consistent behavior across iOS devices. To learn more about integrating Stream Video with CallKit, refer to the guide for your app below:

Firebase Integration (Android)

For Android apps running in the background or terminated, Firebase push notifications can be used to handle ringing. These notifications let users join or decline the call and can also launch the app if needed. For step-by-step integration instructions, refer to the guide according to your app below:

Non-ringing push notifications

You can also use standard push notifications for indicating non ringing related events such as missed calls or live stream started notifications. While these notifications are less interactive and do not allow users to directly accept or reject a call, they can trigger actions such as navigating to a specific screen or showing a modal in your app. For more details, visit the non ringing push notifications guide according to your app below:

© Getstream.io, Inc. All Rights Reserved.