diff --git a/deprecated/jigasi.sh b/deprecated/jigasi.sh new file mode 100644 index 0000000..ed5d7b1 --- /dev/null +++ b/deprecated/jigasi.sh @@ -0,0 +1,307 @@ +#!/bin/bash +# Quick Jigasi Installer - *buntu (LTS) based systems. +# SwITNet Ltd © - 2020, https://switnet.net/ +# GPLv3 or later. + +##################### Whistlist ####################### +# Saves final transcript in translated languages #130 - +# https://github.com/jitsi/jigasi/pull/130 +####################################################### + +#Check if user is root +if ! [ "$(id -u)" = 0 ]; then + echo "You need to be root or have sudo privileges!" + exit 0 +fi + +clear +echo ' +######################################################################## + Jigasi Transcript addon +######################################################################## + by Software, IT & Networks Ltd +' + +JIGASI_CONFIG="/etc/jitsi/jigasi/config" +GC_API_JSON="/opt/gc-sdk/GCTranscriptAPI.json" +DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua|awk -F'.cfg' '!/localhost/{print $1}'|xargs basename)" +MEET_CONF="/etc/jitsi/meet/${DOMAIN}-config.js" +JIG_SIP_CONF="/etc/jitsi/jigasi/config" +JIG_SIP_PROP="/etc/jitsi/jigasi/sip-communicator.properties" +JIC_SIP_PROP="/etc/jitsi/jicofo/sip-communicator.properties" +JIG_TRANSC_PASWD="$(tr -dc "a-zA-Z0-9#*=" < /dev/urandom | fold -w 8 | head -n1)" +JIG_TRANSC_PASWD_B64="$(echo -n "$JIG_TRANSC_PASWD" | base64)" +DIST="$(lsb_release -sc)" +CHECK_GC_REPO="$(apt-cache policy | grep http | grep cloud-sdk | head -n1 | awk '{print $3}' | awk -F '/' '{print $1}')" + +install_gc_repo() { +if [ "$CHECK_GC_REPO" = "cloud-sdk-$DIST" ]; then + echo " +Google Cloud SDK repository already on the system! +" +else + echo " +Adding Google Cloud SDK repository for latest updates +" + export CLOUD_SDK_REPO="cloud-sdk-$DIST" + echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list + curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - + +fi +} +install_gc_repo +apt-get -q2 update +apt-get -y install google-cloud-sdk google-cloud-sdk-app-engine-java + +echo "Please select one of the current options: +[1] I want to configure a new project, service account, billing and JSON credentials. +[2] I already have one project configured and already have a JSON key file from Google" +while [[ "$SETUP_TYPE" != "1" && "$SETUP_TYPE" != "2" ]] +do + read -p "What option suits your setup?: (1 or 2)"$'\n' -r SETUP_TYPE + if [ "$SETUP_TYPE" = "1" ]; then + echo "We'll setup a GC Projects from scratch" + elif [ "$SETUP_TYPE" = "2" ]; then + echo "We'll setup only the project and JSON key." + fi +done + +if [ "$SETUP_TYPE" = 1 ]; then +### Start of new project configuration - Google SDK +#Setup option 1 - Google Cloud SDK +echo "Once logged on Google Cloud SDK, please create a new project (last option)." +gcloud init +read -p "Enter the project name you just created for Jigasi Speech-to-Text"$'\n' -r GC_PROJECT_NAME +#Second login - Google Auth Library +echo "Login to Google Auth Library" +gcloud auth application-default login + +# Start Google Cloud Configuration - Application Service +GC_MEMBER=transcript +echo "Checking if project exist..." +PROJECT_GC_ID="$(gcloud projects list | grep "$GC_PROJECT_NAME" | awk '{print$3}')" +while [ -z "$PROJECT_GC_ID" ] +do +read -p "Enter the project name you just created for Jigasi Speech-to-Text"$'\n' -r GC_PROJECT_NAME +if [ -z "$PROJECT_GC_ID" ]; then + echo "Please check your project name," + echo "There is no project listed with the provided name: $GC_PROJECT_NAME" + PROJECT_GC_ID="$(gcloud projects list | grep "$GC_PROJECT_NAME" | awk '{print$3}')" + fi +done +echo "Your $GC_PROJECT_NAME ID's project is: $PROJECT_GC_ID" + +# Enable Speech2Text +echo "Important: Please enable billing on your project using the following URL: +https://console.developers.google.com/project/$PROJECT_GC_ID/settings" + +echo "Checking billing..." +CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" +while [[ $? -eq 1 ]] +do +CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" +if [[ $? -eq 1 ]]; then + echo "Seems you haven't enabled billing for this project: $GC_PROJECT_NAME" + echo " For that go to: https://console.developers.google.com/project/$PROJECT_GC_ID/settings + " + read -rp "Press Enter to continue" + CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" +fi +done +echo "Billing account seems setup, continuing..." + +gcloud iam service-accounts create "$GC_MEMBER" + +gcloud projects add-iam-policy-binding "$GC_PROJECT_NAME" \ + --member serviceAccount:"$GC_MEMBER"@"$GC_PROJECT_NAME".iam.gserviceaccount.com \ + --role roles/editor + +echo "Setup credentials:" +echo "Please go and download your valid json key at: +https://console.developers.google.com/apis/credentials?folder=&organizationId=&project=$GC_PROJECT_NAME" +### End of new project configuration - Google SDK +fi + +if [ "$SETUP_TYPE" = "2" ]; then +#Setup option 1 - Google Cloud SDK +echo "Once logged on Google Cloud SDK, please select the project that owns to the JSON key." +gcloud init +echo "Login to Google Auth Library" +gcloud auth application-default login +fi + +echo "Setting up JSON key file..." +sleep 2 +mkdir /opt/gc-sdk/ +cat << KEY_JSON > "$GC_API_JSON" +# +# Paste below this comment your GC JSON key for the service account: +# $GC_MEMBER@$GC_PROJECT_NAME.iam.gserviceaccount.com +# +# Visit the following URL and create a *Service Account Key*: +# https://console.developers.google.com/apis/credentials?folder=&organizationId=&project=$GC_PROJECT_NAME +# These comment lines will be deleted afterwards. +# +KEY_JSON +chmod 644 "$GC_API_JSON" +nano "$GC_API_JSON" +sed -i '/^#/d' "$GC_API_JSON" + +CHECK_JSON_KEY="$(cat "$GC_API_JSON" | python -m json.tool 2>/dev/null)" +while [[ $? -eq 1 ]] +do +CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" +if [[ $? -eq 1 ]]; then + echo "Check again your JSON file, syntax doesn't seem right" + sleep 2 + nano $GC_API_JSON + CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" +fi +done +echo " +Great, seems your JSON key syntax is fine. +" +sleep 2 + +export GOOGLE_APPLICATION_CREDENTIALS=$GC_API_JSON + +echo "Installing Jigasi, your SIP credentials will be asked. (mandatory)" +apt-get -y install jigasi +#apt-mark hold jigasi + +cat << JIGASI_CONF >> "$JIGASI_CONFIG" + +GOOGLE_APPLICATION_CREDENTIALS=$GC_API_JSON + +JIGASI_CONF + +echo "Your Google Cloud credentials are at $GC_API_JSON" + +echo "Setting up Jigasi transcript with current platform..." +#Connect callcontrol +sed -i "s|// call_control:|call_control:|" "$MEET_CONF" +sed -i "s|// transcribingEnabled|transcribingEnabled|" "$MEET_CONF" +sed -i "/transcribingEnabled/ s|false|true|" "$MEET_CONF" + +#siptest2siptest@domain.con +#changed from conference to internal.auth from jibri +sed -i "s|siptest|siptest@internal.auth.$DOMAIN|" "$JIG_SIP_PROP" + +#Disable component in favor of MUC +if [ "$(grep -c nocomponent "$JIG_SIP_CONF")" != 0 ]; then + echo "Jigasi component is already disabled." +else + echo "Disabling jigasi component in favor of MUC" + sed -i "s|JIGASI_OPTS=.*|JIGASI_OPTS=\"--nocomponent=true\"|" "$JIG_SIP_CONF" +fi + +#Setup XMPP +cat << ACC1_XMPP >> "$JIG_SIP_PROP" + +# XMPP account used for control +net.java.sip.communicator.impl.protocol.jabber.acc1=acc1 +net.java.sip.communicator.impl.protocol.jabber.acc1.ACCOUNT_UID=Jabber:jigasi@auth.$DOMAIN@$DOMAIN +net.java.sip.communicator.impl.protocol.jabber.acc1.USER_ID=jigasi@auth.$DOMAIN +net.java.sip.communicator.impl.protocol.jabber.acc1.IS_SERVER_OVERRIDDEN=true +net.java.sip.communicator.impl.protocol.jabber.acc1.SERVER_ADDRESS=$DOMAIN +net.java.sip.communicator.impl.protocol.jabber.acc1.SERVER_PORT=5222 +net.java.sip.communicator.impl.protocol.jabber.acc1.PASSWORD=$JIG_TRANSC_PASWD_B64 +net.java.sip.communicator.impl.protocol.jabber.acc1.AUTO_GENERATE_RESOURCE=true +net.java.sip.communicator.impl.protocol.jabber.acc1.RESOURCE_PRIORITY=30 +net.java.sip.communicator.impl.protocol.jabber.acc1.IS_CARBON_DISABLED=true +net.java.sip.communicator.impl.protocol.jabber.acc1.DEFAULT_ENCRYPTION=true +net.java.sip.communicator.impl.protocol.jabber.acc1.IS_USE_ICE=true +net.java.sip.communicator.impl.protocol.jabber.acc1.IS_ACCOUNT_DISABLED=false +net.java.sip.communicator.impl.protocol.jabber.acc1.IS_PREFERRED_PROTOCOL=false +net.java.sip.communicator.impl.protocol.jabber.acc1.AUTO_DISCOVER_JINGLE_NODES=false +net.java.sip.communicator.impl.protocol.jabber.acc1.PROTOCOL=Jabber +net.java.sip.communicator.impl.protocol.jabber.acc1.IS_USE_UPNP=false +net.java.sip.communicator.impl.protocol.jabber.acc1.USE_DEFAULT_STUN_SERVER=true +net.java.sip.communicator.impl.protocol.jabber.acc1.ENCRYPTION_PROTOCOL.DTLS-SRTP=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.ENCRYPTION_PROTOCOL_STATUS.DTLS-SRTP=true +net.java.sip.communicator.impl.protocol.jabber.acc1.VIDEO_CALLING_DISABLED=true +net.java.sip.communicator.impl.protocol.jabber.acc1.OVERRIDE_ENCODINGS=true +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.G722/8000=705 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.GSM/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.H263-1998/90000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.H264/90000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.PCMA/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.PCMU/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/12000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/16000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/24000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.VP8/90000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.iLBC/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.opus/48000=750 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.speex/16000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.speex/32000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.speex/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.telephone-event/8000=0 +net.java.sip.communicator.impl.protocol.jabber.acc1.BREWERY=JigasiBreweryRoom@internal.auth.$DOMAIN +net.java.sip.communicator.impl.protocol.jabber.acc1.DOMAIN_BASE=$DOMAIN + +org.jitsi.jigasi.MUC_SERVICE_ADDRESS=conference.$DOMAIN +org.jitsi.jigasi.BREWERY_ENABLED=true + +org.jitsi.jigasi.HEALTH_CHECK_SIP_URI="" +org.jitsi.jigasi.HEALTH_CHECK_INTERVAL=300000 +org.jitsi.jigasi.HEALTH_CHECK_TIMEOUT=600000 + +org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true +#org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=$DOMAIN + +org.jitsi.jigasi.xmpp.acc.VIDEO_CALLING_DISABLED=true +org.jitsi.jigasi.xmpp.acc.JINGLE_NODES_ENABLED=false +org.jitsi.jigasi.xmpp.acc.AUTO_DISCOVER_STUN=false +org.jitsi.jigasi.xmpp.acc.IM_DISABLED=true +org.jitsi.jigasi.xmpp.acc.SERVER_STORED_INFO_DISABLED=true +org.jitsi.jigasi.xmpp.acc.IS_FILE_TRANSFER_DISABLED=true + +org.jitsi.jigasi.xmpp.acc.USER_ID=jigasi@auth.$DOMAIN +org.jitsi.jigasi.xmpp.acc.PASS=$JIG_TRANSC_PASWD +org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false +org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true +ACC1_XMPP + +#Enable transcription config +sed -i "/ENABLE_TRANSCRIPTION/ s|#||" "$JIG_SIP_PROP" +sed -i "/ENABLE_TRANSCRIPTION/ s|false|true|" "$JIG_SIP_PROP" +sed -i "/ENABLE_SIP/ s|#||" "$JIG_SIP_PROP" +sed -i "/ENABLE_SIP/ s|true|false|" "$JIG_SIP_PROP" + +#Transcript format +sed -i "/SAVE_JSON/ s|# ||" "$JIG_SIP_PROP" +sed -i "/SEND_JSON/ s|# ||" "$JIG_SIP_PROP" +sed -i "/SAVE_TXT/ s|# ||" "$JIG_SIP_PROP" +sed -i "/SEND_TXT/ s|# ||" "$JIG_SIP_PROP" +#sed -i "/SEND_TXT/ s|false|true|" $JIG_SIP_PROP + +#Allow to connect other than same server only. +sed -i \ +"/xmpp.acc.SERVER_ADDRESS/ s|org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=.*|org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=$DOMAIN|" \ +"$JIG_SIP_PROP" + +#Remember to study how to use LE or what's needed #ToDo +sed -i "/ALWAYS_TRUST_MODE_ENABLED/ s|# ||" "$JIG_SIP_PROP" + +prosodyctl register jigasi auth."$DOMAIN" "$JIG_TRANSC_PASWD" + +#Set Brewery +cat << JIG_JIC >> "$JIC_SIP_PROP" +org.jitsi.jicofo.jigasi.BREWERY=JigasiBreweryRoom@internal.auth.$DOMAIN +JIG_JIC + +systemctl restart prosody \ + jicofo \ + jibri* \ + jitsi-videobridge2 + +echo " +Full transcript files are available at: +--> /var/lib/jigasi/transcripts/ +" + +echo " +Happy transcripting! +" diff --git a/old/jigasi.sh b/old/jigasi.sh index ee43517..ed5d7b1 100644 --- a/old/jigasi.sh +++ b/old/jigasi.sh @@ -9,7 +9,7 @@ ####################################################### #Check if user is root -if ! [ $(id -u) = 0 ]; then +if ! [ "$(id -u)" = 0 ]; then echo "You need to be root or have sudo privileges!" exit 0 fi @@ -22,17 +22,17 @@ echo ' by Software, IT & Networks Ltd ' -JIGASI_CONFIG=/etc/jitsi/jigasi/config -GC_API_JSON=/opt/gc-sdk/GCTranscriptAPI.json -DOMAIN=$(ls /etc/prosody/conf.d/ | grep -v localhost | awk -F'.cfg' '{print $1}' | awk '!NF || !seen[$0]++') -MEET_CONF=/etc/jitsi/meet/${DOMAIN}-config.js -JIG_SIP_CONF=/etc/jitsi/jigasi/config -JIG_SIP_PROP=/etc/jitsi/jigasi/sip-communicator.properties -JIC_SIP_PROP=/etc/jitsi/jicofo/sip-communicator.properties +JIGASI_CONFIG="/etc/jitsi/jigasi/config" +GC_API_JSON="/opt/gc-sdk/GCTranscriptAPI.json" +DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua|awk -F'.cfg' '!/localhost/{print $1}'|xargs basename)" +MEET_CONF="/etc/jitsi/meet/${DOMAIN}-config.js" +JIG_SIP_CONF="/etc/jitsi/jigasi/config" +JIG_SIP_PROP="/etc/jitsi/jigasi/sip-communicator.properties" +JIC_SIP_PROP="/etc/jitsi/jicofo/sip-communicator.properties" JIG_TRANSC_PASWD="$(tr -dc "a-zA-Z0-9#*=" < /dev/urandom | fold -w 8 | head -n1)" JIG_TRANSC_PASWD_B64="$(echo -n "$JIG_TRANSC_PASWD" | base64)" -DIST=$(lsb_release -sc) -CHECK_GC_REPO=$(apt-cache policy | grep http | grep cloud-sdk | head -n1 | awk '{print $3}' | awk -F '/' '{print $1}') +DIST="$(lsb_release -sc)" +CHECK_GC_REPO="$(apt-cache policy | grep http | grep cloud-sdk | head -n1 | awk '{print $3}' | awk -F '/' '{print $1}')" install_gc_repo() { if [ "$CHECK_GC_REPO" = "cloud-sdk-$DIST" ]; then @@ -66,7 +66,7 @@ do fi done -if [ $SETUP_TYPE = 1 ]; then +if [ "$SETUP_TYPE" = 1 ]; then ### Start of new project configuration - Google SDK #Setup option 1 - Google Cloud SDK echo "Once logged on Google Cloud SDK, please create a new project (last option)." @@ -79,14 +79,14 @@ gcloud auth application-default login # Start Google Cloud Configuration - Application Service GC_MEMBER=transcript echo "Checking if project exist..." -PROJECT_GC_ID=$(gcloud projects list | grep $GC_PROJECT_NAME | awk '{print$3}') -while [ -z $PROJECT_GC_ID ] +PROJECT_GC_ID="$(gcloud projects list | grep "$GC_PROJECT_NAME" | awk '{print$3}')" +while [ -z "$PROJECT_GC_ID" ] do read -p "Enter the project name you just created for Jigasi Speech-to-Text"$'\n' -r GC_PROJECT_NAME -if [ -z PROJECT_GC_ID ]; then +if [ -z "$PROJECT_GC_ID" ]; then echo "Please check your project name," echo "There is no project listed with the provided name: $GC_PROJECT_NAME" - PROJECT_GC_ID=$(gcloud projects list | grep $GC_PROJECT_NAME | awk '{print$3}') + PROJECT_GC_ID="$(gcloud projects list | grep "$GC_PROJECT_NAME" | awk '{print$3}')" fi done echo "Your $GC_PROJECT_NAME ID's project is: $PROJECT_GC_ID" @@ -102,18 +102,18 @@ do CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" if [[ $? -eq 1 ]]; then echo "Seems you haven't enabled billing for this project: $GC_PROJECT_NAME" - exho " For that go to: https://console.developers.google.com/project/$PROJECT_GC_ID/settings + echo " For that go to: https://console.developers.google.com/project/$PROJECT_GC_ID/settings " - read -p "Press Enter to continue" + read -rp "Press Enter to continue" CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" fi done echo "Billing account seems setup, continuing..." -gcloud iam service-accounts create $GC_MEMBER +gcloud iam service-accounts create "$GC_MEMBER" -gcloud projects add-iam-policy-binding $GC_PROJECT_NAME \ - --member serviceAccount:$GC_MEMBER@$GC_PROJECT_NAME.iam.gserviceaccount.com \ +gcloud projects add-iam-policy-binding "$GC_PROJECT_NAME" \ + --member serviceAccount:"$GC_MEMBER"@"$GC_PROJECT_NAME".iam.gserviceaccount.com \ --role roles/editor echo "Setup credentials:" @@ -133,7 +133,7 @@ fi echo "Setting up JSON key file..." sleep 2 mkdir /opt/gc-sdk/ -cat << KEY_JSON > $GC_API_JSON +cat << KEY_JSON > "$GC_API_JSON" # # Paste below this comment your GC JSON key for the service account: # $GC_MEMBER@$GC_PROJECT_NAME.iam.gserviceaccount.com @@ -143,11 +143,11 @@ cat << KEY_JSON > $GC_API_JSON # These comment lines will be deleted afterwards. # KEY_JSON -chmod 644 $GC_API_JSON -nano $GC_API_JSON -sed -i '/^#/d' $GC_API_JSON +chmod 644 "$GC_API_JSON" +nano "$GC_API_JSON" +sed -i '/^#/d' "$GC_API_JSON" -CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" +CHECK_JSON_KEY="$(cat "$GC_API_JSON" | python -m json.tool 2>/dev/null)" while [[ $? -eq 1 ]] do CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" @@ -169,7 +169,7 @@ echo "Installing Jigasi, your SIP credentials will be asked. (mandatory)" apt-get -y install jigasi #apt-mark hold jigasi -cat << JIGASI_CONF >> $JIGASI_CONFIG +cat << JIGASI_CONF >> "$JIGASI_CONFIG" GOOGLE_APPLICATION_CREDENTIALS=$GC_API_JSON @@ -179,24 +179,24 @@ echo "Your Google Cloud credentials are at $GC_API_JSON" echo "Setting up Jigasi transcript with current platform..." #Connect callcontrol -sed -i "s|// call_control:|call_control:|" $MEET_CONF -sed -i "s|// transcribingEnabled|transcribingEnabled|" $MEET_CONF -sed -i "/transcribingEnabled/ s|false|true|" $MEET_CONF +sed -i "s|// call_control:|call_control:|" "$MEET_CONF" +sed -i "s|// transcribingEnabled|transcribingEnabled|" "$MEET_CONF" +sed -i "/transcribingEnabled/ s|false|true|" "$MEET_CONF" #siptest2siptest@domain.con #changed from conference to internal.auth from jibri -sed -i "s|siptest|siptest@internal.auth.$DOMAIN|" $JIG_SIP_PROP +sed -i "s|siptest|siptest@internal.auth.$DOMAIN|" "$JIG_SIP_PROP" #Disable component in favor of MUC -if [ $(grep -c nocomponent $JIG_SIP_CONF) != 0 ]; then +if [ "$(grep -c nocomponent "$JIG_SIP_CONF")" != 0 ]; then echo "Jigasi component is already disabled." else echo "Disabling jigasi component in favor of MUC" - sed -i "s|JIGASI_OPTS=.*|JIGASI_OPTS=\"--nocomponent=true\"|" $JIG_SIP_CONF + sed -i "s|JIGASI_OPTS=.*|JIGASI_OPTS=\"--nocomponent=true\"|" "$JIG_SIP_CONF" fi #Setup XMPP -cat << ACC1_XMPP >> $JIG_SIP_PROP +cat << ACC1_XMPP >> "$JIG_SIP_PROP" # XMPP account used for control net.java.sip.communicator.impl.protocol.jabber.acc1=acc1 @@ -265,30 +265,30 @@ org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true ACC1_XMPP #Enable transcription config -sed -i "/ENABLE_TRANSCRIPTION/ s|#||" $JIG_SIP_PROP -sed -i "/ENABLE_TRANSCRIPTION/ s|false|true|" $JIG_SIP_PROP -sed -i "/ENABLE_SIP/ s|#||" $JIG_SIP_PROP -sed -i "/ENABLE_SIP/ s|true|false|" $JIG_SIP_PROP +sed -i "/ENABLE_TRANSCRIPTION/ s|#||" "$JIG_SIP_PROP" +sed -i "/ENABLE_TRANSCRIPTION/ s|false|true|" "$JIG_SIP_PROP" +sed -i "/ENABLE_SIP/ s|#||" "$JIG_SIP_PROP" +sed -i "/ENABLE_SIP/ s|true|false|" "$JIG_SIP_PROP" #Transcript format -sed -i "/SAVE_JSON/ s|# ||" $JIG_SIP_PROP -sed -i "/SEND_JSON/ s|# ||" $JIG_SIP_PROP -sed -i "/SAVE_TXT/ s|# ||" $JIG_SIP_PROP -sed -i "/SEND_TXT/ s|# ||" $JIG_SIP_PROP +sed -i "/SAVE_JSON/ s|# ||" "$JIG_SIP_PROP" +sed -i "/SEND_JSON/ s|# ||" "$JIG_SIP_PROP" +sed -i "/SAVE_TXT/ s|# ||" "$JIG_SIP_PROP" +sed -i "/SEND_TXT/ s|# ||" "$JIG_SIP_PROP" #sed -i "/SEND_TXT/ s|false|true|" $JIG_SIP_PROP #Allow to connect other than same server only. sed -i \ "/xmpp.acc.SERVER_ADDRESS/ s|org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=.*|org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=$DOMAIN|" \ -$JIG_SIP_PROP +"$JIG_SIP_PROP" #Remember to study how to use LE or what's needed #ToDo -sed -i "/ALWAYS_TRUST_MODE_ENABLED/ s|# ||" $JIG_SIP_PROP +sed -i "/ALWAYS_TRUST_MODE_ENABLED/ s|# ||" "$JIG_SIP_PROP" -prosodyctl register jigasi auth.$DOMAIN $JIG_TRANSC_PASWD +prosodyctl register jigasi auth."$DOMAIN" "$JIG_TRANSC_PASWD" #Set Brewery -cat << JIG_JIC >> $JIC_SIP_PROP +cat << JIG_JIC >> "$JIC_SIP_PROP" org.jitsi.jicofo.jigasi.BREWERY=JigasiBreweryRoom@internal.auth.$DOMAIN JIG_JIC