[iOS] hold/unhold issue
Bug report
-
[x] I've checked the example to reproduce the issue.
-
Reproduced on:
-
[ ] Android
-
[x] iOS
Description
I am using jssip with callkeep to manage calls in our app and I have an issue with hold/unhold functionality. When the call is in progress and all is good trying to hold a call RNCallKeep.setOnHold(uuid, true) works but when I try to unhold it audio and microphone is not working. Only when user toggles the audio route it starts working.
I've tried to leave jssip out to isolate issue.
Also checked this one #80 #123
Any help is appreciated!
Steps to Reproduce
- Make an outbound/inbound call
- Set it on hold
- Try to unhold it and no audio is heard
- Change audio route (toggle speaker) and it works
Versions
- Callkeep: ^4.3.12
- React Native: ^0.72.7
- iOS: 17.2
- Android:
- Phone model: iPhone 15 Pro
Logs
N/A
Hi! I'm using JsSIP and react-native-callkeep and I don't have this issue.
When putting the call on hold I first call the JsSIP method for hold. Afterward RNCallKeep.setOnHold(uuid, true).
For unhold I first call JsSIP method for unhold and afterward RNCallKeep.setOnHold(uuid, false).
I also have this issue microphone can not click I did not use SIP I use firebase fcm sometime it can toggle but it rare
Hi! I'm using JsSIP and react-native-callkeep and I don't have this issue.
When putting the call on hold I first call the JsSIP method for hold. Afterward RNCallKeep.setOnHold(uuid, true).
For unhold I first call JsSIP method for unhold and afterward RNCallKeep.setOnHold(uuid, false).
@mikkeldanielsen what versions of callkeep and jssip are you using?
Hi! I'm using JsSIP and react-native-callkeep and I don't have this issue. When putting the call on hold I first call the JsSIP method for hold. Afterward RNCallKeep.setOnHold(uuid, true). For unhold I first call JsSIP method for unhold and afterward RNCallKeep.setOnHold(uuid, false).
@mikkeldanielsen what versions of callkeep and jssip are you using?
Hi @uhiku. I try to keep react-native-callkeep fully updated. I use a react-native-webrtc version by @danjenkins
"react-native-webrtc": "github:nimbleape/react-native-webrtc#95ddda5f4c7919cc93fa59b18c4b937646bd13ce", "react-native-jssip": "https://github.com/avodevelopment/react-native-jssip", "react-native-callkeep": "4.3.12",
Happening with me too, mainly when
- using call swap action from callkit UI
- or simulating call swap with putting call 1 on held, then unhelding the call 2 in sequence
- when call is on mute, new call came, Hold & Answer the call or end & Answer the call
Also, the way i am doing is, on Hold action or mute action, i take action using callkeep method, and setHold or mute in webrtc track when callkeep responded with that event.
@uhiku Did you find any solution?
for me, the listener for the hold is not working,
RNCallKeep.addEventListener('didToggleHoldCallAction', (data) =>
callkeepobj.toggleHold(data, inv),
);
And callkeepobj.toggleHold is defined as;
toggleHold(data) {
const { callUUID, hold } = data;
console.log(JSON.stringify(data), 'call hold from RNCALLVIEW');
RNCallKeep.setOnHold(callUUID, hold);
}
All the other listeners are working perfetly fine, but this is the only one where i don't get any response