MT#56085 Reply with 486 from WebRTC when the user is busy in another conversation

Change-Id: I3eea53440fe14452e0abe8d873f6ac99961e45f6
(cherry picked from commit 175c344157)
mr10.5.5
Hugo Zigha 2 years ago committed by Marco Capetta
parent e954ecf933
commit 75a6cbd1e2

@ -134,18 +134,25 @@ export function callRegister ({ instanceId }) {
delegateEvent('registrationFailed')
$userAgent.on('newRTCSession', (event) => {
if (event.originator === 'remote') {
$incomingRtcSession = event.session
$incomingRtcSession.on('peerconnection', () => {
$incomingRtcSession.connection.ontrack = handleRemoteMediaStream
})
$incomingRtcSession.on('failed', (failedEvent) => {
callEvent.emit('incomingFailed', failedEvent)
})
$incomingRtcSession.on('ended', (failedEvent) => {
callEvent.emit('incomingEnded', failedEvent)
$incomingRtcSession = null
})
callEvent.emit('incoming', $incomingRtcSession)
if ($incomingRtcSession || $outgoingRtcSession) {
event.session.terminate({
status_code: 486,
reason_phrase: 'Busy'
})
} else {
$incomingRtcSession = event.session
$incomingRtcSession.on('peerconnection', () => {
$incomingRtcSession.connection.ontrack = handleRemoteMediaStream
})
$incomingRtcSession.on('failed', (failedEvent) => {
callEvent.emit('incomingFailed', failedEvent)
})
$incomingRtcSession.on('ended', (failedEvent) => {
callEvent.emit('incomingEnded', failedEvent)
$incomingRtcSession = null
})
callEvent.emit('incoming', $incomingRtcSession)
}
}
})
$userAgent.start()

@ -77,12 +77,14 @@ export default {
context.commit('hangUpCall')
} else if (options.cause && !errorVisibilityTimer) {
context.commit('endCall', options.cause)
errorVisibilityTimer = setTimeout(() => {
if (context.state.callState === 'ended') {
context.commit('hangUpCall')
}
errorVisibilityTimer = null
}, errorVisibilityTimeout)
if (options.cause !== 'Busy') {
errorVisibilityTimer = setTimeout(() => {
if (context.state.callState === 'ended') {
context.commit('hangUpCall')
}
errorVisibilityTimer = null
}, errorVisibilityTimeout)
}
}
},
sendDTMF (context, tone) {

Loading…
Cancel
Save