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

[RNCallKeepModule] displayIncomingCall ignored due to no ConnectionService or no phone account

Open
#678 5 comments 3 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

Bug report

  • I've checked the example to reproduce the issue.

  • Reproduced on:

  • Android

  • iOS

Description

In some Lenovo devices the incoming call is not showing up, neither the outgoing calls are received. The isConnectionServiceAvailable method returns true so the problem must reside in the 'no phone account' part. For some reason the setup is returning false too. This is how my options looks like:

android: {
    selfManaged: true,
    alertTitle: 'Permissions required',
    alertDescription: 'This application needs to access your phone accounts',
    cancelButton: 'Cancel',
    okButton: 'ok',
    additionalPermissions: [PermissionsAndroid.PERMISSIONS.READ_CONTACTS],
    imageName: 'logo',
    // Required to get audio in background when using Android 11
    foregroundService: {
      channelId: 'CallKeepService',
      channelName: APP_NAME,
      notificationTitle: 'App running in background',
      notificationIcon: '../../assets/icons/app-icon.png',
    },
  },
  ios: {
    appName: APP_NAME,
    maximumCallGroups: '1',
    maximumCallsPerCallGroup: '1',
    includesCallsInRecents: false,
    supportsVideo: true,
  },

I tried to go to calling accounts with hasDefaultPhoneAccount, but this just navigates me to an empty screen with Calling accounts header title. My app is not available in this list.
What should i do to enable calling in this tablet? How can i register my app as a calling app?

Steps to Reproduce

Versions

- Callkeep: 4.3.3
- React Native: 0.70.5
- iOS:
- Android: 11
- Phone model: Lenovo TB-X306F

Logs

[RNCallKeepModule] updating react context
[RNCallKeepModule] setup
[VoiceConnectionService] setAvailable: false
 [VoiceConnectionService] setInitialized: true
[RNCallKeepModule] setSettings: { NativeMap: {"alertDescription":"This application needs to access your phone accounts","cancelButton":"Cancel","alertTitle":"Permissions required","foregroundService":{"channelId":"CallKeepService","channelName":"x Elder","notificationTitle":"App running in background","notificationIcon":"../../assets/icons/app-icon.png"},"okButton":"ok","selfManaged":true,"imageName":"logo","additionalPermissions":["android.permission.READ_CONTACTS"]} }
[RNCallKeepModule] API Version supports self managed, and is enabled in setup
 [RNCallKeepModule] setup, adding RECORD_AUDIO in permissions in self managed
  [RNCallKeepModule] registerPhoneAccount
[RNCallKeepModule][registerPhoneAccount] CAPABILITY_SELF_MANAGED.
 [RNCallKeepModule] registerEvents
[RNCallKeepModule] startObserving, event count: 0
 [RNCallKeepModule] startObserving, event count: 0
[VoiceConnectionService] setAvailable: true
 [VoiceConnectionService] setInitialized: true
[VoiceConnectionService] setAvailable: true
[VoiceConnectionService] setInitialized: true
[VoiceConnectionService] setCanMakeMultipleCalls: true
[RNCallKeepModule] displayIncomingCall ignored due to no ConnectionService or no phone account
[RNCallKeepModule] reportEndCallWithUUID, uuid: ac348c38-24b5-4910-9bdb-e9bd220869d0, reason: 2

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

Start with the RNCallKeepModule setup and registerPhoneAccount flow, using the VoiceConnectionService logs as the entry point. Reproduce on the Lenovo TB-X306F with Android 11 and determine why no phone account is available; done means displayIncomingCall no longer reports that there is no ConnectionService or phone account.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.