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

CallKeep auto close later 5 to 10 second on ios

Open
#478 2 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

I am doing push voip with callkeep. When the application is running or in the background. It works well. But when I kill it, the callkeep shows only 5 to 10 seconds then turns off by itself.
Version react-native-callkeep: 4.2.0 or 4.1.0
version react-native-voip-push-notification: 3.3.0 or 3.1.0

version react-native: 0.63.4

im running on Ipad, version padOS: 14.7.1

AppDelegate.m

// --- Handle updated push credentials

  • (void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)credentials forType:(PKPushType)type {
    // Register VoIP push token (a property of PKPushCredentials) with server
    [RNVoipPushNotificationManager didUpdatePushCredentials:credentials forType:(NSString *)type];
    }

  • (void)pushRegistry:(PKPushRegistry *)registry didInvalidatePushTokenForType:(PKPushType)type
    {
    // --- The system calls this method when a previously provided push token is no longer valid for use. No action is necessary on your part to reregister the push type. Instead, use this method to notify your server not to send push notifications using the matching push token.
    }

  • (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(PKPushType)type withCompletionHandler:(void (^)(void))completion {
    // Process the received push
    NSDictionary *custom = [payload.dictionaryPayload valueForKey:@"custom"];
    NSLog(@"custom123123123");
    NSLog(@"%@", custom);
    NSDictionary *a = [custom valueForKey:@"a"];
    NSString *uuid = [a valueForKey:@"uuid"];
    NSString *domain = [a valueForKey:@"domain"];
    NSString *token = [a valueForKey:@"token"];
    NSString *room = [a valueForKey:@"room"];
    NSString *mobile = [a valueForKey:@"mobile"];

    [RNVoipPushNotificationManager addCompletionHandler:uuid completionHandler:completion];

    // --- Process the received push
    [RNVoipPushNotificationManager didReceiveIncomingPushWithPayload:payload forType:(NSString *)type];

    [RNCallKeep reportNewIncomingCall: uuid
    handle: mobile
    handleType: @"generic"
    hasVideo: NO
    localizedCallerName: room
    supportsHolding: YES
    supportsDTMF: YES
    supportsGrouping: YES
    supportsUngrouping: YES
    fromPushKit: YES
    payload: custom
    withCompletionHandler: completion];
    }
    Screenshot 2021-08-24 at 11 34 30

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 AppDelegate.m, especially the PushKit didReceiveIncomingPushWithPayload callback and its RNCallKeep reportNewIncomingCall flow. Reproduce the issue with the application terminated on iPadOS 14.7.1; done means the CallKeep incoming call does not close after 5 to 10 seconds.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.