diff --git a/lang/main.json b/lang/main.json
index 03f46af668d6..86b050ba7c3b 100644
--- a/lang/main.json
+++ b/lang/main.json
@@ -733,6 +733,7 @@
"dataChannelClosed": "Video quality impaired",
"dataChannelClosedDescription": "The bridge channel has been disconnected and thus video quality is limited to its lowest setting.",
"disabledIframe": "Embedding is only meant for demo purposes, so this call will disconnect in {{timeout}} minutes.",
+ "disabledIframeSecondary": "Embedding {{domain}} is only meant for demo purposes, so this call will disconnect in {{timeout}} minutes. Please use Jitsi as a Service for production embedding!",
"disconnected": "disconnected",
"displayNotifications": "Display notifications for",
"dontRemindMe": "Do not remind me",
diff --git a/react/features/conference/middleware.any.ts b/react/features/conference/middleware.any.ts
index 07a619d286c2..970d0320e4c3 100644
--- a/react/features/conference/middleware.any.ts
+++ b/react/features/conference/middleware.any.ts
@@ -177,11 +177,30 @@ function _checkIframe(state: IReduxState, dispatch: IStore['dispatch']) {
if (inIframe() && state['features/base/config'].disableIframeAPI && !browser.isElectron()
&& !isVpaasMeeting(state) && !allowIframe) {
// show sticky notification and redirect in 5 minutes
+ const { locationURL } = state['features/base/connection'];
+ let translationKey = 'notify.disabledIframe';
+ const hostname = locationURL?.hostname ?? '';
+ let domain = '';
+
+ const mapping: Record = {
+ '8x8.vc': 'https://jaas.8x8.vc',
+ 'meet.jit.si': 'https://jitsi.org/jaas'
+ };
+
+ const jaasDomain = mapping[hostname];
+
+ if (jaasDomain) {
+ translationKey = 'notify.disabledIframeSecondary';
+ domain = hostname;
+ }
+
dispatch(showWarningNotification({
description: translateToHTML(
i18next.t.bind(i18next),
- 'notify.disabledIframe',
+ translationKey,
{
+ domain,
+ jaasDomain,
timeout: IFRAME_DISABLED_TIMEOUT_MINUTES
}
)