MT#58958 Add support to call hold/unhold to the webrtc client

Change-Id: I4dc2e692ab25db1e126651e690583310db7b3a39
mr12.3
Nouhaila Idrissi Zouggari 2 years ago committed by Nouhaila Idrissi-Zouggari
parent cd25874acb
commit 03a494b9a1

@ -405,3 +405,23 @@ export function callEnd () {
$audioTransceiver = null
$videoTransceiver = null
}
/**
* Hold on.
*/
export function callToggleHold () {
const rtcSession = callGetRtcSession()
if (rtcSession) {
if (rtcSession.isOnHold().local) {
rtcSession.unhold()
callEvent.emit('callResumed')
} else {
rtcSession.hold()
callEvent.emit('callOnHold')
}
}
}
export function callIsOnHold () {
const rtcSession = callGetRtcSession()
return rtcSession ? rtcSession.isOnHold().local : false
}

@ -169,6 +169,16 @@
size="large"
@click="toggleMicrophone()"
/>
<q-btn
v-if="isEstablished && !(isMobile && minimized)"
:color="colorToggleHold"
text-color="dark"
icon="pause_circle_filled"
class="q-mr-sm"
round
size="large"
@click="toggleHold()"
/>
<q-btn
v-if="isEstablished && !(isMobile && minimized)"
:color="colorToggleCamera"
@ -417,6 +427,10 @@ export default {
type: Boolean,
default: false
},
holdEnabled: {
type: Boolean,
default: false
},
remoteVolumeEnabled: {
type: Boolean,
default: false
@ -434,7 +448,7 @@ export default {
default: false
}
},
emits: ['toggle-screen', 'toggle-camera', 'minimize-call', 'maximize-call', 'click-dialpad', 'toggle-remote-volume', 'toggle-microphone', 'toggle-dialpad', 'close-call', 'end-call', 'accept-call', 'start-call'],
emits: ['toggle-screen', 'toggle-camera', 'minimize-call', 'maximize-call', 'click-dialpad', 'toggle-remote-volume', 'toggle-microphone', 'toggle-holdon', 'toggle-dialpad', 'close-call', 'end-call', 'accept-call', 'start-call'],
data () {
return {
localMediaWrapperWidth: 0,
@ -535,6 +549,13 @@ export default {
return 'grey-1'
}
},
colorToggleHold () {
if (this.holdEnabled) {
return 'primary'
} else {
return 'grey-1'
}
},
iconToggleRemoteVolume () {
if (this.remoteVolumeEnabled) {
return 'volume_up'
@ -643,6 +664,9 @@ export default {
toggleMicrophone () {
this.$emit('toggle-microphone')
},
toggleHold () {
this.$emit('toggle-holdon')
},
toggleRemoteVolume () {
this.$emit('toggle-remote-volume')
},

@ -178,6 +178,7 @@
:microphone-enabled="microphoneEnabled"
:camera-enabled="cameraEnabled"
:screen-enabled="screenEnabled"
:hold-enabled="holdEnabled"
:remote-volume-enabled="remoteAudioEnabled"
:dialpad-opened="dialpadOpened"
:menu-minimized="menuMinimized"
@ -186,6 +187,7 @@
@end-call="endCall"
@close-call="closeCall"
@toggle-microphone="toggleMicrophone"
@toggle-holdon="toggleHoldon"
@toggle-camera="toggleCamera"
@toggle-screen="toggleScreen"
@toggle-remote-volume="toggleRemoteAudio"
@ -289,6 +291,7 @@ export default {
'remoteMediaStream',
'cameraEnabled',
'screenEnabled',
'holdEnabled',
'microphoneEnabled',
'remoteAudioEnabled',
'maximized',
@ -527,6 +530,7 @@ export default {
'toggleCamera',
'toggleScreen',
'toggleMicrophone',
'toggleHoldon',
'toggleRemoteAudio'
]),
layoutResized () {

@ -102,7 +102,7 @@ const routes = [
component: CscPageSubscriberPhonebookAdd,
meta: {
get title () {
return i18n.global.tc('Add Phonebook')
return i18n.global.tc('Add Phoneboossdsk')
}
}
},

@ -8,6 +8,7 @@ import {
callRemoveVideo,
callHasLocalVideo,
callToggleMicrophone,
callToggleHold,
callIsMuted,
callSendDTMF,
callToggleRemoteAudio,
@ -53,6 +54,10 @@ export default {
callToggleMicrophone()
context.commit('toggleMicrophone', !callIsMuted())
},
async toggleHoldon (context) {
callToggleHold()
context.commit('toggleHold')
},
toggleRemoteAudio (context) {
callToggleRemoteAudio()
context.commit('toggleRemoteAudio', !callIsRemoteMuted())

@ -103,5 +103,11 @@ export default {
disableCall (state, options = { error: null }) {
state.callEnabled = false
state.connectionError = options.error
},
toggleHold (state) {
state.holdEnabled = !state.holdEnabled
if (state.holdEnabled) {
state.holdEnabled = true
}
}
}

@ -15,6 +15,7 @@ export default {
caller: false,
callee: false,
microphoneEnabled: true,
holdEnabled: false,
cameraEnabled: false,
screenEnabled: false,
remoteAudioEnabled: true,

Loading…
Cancel
Save