diff --git a/src/CallHandler.tsx b/src/CallHandler.tsx
index b788ec7da1..e303dd3819 100644
--- a/src/CallHandler.tsx
+++ b/src/CallHandler.tsx
@@ -262,6 +262,12 @@ export default class CallHandler {
Modal.createTrackedDialog('Call Handler', 'Call Failed', ErrorDialog, {
title, description,
});
+ } else if (call.hangupReason === CallErrorCode.AnsweredElsewhere) {
+ this.play(AudioID.Busy);
+ Modal.createTrackedDialog('Call Handler', 'Call Failed', ErrorDialog, {
+ title: _t("Answered Elsewhere"),
+ description: _t("The call was answered on another device."),
+ });
} else {
this.play(AudioID.CallEnd);
}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index e79a098920..8bff00c073 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -39,6 +39,8 @@
"The other party declined the call.": "The other party declined the call.",
"The remote side failed to pick up": "The remote side failed to pick up",
"The call could not be established": "The call could not be established",
+ "Answered Elsewhere": "Answered Elsewhere",
+ "The call was answered on another device.": "The call was answered on another device.",
"Call failed due to misconfigured server": "Call failed due to misconfigured server",
"Please ask the administrator of your homeserver (%(homeserverDomain)s
) to configure a TURN server in order for calls to work reliably.": "Please ask the administrator of your homeserver (%(homeserverDomain)s
) to configure a TURN server in order for calls to work reliably.",
"Alternatively, you can try to use the public server at turn.matrix.org
, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Alternatively, you can try to use the public server at turn.matrix.org
, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.",