Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify hidden domain usage for recording and transcription #1737

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

zobadaniel
Copy link

More generic approach to proper transcriber inclusion into docker.

I made a new pull request, based on the info & feedback from here: #1663

The patch is bigger because I renamed XMPP_RECORDER_DOMAIN. The name would be confusing if it is not the sole purpose of that domain.

I'm still not 100% sure this is the right way to do it. Please let me know your comments.

Patch has been tested vs release 9220.

@mirik-k
Copy link

mirik-k commented Feb 20, 2024

Any progress here? Looking forward for this to be merged

@@ -170,6 +172,11 @@ org.jitsi.jigasi.transcription.SAVE_TXT=true
org.jitsi.jigasi.transcription.SEND_TXT={{ .Env.JIGASI_TRANSCRIBER_SEND_TXT | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO={{ .Env.JIGASI_TRANSCRIBER_RECORD_AUDIO | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO_FORMAT=wav
# non-anonymous authentication is required for transcriber
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These properties are already defined at line ~145: what's the difference between JIGASI_TRANSCRIBER_USER and JIGASI_XMPP_USER?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know. This may be a question to the architects of jigasi, whether a separate authentication for the transcriber is desired. I found preparations for a dedicated authentication in the code and just wanted to make the feature work.

Maybe it has to do with other jigasi features (SIP) that a separate authentication is desired?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need an extra user. JIgasi can be configured either as a trascriber or a SIP audio bridge, but not both at the same time. Thus, JIGASI_XMPP_USER (and the other ones) should be good.

Copy link
Member

@saghul saghul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay, did a review round.

@@ -168,7 +168,7 @@ services:
- XMPP_DOMAIN
- XMPP_GUEST_DOMAIN
- XMPP_MUC_DOMAIN
- XMPP_RECORDER_DOMAIN
- XMPP_HIDDEN_PARTICIPANT_DOMAIN
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's call this XMPP_HIDDEN_DOMAIN for the sake of brevity please.

@@ -146,14 +146,19 @@ config.etherpad_base = '{{ .Env.ETHERPAD_PUBLIC_URL }}';
config.etherpad_base = '{{ $PUBLIC_URL }}/etherpad/p/';
{{ end -}}

// Hidden domain usage
//
{{ if or $ENABLE_RECORDING $ENABLE_TRANSCRIPTIONS -}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should set this unconditionally, there is no harm in doing so.

@@ -15,7 +15,7 @@
{{ $XMPP_MUC_DOMAIN := .Env.XMPP_MUC_DOMAIN | default "muc.meet.jitsi" -}}
{{ $XMPP_MUC_DOMAIN_PREFIX := (split "." $XMPP_MUC_DOMAIN)._0 -}}
{{ $JIBRI_STRIP_DOMAIN_JID := .Env.JIBRI_STRIP_DOMAIN_JID | default $XMPP_MUC_DOMAIN_PREFIX -}}
{{ $XMPP_RECORDER_DOMAIN := .Env.XMPP_RECORDER_DOMAIN | default "recorder.meet.jitsi" -}}
{{ $XMPP_HIDDEN_PARTICIPANT_DOMAIN := .Env.XMPP_HIDDEN_PARTICIPANT_DOMAIN | default "hiddenpart.meet.jitsi" -}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's call the domain hidden.meet.jitsi please.

@@ -170,6 +172,11 @@ org.jitsi.jigasi.transcription.SAVE_TXT=true
org.jitsi.jigasi.transcription.SEND_TXT={{ .Env.JIGASI_TRANSCRIBER_SEND_TXT | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO={{ .Env.JIGASI_TRANSCRIBER_RECORD_AUDIO | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO_FORMAT=wav
# non-anonymous authentication is required for transcriber
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need an extra user. JIgasi can be configured either as a trascriber or a SIP audio bridge, but not both at the same time. Thus, JIGASI_XMPP_USER (and the other ones) should be good.

@@ -291,8 +291,8 @@ VirtualHost "{{ $XMPP_AUTH_DOMAIN }}"
}
authentication = "internal_hashed"

{{ if $ENABLE_RECORDING }}
VirtualHost "{{ $XMPP_RECORDER_DOMAIN }}"
{{ if or $ENABLE_RECORDING $ENABLE_TRANSCRIPTIONS }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could actually define this unconditionally, there is no harm in doing that.

@loli10K
Copy link

loli10K commented Mar 27, 2024

I would like to test this PR on my development environment, however as it is now this patch doesn't apply cleanly on the master branch due to recent commits (notably 360361e).

@zobadaniel
Copy link
Author

I will try to update the patch versus master in the near future. In the meantime, please check release 9220, it should apply cleanly against this one.

@loli10K loli10K mentioned this pull request Apr 25, 2024
@loli10K
Copy link

loli10K commented Apr 25, 2024

I can confirm this is working nicely on top of stable-9220, i am using this with some small changes (unrelated to this PR, just to get Vosk transcription instead of the default Google Cloud service), thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants