react-native-webrtc / react-native-webrtc/react-native-callkeep

showIncomingCallUi is never fired in self-mode

Open
#733 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.1k
Forks
511
Avg merge
9h 12m
Merged PRs (30d)
2

Description

  • Reproduced on:
  • Android
  • iOS

Description

I run RNCK in self-mode.


const initializeCallKeep = async () => {
  const iosSetup = {
    appName: appName,
    supportsVideo: true,
  };

  let androidSetup = {
    alertTitle: 'Permissions required',
    alertDescription: 'This application needs to access your phone accounts',
    cancelButton: 'Cancel',
    okButton: 'ok',
    selfManaged: true,
  };

  if (platform === 'android' && Platform.Version >= 30) {
    androidSetup.foregroundService = {
      channelId: 'callkeep_channel',
      channelName: 'Foreground service',
      notificationTitle: 'My app is running on background',
      notificationIcon: 'Path to the resource icon of the notification',
    };
  }

  const res = await RNCallKeep.setup({
    ios: iosSetup,
    android: androidSetup,
  });
  console.log('CallKeep Initialized', appName, res);
};

after calling

RNCallKeep.displayIncomingCall(
    activeCall.call.callUuid,
    activeCall.name,
    activeCall.name,
    'generic',
    true,
  );

showIncomingCallUi is never fired. I listen to it. Throughout the logs I didn't find any error but also I do not get how is the event fired. displayIncomingCall in native modules runs ok but does not fire showIncomingCallUi. for test I have triggered the showIncomingCallUi manualy on the bottom of native displayIncomingCall function and as expected that triggered my code in RN when I ended the call by calling RNCallKeep.endCall(uuid); android log gave me this:

[RNCallKeepModule] endCall called, uuid: 88804f55-e449-4233-980b-808a46174abf
[RNCallKeepModule] endCall ignored because no connection found, uuid: 88804f55-e449-4233-980b-808a46174abf

Would you have any suggestion where to look to fix it?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Trace the Android self-managed call flow from RNCallKeepModule.displayIncomingCall to showIncomingCallUi, then compare it with the endCall path and its "no connection found" log. Start with the native displayIncomingCall implementation and verify that the incoming call creates the connection and emits the event; done means the event reaches React Native and endCall finds the connection.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java, react-native
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.