Azure / Azure/Communication

[iOS] Client needs to send last status after re-connect

Open
#133 0 comments 0 reactions 1 assignee Claimed by @raosanat View on GitHub
Calling iOS
Dominant language
No language data
Stars
340
Forks
113
PR merge metrics
No merged PRs in 30d

Description

If I close my internet connection then if I mute my microphone and then reconnect, remote participant sees my microphone still open.

Also, I saw once time I do same thing with closing my camera, I closed my internet then closed my camera and then reconnect I saw that camera is frozen.. Camera issue happened before not currently happens. But I wanted to inform you.

I think if client is lost internet connection and then reconnect again, SDK should send information to remote participant about last status such as microphone active status, camera status etc. With this way, if anything changed remote client event handlers such as onIsMutedChanged, onVideoStreamsUpdated, etc. will handles that.

In my app I have a code that shows if remote client microphone is muted or not. However if remote participant changes mute status when they are offline (when they lost connection in a short time), I can't update it because information is not updating.

There is the code available below about how client mutes their microphone. Note if this method calls when internet closed, there is no error occurs so client still can change their mute status.
```
private func changeMicrophone() {
if self.microponeOn == false {
self.microponeOn = true
if self.call != nil {
self.callMicrophoneSet()
}
} else {
self.microponeOn = false
if self.call != nil {
self.callMicrophoneSet()
}
}
}
```
In a short event local users sees their microphone muted, remote client sees that he/she is not muted their microphone. But actually microphone is muted and sounds are now sending to remote participant.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.