Calling Issue Resolution in Flutter App
Budget: ₹600 – ₹1,500 INR
Flutter Calling App (Customer Listener)
Tech Stack
Flutter Mobile App
Node.js Backend
ZEGOCLOUD Voice/Video Calling SDK
Firebase Cloud Messaging (if implemented)
Issue Description
The app allows Customers to call Listeners using ZEGOCLOUD.
The call works when both users are actively using the app. However, when the Listener app is in the background or the device is locked, incoming calls are not being received consistently.
Expected Behaviour
Listener receives incoming call when app is open.
Listener receives incoming call when app is minimized.
Listener receives incoming call when phone screen is locked.
Listener can accept/reject directly from incoming call screen.
Call notifications should work reliably on Android and iOS.
Areas to Investigate
Flutter Side
Zego Call Invitation Service initialization
Background message handlers
App lifecycle management
Android Foreground Service
Notification permissions
Battery optimization handling
ZEGOCLOUD Side
Call Invitation Service setup
Offline Push Configuration
Zego Token generation
User login/logout management
Push resource configuration
Firebase Side
FCM token refresh
Background notification delivery
Notification vs Data messages
Android notification channels
Android Side
Android 13+ notification permissions
Foreground services
Doze Mode restrictions
Battery optimization settings
Manufacturer-specific restrictions (Xiaomi, Vivo, Oppo, OnePlus, etc.)
iOS Side
VoIP Push
CallKit integration
Background modes
PushKit configuration
Required Deliverables
Complete root-cause analysis.
Fix incoming call reception in background.
Verify call reception in locked-screen state.
Verify Android 12, 13, 14, and 15 compatibility.
Verify iOS compatibility.
Documentation of the fix.
Tech Stack
Flutter Mobile App
Node.js Backend
ZEGOCLOUD Voice/Video Calling SDK
Firebase Cloud Messaging (if implemented)
Issue Description
The app allows Customers to call Listeners using ZEGOCLOUD.
The call works when both users are actively using the app. However, when the Listener app is in the background or the device is locked, incoming calls are not being received consistently.
Expected Behaviour
Listener receives incoming call when app is open.
Listener receives incoming call when app is minimized.
Listener receives incoming call when phone screen is locked.
Listener can accept/reject directly from incoming call screen.
Call notifications should work reliably on Android and iOS.
Areas to Investigate
Flutter Side
Zego Call Invitation Service initialization
Background message handlers
App lifecycle management
Android Foreground Service
Notification permissions
Battery optimization handling
ZEGOCLOUD Side
Call Invitation Service setup
Offline Push Configuration
Zego Token generation
User login/logout management
Push resource configuration
Firebase Side
FCM token refresh
Background notification delivery
Notification vs Data messages
Android notification channels
Android Side
Android 13+ notification permissions
Foreground services
Doze Mode restrictions
Battery optimization settings
Manufacturer-specific restrictions (Xiaomi, Vivo, Oppo, OnePlus, etc.)
iOS Side
VoIP Push
CallKit integration
Background modes
PushKit configuration
Required Deliverables
Complete root-cause analysis.
Fix incoming call reception in background.
Verify call reception in locked-screen state.
Verify Android 12, 13, 14, and 15 compatibility.
Verify iOS compatibility.
Documentation of the fix.