From 44e8974c0214d1153428338ee76a821ec9b563cc Mon Sep 17 00:00:00 2001
From: David Langley <langley.dave@gmail.com>
Date: Thu, 12 May 2022 17:01:44 +0100
Subject: [PATCH] direction and track need to be set for hold/unhold

---
 changelog.d/5865.bugfix                                         | 1 +
 .../main/java/im/vector/app/features/call/webrtc/WebRtcCall.kt  | 2 ++
 2 files changed, 3 insertions(+)
 create mode 100644 changelog.d/5865.bugfix

diff --git a/changelog.d/5865.bugfix b/changelog.d/5865.bugfix
new file mode 100644
index 0000000000..fbfbbfe20f
--- /dev/null
+++ b/changelog.d/5865.bugfix
@@ -0,0 +1 @@
+Fix for audio only being received in one direction after an un-hold during a sip call.
diff --git a/vector/src/main/java/im/vector/app/features/call/webrtc/WebRtcCall.kt b/vector/src/main/java/im/vector/app/features/call/webrtc/WebRtcCall.kt
index 5a100edcf2..90729bee34 100644
--- a/vector/src/main/java/im/vector/app/features/call/webrtc/WebRtcCall.kt
+++ b/vector/src/main/java/im/vector/app/features/call/webrtc/WebRtcCall.kt
@@ -683,6 +683,8 @@ class WebRtcCall(
                 direction = RtpTransceiver.RtpTransceiverDirection.SEND_RECV
             }
             for (transceiver in peerConnection?.transceivers ?: emptyList()) {
+                transceiver.sender.track()?.setEnabled(!onHold)
+                transceiver.receiver.track()?.setEnabled(!onHold)
                 transceiver.direction = direction
             }
             updateMuteStatus()