react-native-callkeep icon indicating copy to clipboard operation
react-native-callkeep copied to clipboard

sendDTMF from in-app does not play DTMF sound on iOS

Open dlhflav opened this issue 2 years ago • 1 comments

Hi everyone, after hours of trying to solve this, I ask for advice here, out of options. Thanks in advance for your help !

Bug report

  • [ ] I've checked the example to reproduce the issue. : NO (example not working (pods issues))

  • Reproduced on:

  • [ ] Android

  • [x] iOS

Description

  • DTMF tone not played when calling sendDTMF from JS in-app
  • However, mute tone IS played when calling setMutedCall from JS in-app
  • However, DTMF tone is played when digit tapped from the CallKitUI

I though at first maybe audio session was involved as CallKit was in background, but I can hear the sound of the mute action. It is strange that I can't hear the sound of the DTMF action.

Then I though the current call audio was messing with the DTMF sound, I tried to start a blank call (only RNCallKeep.startCall), I can hear the sound of mute button but still no sound of DTMF tone.

Steps to Reproduce

  • Start a call with uuid
  • Trigger RNCallKeep.sendDTMF(uuid, "1") in-app

Versions

- Callkeep: 4.3.8
- React Native: 0.69.1
- iOS: 16.5.1
- Android: N/A
- Phone model: iPhone X

Logs

(I cleaned the irrelevant stuff)

2023-06-30 11:58:35.429199+0200 TypescriptReactNativeStarter[856:142290] [native] Running application TypescriptReactNativeStarter ({
    initialProps =     {
    };
    rootTag = 1;
})
2023-06-30 11:58:35.476420+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][init]
2023-06-30 11:58:35.476520+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][getProviderConfiguration]
2023-06-30 12:00:34.646072+0200 TypescriptReactNativeStarter[856:143030] [RNCallKeep][setup] options = {
    appName = "Blabla Light";
}
2023-06-30 12:00:34.646851+0200 TypescriptReactNativeStarter[856:143030] [RNCallKeep][setSettings] options = {
    appName = "Blabla Light";
}
2023-06-30 12:00:34.650842+0200 TypescriptReactNativeStarter[856:142705] [RNCallKeep][startObserving]
2023-06-30 12:00:43.711272+0200 TypescriptReactNativeStarter[856:143237] [RNCallKeep][startCall] uuidString = 8e852339-e3df-4b54-966b-20bb52e093d0
2023-06-30 12:00:43.712940+0200 TypescriptReactNativeStarter[856:143237] [RNCallKeep][requestTransaction] transaction = <CXTransaction 0x282483480 UUID=EFEB4EE5-AFF3-4838-8A25-15B7127DF4E5 isComplete=0 actions=(
    "<CXStartCallAction 0x2811c7ba0 UUID=AF8F213A-29C2-4E91-AF77-C4C2328B6FB1 state=0 commitDate=(null) callUUID=8E852339-E3DF-4B54-966B-20BB52E093D0 handle=<CXHandle 0x282483fe0 type=PhoneNumber value=0769071469 siriDisplayName=(null)> contactIdentifier=0769071469 video=0 relay=0 upgrade=0 retry=0 emergency=0 isVoicemail=0 ttyType=0 localLandscapeAspectRatio={0, 0} localPortraitAspectRatio={0, 0} dateStarted=(null) localSenderIdentityUUID=(null) shouldSuppressInCallUI=0>"
)>
2023-06-30 12:00:43.729610+0200 TypescriptReactNativeStarter[856:143237] [RNCallKeep][requestTransaction] Requested transaction successfully
2023-06-30 12:00:43.739650+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:performStartCallAction]
2023-06-30 12:00:43.739742+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][configureAudioSession] Activating audio session
2023-06-30 12:00:43.774980+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidReceiveStartCallAction, hasListeners : YES
2023-06-30 12:00:44.000167+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:didActivateAudioSession]
2023-06-30 12:00:44.000227+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][configureAudioSession] Activating audio session
2023-06-30 12:00:44.033080+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidActivateAudioSession, hasListeners : YES
2023-06-30 12:00:44.141412+0200 TypescriptReactNativeStarter[856:143237] [RNCallKeep][updateDisplay] uuidString = 8e852339-e3df-4b54-966b-20bb52e093d0 displayName =  uri =
2023-06-30 12:00:44.220188+0200 TypescriptReactNativeStarter[856:142718] [javascript] #######didActivateAudioSession
2023-06-30 12:00:44.224571+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 addTrack +110ms
2023-06-30 12:00:44.229855+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 createOffer +5ms
2023-06-30 12:00:44.235124+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 createOffer OK +6ms
2023-06-30 12:00:44.235602+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 setLocalDescription +0ms
2023-06-30 12:00:44.240827+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 setLocalDescription OK +5ms
2023-06-30 12:00:44.370648+0200 TypescriptReactNativeStarter[856:143264] [RNCallKeep][updateDisplay] uuidString = 8e852339-e3df-4b54-966b-20bb52e093d0 displayName =  uri =
2023-06-30 12:00:46.169998+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 setRemoteDescription +2s
2023-06-30 12:00:47.840791+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 ontrack +2s
2023-06-30 12:00:47.843824+0200 TypescriptReactNativeStarter[856:142718] [javascript] rn-webrtc:pc:DEBUG 0 setRemoteDescription OK +3ms
2023-06-30 12:01:07.176725+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][setMutedCall] muted = 1
2023-06-30 12:01:07.177071+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][requestTransaction] transaction = <CXTransaction 0x2824b8d80 UUID=961F8C2B-16E1-4DDD-83A3-10F4E8A067E7 isComplete=0 actions=(
    "<CXSetMutedCallAction 0x2800eff70 UUID=670EC616-11E9-4683-A4AD-FDD27D6A9F4B state=0 commitDate=(null) callUUID=8E852339-E3DF-4B54-966B-20BB52E093D0 muted=1>"
)>
2023-06-30 12:01:07.177989+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][requestTransaction] Requested transaction successfully
2023-06-30 12:01:07.179058+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:performSetMutedCallAction]
2023-06-30 12:01:07.179100+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidPerformSetMutedCallAction, hasListeners : YES
2023-06-30 12:01:08.393442+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][setMutedCall] muted = 0
2023-06-30 12:01:08.393861+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][requestTransaction] transaction = <CXTransaction 0x2823f4860 UUID=6E9936C5-7821-4840-9B0B-BD3E4CDF44A1 isComplete=0 actions=(
    "<CXSetMutedCallAction 0x2800f3520 UUID=713A6151-1E8B-4B08-AD24-263A8AC15A47 state=0 commitDate=(null) callUUID=8E852339-E3DF-4B54-966B-20BB52E093D0 muted=0>"
)>
2023-06-30 12:01:08.395110+0200 TypescriptReactNativeStarter[856:143272] [RNCallKeep][requestTransaction] Requested transaction successfully
2023-06-30 12:01:08.396059+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:performSetMutedCallAction]
2023-06-30 12:01:08.396122+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidPerformSetMutedCallAction, hasListeners : YES
2023-06-30 12:01:10.034825+0200 TypescriptReactNativeStarter[856:143264] [RNCallKeep][sendDTMF] key = 1
2023-06-30 12:01:10.035092+0200 TypescriptReactNativeStarter[856:143264] [RNCallKeep][requestTransaction] transaction = <CXTransaction 0x2824e3e20 UUID=8307E2B5-F16C-42A0-A75E-2FEF35D76508 isComplete=0 actions=(
    "<CXPlayDTMFCallAction 0x2800b1ea0 UUID=0E33B322-5A77-4299-A9F0-CFD2B5BAB3FC state=0 commitDate=(null) callUUID=8E852339-E3DF-4B54-966B-20BB52E093D0 digits=1 type=3>"
)>
2023-06-30 12:01:10.035648+0200 TypescriptReactNativeStarter[856:143264] [RNCallKeep][requestTransaction] Requested transaction successfully
2023-06-30 12:01:10.036085+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:performPlayDTMFCallAction]
2023-06-30 12:01:10.036114+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidPerformDTMFAction, hasListeners : YES
2023-06-30 12:01:11.770273+0200 TypescriptReactNativeStarter[856:142718] [javascript] 'RNCallKeep | sendDTMF | key, ', '2'
2023-06-30 12:01:11.772071+0200 TypescriptReactNativeStarter[856:143272] [RNCallKeep][sendDTMF] key = 2
2023-06-30 12:01:11.772780+0200 TypescriptReactNativeStarter[856:143272] [RNCallKeep][requestTransaction] transaction = <CXTransaction 0x2823e34e0 UUID=1617E0E5-2DA6-4B63-8CAB-A1E47D3CA67A isComplete=0 actions=(
    "<CXPlayDTMFCallAction 0x2800f9450 UUID=93182EE1-4EAB-4698-A5D2-A58DDA1C4212 state=0 commitDate=(null) callUUID=8E852339-E3DF-4B54-966B-20BB52E093D0 digits=2 type=3>"
)>
2023-06-30 12:01:11.774843+0200 TypescriptReactNativeStarter[856:142705] [RNCallKeep][requestTransaction] Requested transaction successfully
2023-06-30 12:01:11.776973+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:performPlayDTMFCallAction]
2023-06-30 12:01:11.777115+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidPerformDTMFAction, hasListeners : YES
2023-06-30 12:01:39.964034+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:performEndCallAction]
2023-06-30 12:01:39.964193+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepPerformEndCallAction, hasListeners : YES
2023-06-30 12:01:40.081757+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][updateDisplay] uuidString = 8e852339-e3df-4b54-966b-20bb52e093d0 displayName =  uri =
2023-06-30 12:01:40.138246+0200 TypescriptReactNativeStarter[856:143265] [RNCallKeep][reportEndCallWithUUID] uuidString = 8e852339-e3df-4b54-966b-20bb52e093d0 reason = 2
2023-06-30 12:01:40.796797+0200 TypescriptReactNativeStarter[856:142290] [RNCallKeep][CXProviderDelegate][provider:didDeactivateAudioSession]
2023-06-30 12:01:40.796857+0200 TypescriptReactNativeStarter[856:142290] [[RNCallKeep]] sendEventWithNameWrapper: RNCallKeepDidDeactivateAudioSession, hasListeners : YES
2023-06-30 12:01:40.816142+0200 TypescriptReactNativeStarter[856:142718] [javascript] #######didDeactivateAudioSession

dlhflav avatar Jun 30 '23 10:06 dlhflav

Same issue here. Any solution?

BiosBoy avatar Aug 26 '23 09:08 BiosBoy