From 959e3f68a47addd71c2f15b74af49d549afe0ecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 27 Jul 2021 17:51:13 +0200 Subject: [PATCH] Handle DTMF support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/webrtc/call.ts | 22 ++++++++++++---------- src/webrtc/callEventTypes.ts | 1 + 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index 6a9a8be76..1b846efec 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -394,6 +394,10 @@ export class MatrixCall extends EventEmitter { return Boolean(this.opponentCaps && this.opponentCaps["m.call.transferee"]); } + public opponentSupportsDTMF(): boolean { + return Boolean(this.opponentCaps && this.opponentCaps["m.call.dtmf"]); + } + public getRemoteAssertedIdentity(): AssertedIdentity { return this.remoteAssertedIdentity; } @@ -1032,11 +1036,10 @@ export class MatrixCall extends EventEmitter { [SDPStreamMetadataKey]: this.getLocalSDPStreamMetadata(), } as MCallAnswer; - if (this.client.supportsCallTransfer) { - answerContent.capabilities = { - 'm.call.transferee': true, - }; - } + answerContent.capabilities = { + 'm.call.transferee': true, + 'm.call.dtmf': false, + }; // We have just taken the local description from the peerconnection which will // contain all the local candidates added so far, so we can discard any candidates @@ -1374,11 +1377,10 @@ export class MatrixCall extends EventEmitter { content.description = this.peerConn.localDescription; } - if (this.client.supportsCallTransfer) { - content.capabilities = { - 'm.call.transferee': true, - }; - } + content.capabilities = { + 'm.call.transferee': true, + 'm.call.dtmf': false, + }; content[SDPStreamMetadataKey] = this.getLocalSDPStreamMetadata(); diff --git a/src/webrtc/callEventTypes.ts b/src/webrtc/callEventTypes.ts index 532567843..c243b8055 100644 --- a/src/webrtc/callEventTypes.ts +++ b/src/webrtc/callEventTypes.ts @@ -24,6 +24,7 @@ interface CallOfferAnswer { export interface CallCapabilities { 'm.call.transferee': boolean; + 'm.call.dtmf': boolean; } export interface MCallAnswer {