diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf
index f767943003019c196cee7160567f7489a1906502..b269115319f7c5e6d94271e42cc2f0c0609729d9 100644
--- a/bigbluebutton-config/bin/bbb-conf
+++ b/bigbluebutton-config/bin/bbb-conf
@@ -1,8 +1,8 @@
 #!/bin/bash
 #
-# BlueButton open source conferencing system - http://www.bigbluebutton.org/
+# BlueButton open source conferencing system - https://www.bigbluebutton.org/
 #
-# Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
+# Copyright (c) 2020 BigBlueButton Inc. and by respective authors (see below).
 #
 # This program is free software; you can redistribute it and/or modify it under the
 # terms of the GNU Lesser General Public License as published by the Free Software
@@ -14,7 +14,7 @@
 # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
 #
 # You should have received a copy of the GNU Lesser General Public License along
-# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+# with BigBlueButton; if not, see <https://www.gnu.org/licenses/>.
 #
 # Author(s):
 #   Fred Dixon <ffdixon@bigbluebutton.org>
@@ -66,6 +66,7 @@
 #   2019-11-09 GTR  Keep HTML5 client logs permissions when cleaning logs
 #   2020-05-20 NJH  Add port 443 to --Network and clean up tmp file.
 #   2020-06-23 JFS  Remove defaultGuestPolicy warning for HTML5 client
+#   2020-10-22 AGG  Removing Flash/Red5 related code
 
 #set -x
 #set -e
@@ -120,9 +121,6 @@ FREESWITCH_EXTERNAL=/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml
 FREESWITCH_PID=/opt/freeswitch/var/run/freeswitch/freeswitch.pid
 FREESWITCH_EVENT_SOCKET=/opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml
 
-RED5=red5
-RED5_DIR=/usr/share/$RED5
-
 LTI_DIR=/usr/share/bbb-lti
 
 if [ -f /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties ]; then
@@ -138,7 +136,6 @@ if [ -f $SERVLET_DIR/WEB-INF/classes/bigbluebutton.properties ]; then
         PROTOCOL=https
     fi
 fi
-PROTOCOL_RTMP=rtmp
 
 RECORD_CONFIG=/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
 
@@ -308,10 +305,6 @@ stop_bigbluebutton () {
         WEBHOOKS=bbb-webhooks
     fi
 
-    if [ -f /lib/systemd/system/bbb-transcode-akka.service ]; then
-        BBB_TRANSCODE_AKKA=bbb-transcode-akka
-    fi
-
     if [ -f /usr/share/etherpad-lite/settings.json ]; then
         ETHERPAD=etherpad
     fi
@@ -324,15 +317,11 @@ stop_bigbluebutton () {
         BBB_LTI=bbb-lti
     fi
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-	BBB_RED5="red5"
-    fi
-
     if [ -d $TOMCAT_DIR ]; then
       TOMCAT_SERVICE=$TOMCAT_USER
     fi
 
-    systemctl stop $BBB_RED5 $TOMCAT_SERVICE nginx freeswitch $REDIS_SERVICE bbb-apps-akka $BBB_TRANSCODE_AKKA bbb-fsesl-akka bbb-rap-resque-worker.service bbb-rap-starter.service bbb-rap-caption-inbox.service $HTML5 $WEBHOOKS $ETHERPAD $BBB_WEB $BBB_LTI
+    systemctl stop $TOMCAT_SERVICE nginx freeswitch $REDIS_SERVICE bbb-apps-akka bbb-fsesl-akka bbb-rap-resque-worker.service bbb-rap-starter.service bbb-rap-caption-inbox.service $HTML5 $WEBHOOKS $ETHERPAD $BBB_WEB $BBB_LTI
 }
 
 start_bigbluebutton () {
@@ -348,17 +337,12 @@ start_bigbluebutton () {
 
     if [ -f /opt/freeswitch/var/log/freeswitch/freeswitch.log ]; then
         if grep -q "Failure to connect to CORE_DB sofia_reg_external" /opt/freeswitch/var/log/freeswitch/freeswitch.log; then
-            # See: http://docs.bigbluebutton.org/install/install.html#freeswitch-fails-to-bind-to-ipv4
+            # See: https://docs.bigbluebutton.org/install/install.html#freeswitch-fails-to-bind-to-ipv4
             echo "Clearing the FreeSWITCH database."
             rm -rf /opt/freeswitch/var/lib/freeswitch/db/*
         fi
     fi
 
-    # Clear any previous registration errors
-    if [ -f /usr/share/red5/log/sip.log ]; then
-        sed -i 's/Failed to register with Sip Server/Failed to register with Sip server/g' /usr/share/red5/log/sip.log
-    fi
-
     echo "Starting BigBlueButton"
     if [ -f /usr/lib/systemd/system/bbb-html5.service ]; then
         HTML5="mongod bbb-html5 bbb-webrtc-sfu kurento-media-server"
@@ -368,10 +352,6 @@ start_bigbluebutton () {
         WEBHOOKS=bbb-webhooks
     fi
 
-    if [ -f /lib/systemd/system/bbb-transcode-akka.service ]; then
-        BBB_TRANSCODE_AKKA=bbb-transcode-akka
-    fi
-
     if [ -f /usr/share/etherpad-lite/settings.json ]; then
         ETHERPAD=etherpad
     fi
@@ -384,74 +364,19 @@ start_bigbluebutton () {
         BBB_LTI=bbb-lti
     fi
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-        BBB_RED5="red5"
-    fi
-
 
-    systemctl start $BBB_RED5 $TOMCAT_SERVICE nginx freeswitch $REDIS_SERVICE bbb-apps-akka $BBB_TRANSCODE_AKKA bbb-fsesl-akka bbb-rap-resque-worker bbb-rap-starter.service bbb-rap-caption-inbox.service $HTML5 $WEBHOOKS $ETHERPAD $BBB_WEB $BBB_LTI
+    systemctl start $TOMCAT_SERVICE nginx freeswitch $REDIS_SERVICE bbb-apps-akka bbb-fsesl-akka bbb-rap-resque-worker bbb-rap-starter.service bbb-rap-caption-inbox.service $HTML5 $WEBHOOKS $ETHERPAD $BBB_WEB $BBB_LTI
 
     if [ -f /usr/lib/systemd/system/bbb-html5.service ]; then
         systemctl start mongod
         sleep 3
         systemctl start bbb-html5
     fi
-
-    #
-    # Look for Starting up context to be recently added to the log files
-    #
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      COUNT=0
-      while [ $COUNT -lt 20 ]; do
-        let COUNT=COUNT+1
-        if [ -f $RED5_DIR/log/sip.log ] && [ -f $RED5_DIR/log/bigbluebutton.log ] && [ -f $RED5_DIR/log/red5.log ] && [ -f $RED5_DIR/log/video.log ] && [ -f $RED5_DIR/log/screenshare-slf.log ]; then
-            let COUNT=20
-        else
-            echo -n "."
-            sleep 1
-        fi
-      done
-
-
-     #
-     # All the log files exist, now check for the text "Starting up context"
-     #
-      COUNT=0
-      while [ $COUNT -lt 20 ]; do
-         let COUNT=COUNT+1
-         if [ -f $RED5_DIR/log/video.log ]; then
-             if ! cat $RED5_DIR/log/video.log | tail -n100 | grep -q "Starting up context"; then
-                 echo -n "."
-                 sleep 1
-             else
-                 let COUNT=20
-            fi
-         fi
-      done
-
-      if [ -f /usr/share/red5/red5-server.jar ]; then
-       echo
-       BBB_APPS="sip video bigbluebutton screenshare-slf"
-       for bbb_app in $BBB_APPS ; do
-        if [ -a $RED5_DIR/log/$bbb_app.log ]; then
-            if ! grep -q "Starting up context" $RED5_DIR/log/$bbb_app.log; then
-                echo "#    $bbb_app may not have started properly"
-            fi
-        else
-            echo "#    $RED5_DIR/log/$bbb_app.log not found"
-        fi
-       done
-      fi
-    fi
 }
 
 display_bigbluebutton_status () {
     units="nginx freeswitch $REDIS_SERVICE bbb-apps-akka bbb-fsesl-akka"
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      units="$units red5"
-    fi
-
     if [ -d $TOMCAT_DIR ]; then
       units="$units $TOMCAT_USER"
     fi
@@ -620,11 +545,21 @@ while [ $# -gt 0 ]; do
     exit 1
 done
 
+print_bigbluebutton_version() {
+    echo
+    if [ $DISTRIB_ID == "centos" ]; then
+        echo "BigBlueButton Server $BIGBLUEBUTTON_RELEASE ($(rpm -qa | grep bbb | grep -v bbb-demo | grep -v bbb-lti | grep -v bbb-redis | grep -v bbb-tomcat | grep -v freeswitch | sed 's/.*[0-9].[0-9].[0-9]-//g' | sed 's/\..*//g' | awk '{ sum+=$1} END {print sum}'))"
+    else
+        echo "BigBlueButton Server $BIGBLUEBUTTON_RELEASE ($(dpkg -l | grep bbb | grep -v bbb-demo | grep -v bbb-lti | sed -n '/[0-9].[0-9].[0-9]-/{s/.*[0-9].[0-9].[0-9]-//;s/;//;p}' | awk '{ sum+=$1} END {print sum}'))"
+    fi
+}
+
 
 #
 # Version
 #
 if [[ $VERSION ]]; then
+    print_bigbluebutton_version
     echo
     dpkg -l | grep bbb
     exit 0
@@ -672,22 +607,6 @@ check_configuration() {
     if [ -f $FREESWITCH_EVENT_SOCKET ]; then
         FREESWITCH_ESL_IP=$(cat $FREESWITCH_EVENT_SOCKET | grep 'name="listen-ip"' | cut -d\" -f4  | awk '{print $1}')
         check_no_value event_socket $FREESWITCH_EVENT_SOCKET $FREESWITCH_ESL_IP
-
-        if [ -f /usr/share/red5/red5-server.jar ]; then
-          ESL_HOST=$(cat /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties | grep -v '#' | grep esl.host | sed 's/freeswitch.esl.host=//g')
-          check_no_value esl.host /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties $ESL_HOST
-
-          if [ "$FREESWITCH_ESL_IP" != "::" ]; then
-            if [ "$FREESWITCH_ESL_IP" != "$ESL_HOST" ]; then
-               echo
-               echo "# The values for listen-ip in   "
-               echo "#     $FREESWITCH_EVENT_SOCKET"
-               echo "# do not match the settings for esl.host in"
-               echo "#     /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties"
-               echo
-            fi
-         fi
-       fi
     fi
 
     #
@@ -701,10 +620,6 @@ check_configuration() {
     #
     # Look for properties with no values set
     #
-    #CONFIG_FILES="$RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties \
-    #${SERVLET_DIR}/WEB-INF/classes/bigbluebutton.properties"
-    # \
-    # $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
     CONFIG_FILES="$SERVLET_DIR/WEB-INF/classes/bigbluebutton.properties"
 
     for file in $CONFIG_FILES ; do
@@ -735,20 +650,22 @@ check_configuration() {
         fi
     fi
 
-    if [ "$IP" != "$NGINX_IP" ] && [ "_" != "$NGINX_IP" ]; then
-        if [ "$IP" != "$HOSTS" ]; then
-            echo "# IP does not match:"
-            echo "#                           IP from ifconfig: $IP"
-            echo "#   /etc/nginx/sites-available/bigbluebutton: $NGINX_IP"
-        fi
-    fi
+    # Depreciated: BigBlueButton must be installed with a valid hostname, so comparing a hostnae to IP address
+    # does not provide any useful information.
+    #if [ "$IP" != "$NGINX_IP" ]; then
+    #    if [ "$IP" != "$HOSTS" ]; then
+    #        echo "# IP does not match:"
+    #        echo "#                           IP from ifconfig: $IP"
+    #        echo "#   /etc/nginx/sites-available/bigbluebutton: $NGINX_IP"
+    #    fi
+    #fi
 
     if [ -f /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp ]; then
         #
         # Make sure the shared secret for the API matches the server
         #
         SECRET_PROPERTIES=$(cat ${SERVLET_DIR}/WEB-INF/classes/bigbluebutton.properties | grep -v '#' | tr -d '\r' | sed -n '/securitySalt/{s/.*=//;p}')
-        SECRET_DEMO=$(cat /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp | grep -v '^//' | tr -d '\r' | sed -n '/salt[ ]*=/{s/.*=[ ]*"//;s/".*//g;p}')
+        SECRET_DEMO=$(cat ${TOMCAT_DIR}/webapps/demo/bbb_api_conf.jsp | grep -v '^//' | tr -d '\r' | sed -n '/salt[ ]*=/{s/.*=[ ]*"//;s/".*//g;p}')
 
         if [ "$SECRET_PROPERTIES" != "$SECRET_DEMO" ]; then
             echo "#"
@@ -762,12 +679,12 @@ check_configuration() {
             echo
         fi
 
-        API_IP=$(cat /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp | grep -v '^//' | sed -n '/String BigBlueButtonURL/{s/.*http[s]*:\/\///;s/\/.*//;p}' | tr -d '\015')
-        if [ "$IP" != "$API_IP" ]; then
-            echo "# Warning: API URL IPs do not match host:"
+        if ! grep -q https ${TOMCAT_DIR}/webapps/demo/bbb_api_conf.jsp; then
+            echo
+            echo "# Warning: Did not detect https for API demos in "
+            echo "#"
+            echo "#    ${TOMCAT_DIR}/webapps/demo/bbb_api_conf.jsp"
             echo "#"
-            echo "#                                IP from ifconfig: $IP"
-            echo "#  ${TOMCAT_DIR}/demo/bbb_api_conf.jsp: $API_IP"
             echo
         fi
     fi
@@ -834,18 +751,16 @@ check_configuration() {
         fi
     fi
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if [ "$(ls -ld /var/bigbluebutton/screenshare | cut -d' ' -f3)" != "red5" ]; then
-        echo "# Warning: Detected the directory"
-        echo "#    /var/bigbluebutton/screenshare"
-        echo "# is not owned by red5"
-      fi
-
-      if [ "$(ls -ld /usr/share/red5/webapps/video/streams | cut -d' ' -f3)" != "red5" ]; then
-        echo "# Warning: Detected the directory"
-        echo "#    /usr/share/red5/webapps/video/streams"
-        echo "# is not owned by red5"
-      fi
+    if [ $DISTRIB_ID == "xenial" ]; then
+        libreoffice_version=$(dpkg-query -W --showformat='${Version}\n' libreoffice | sed 's/.*://g' | sed 's/\.[^\.]*$//g')
+        if [[ "$libreoffice_version" > 1.0 ]]; then
+            if [[ "$libreoffice_version" < 4.4 ]]; then
+                echo "# Warning: Detected you are running an older version of LibreOffice: $libreoffice_version"
+                echo "#"
+                echo "# Recommend updated to the latest version of LibreOffice 4.x (4.4 or later)"
+                echo
+            fi
+        fi
     fi
 
     if [ "$(ls -ld /var/freeswitch/meetings | cut -d' ' -f3)" != "freeswitch" ]; then
@@ -860,16 +775,6 @@ check_configuration() {
         echo "# is not owned by $BBB_USER"
     fi
 
-    if [ $PROTOCOL == "https" ]; then
-      if [ -f /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties ]; then
-        if ! grep jnlpUrl /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties | grep -q https; then
-            echo "# Warning: Detected the value for jnlpUrl is not configured for HTTPS"
-            echo "#    /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties"
-            echo "#"
-        fi
-      fi
-    fi
-
     if [ -f $HTML5_CONFIG ]; then
         SVG_IMAGES_REQUIRED=$(cat $BBB_WEB_CONFIG | grep -v '#' | sed -n '/^svgImagesRequired/{s/.*=//;p}')
         if [ "$SVG_IMAGES_REQUIRED" != "true" ]; then
@@ -885,21 +790,12 @@ check_configuration() {
         fi
     fi
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if find /usr/share /var/lib/red5 -name "*bbb-common-message*" | sed 's/\([^_]*_\).*/\1/g' | sort | uniq -c | grep -v 1 > /dev/null; then echo
-        echo
-        echo "# Warning: detected multiple bbb-common-message in the same directory"
-        find /usr/share /var/lib/red5 -name "*bbb-common-message*" | sed 's/\([^_]*_\).*/\1/g' | sort | uniq -c | grep -v 1
-        echo
-      fi
-    fi
-
     CHECK_STUN=$(xmlstarlet sel -t -m '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "external_rtp_ip=")]' -v @data $FREESWITCH_VARS | sed 's/external_rtp_ip=stun://g')
     if [ "$CHECK_STUN" == "stun.freeswitch.org" ]; then
        echo
        echo "# Warning: Detected FreeSWITCH is using default stun.freeswitch.org server.  See"
        echo "#"
-       echo "#     http://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch-using-default-stun-server"
+       echo "#     https://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch-using-default-stun-server"
        echo "#"
        echo
     fi
@@ -908,7 +804,7 @@ check_configuration() {
        echo
        echo "# Warning: No firewall detected.  Recommend using setting up a firewall for your server"
        echo "#"
-       echo "#     https://docs.bigbluebutton.org/2.2/customize.html#setup-a-firewall"
+       echo "#     https://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch-using-default-stun-server"
        echo "#"
        echo
     fi
@@ -935,7 +831,6 @@ update_gstreamer() {
     fi
 }
 
-
 check_state() {
     echo
     print_header
@@ -948,15 +843,6 @@ check_state() {
     RUNNING_APPS=""
     NOT_RUNNING_APPS=""
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if ! ps aux | grep -v grep | grep 'org.red5.server.Bootstrap' > /dev/null; then
-        print_header
-        NOT_RUNNING_APPS="${NOT_RUNNING_APPS} red5"
-      else
-        RUNNING_APPS="${RUNNING_APPS} red5"
-      fi
-    fi
-
     if [[ -a $FREESWITCH_PID ]]; then
         if ! ps aux | grep -v grep | grep '[/]opt/freeswitch/bin/freeswitch' > /dev/null; then
             print_header
@@ -986,13 +872,6 @@ check_state() {
         fi
     fi
 
-    if ! netstat -ant | grep '8201' > /dev/null; then
-        print_header
-        NOT_RUNNING_APPS="${NOT_RUNNING_APPS} LibreOffice"
-    else
-        RUNNING_APPS="${RUNNING_APPS} LibreOffice"
-    fi
-
     if ! ps aux | grep -v grep | grep '[/]usr/[s]*bin/redis-server' > /dev/null; then
         print_header
         NOT_RUNNING_APPS="${NOT_RUNNING_APPS} redis-server"
@@ -1005,32 +884,6 @@ check_state() {
     fi
 
 
-    #
-    # Check if running development environment
-    #
-
-    if [ -f /etc/bigbluebutton/nginx/client.nginx ]; then
-      if ! grep /var/www/bigbluebutton /etc/bigbluebutton/nginx/client.nginx > /dev/null; then
-        NEW_LOCATION=$(cat  /etc/bigbluebutton/nginx/client.nginx  | grep -v '#' | sed -n '/root/{s/[ \t]*root[ \t]*//;s/;//;p}' | head -n 1)
-        echo "# Warning: nginx is not serving the client from /var/www/bigbluebutton/."
-        echo "# Instead, it's being served from"
-        echo "#"
-        echo "#    $NEW_LOCATION"
-        echo "#"
-        echo "# (This is OK if you have setup a development environment.) "
-        echo
-
-        if [ ! -d $NEW_LOCATION ]; then
-            echo "# Warning: The directory"
-            echo "#"
-            echo "#    $NEW_LOCATION"
-            echo "#"
-            echo "# does not exist.  The BigBlueButton client will not load."
-            echo
-        fi
-      fi
-    fi
-
     #
     # Check if running development environment
     #
@@ -1043,62 +896,6 @@ check_state() {
     fi
 
 
-    #
-    # Check red5 applications
-    #
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      AVAIL_RED5_APPS=""
-      UNAVAIL_RED5_APPS=""
-      DIRECTORIES="bigbluebutton sip video screenshare video-broadcast"
-      for dir in $DIRECTORIES ; do
-        if [ ! -d $RED5_DIR/webapps/$dir ]; then
-            UNAVAIL_RED5_APPS="${UNAVAIL_RED5_APPS} $dir"
-        else
-            AVAIL_RED5_APPS="${AVAIL_RED5_APPS} $dir"
-        fi
-      done
-
-      if [ "$UNAVAIL_RED5_APPS" != "" ]; then
-        echo "# Unavailable red5 apps ($RED5_DIR/webapps/): ${UNAVAIL_RED5_APPS}"
-      fi
-    fi
-
-    #
-    # Checking red5 apps log
-    #
-
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      # Give the files a chance to be created (in case we got started with a clean)
-      COUNT=0
-      while [ $COUNT -lt 20 ]; do
-        let COUNT=COUNT+1
-        if [ -f $RED5_DIR/log/sip.log ] && [ -f $RED5_DIR/log/bigbluebutton.log ] && [ -f $RED5_DIR/log/red5.log ] && [ -f $RED5_DIR/log/video.log ] && [ -f $RED5_DIR/log/screenshare-slf.log ]; then
-            let COUNT=20
-        else
-            echo -n "."
-            sleep 1
-        fi
-      done
-
-      RED5_LOG_FILES="bigbluebutton red5 sip video screenshare-slf"
-      AVAIL_RED5_LOG=""
-      UNAVAIL_RED5_LOG=""
-      for file in $RED5_LOG_FILES ; do
-        if [ ! -f $RED5_DIR/log/$file.log ]; then
-            UNAVAIL_RED5_LOG="${UNAVAIL_RED5_LOG} $file.log"
-        else
-            AVAIL_RED5_LOG="${AVAIL_RED5_LOG} $file.log"
-        fi
-      done
-
-      if [ "$UNAVAIL_RED5_LOG" != "" ]; then
-        echo "# Error: Red5 log files not found"
-        echo
-        echo "# Unavailable red5 logs ($RED5_DIR/log): $UNAVAIL_RED5_LOG"
-        echo
-      fi
-    fi
-
     #
     # Check FreeSWITCH
     #
@@ -1162,35 +959,6 @@ check_state() {
     esac
 
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if [[ -f /usr/share/red5/log/sip.log ]]; then
-        #
-        # Checking if voice app registered successfully
-        #
-        if cat /usr/share/red5/log/sip.log | grep -q "Failed to register with Sip Server"; then
-            echo "# Warning: The voice application may not have registered with the sip server."
-            echo "#   Try running: "
-            echo "#"
-            echo "#     $SUDO bbb-conf --clean"
-            echo "#"
-            echo
-        fi
-
-        #
-        # check if sip.log has warnings where the user is not registered.
-        #
-
-        if cat /usr/share/red5/log/sip.log | tail -n1 | grep -q "Call request for default but not registered"; then
-            echo "# Error: The voice app is not registered with SIP server. Audio might not be working correctly."
-            echo
-        fi
-      else
-        echo "# Error: The following log file was not found"
-        echo "#   /usr/share/red5/log/sip.log "
-        echo
-      fi
-    fi
-
     #
     # Check that the servlet container has started properly and has created log files
     #
@@ -1200,21 +968,6 @@ check_state() {
       fi
     fi
 
-    #
-    # Check that bigbluebutton in red5 has started properly (less than 100 lines indicates that it
-    # didn't start)
-    #
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if [ -f $RED5_DIR/log/bigbluebutton.log ]; then
-        BBB_RED5_LOG=$(stat -c%s $RED5_DIR/log/bigbluebutton.log)
-        if [ $BBB_RED5_LOG -lt 100 ]; then
-            echo "#       Log file too short (less than 100 lines): $RED5_DIR/log/bigbluebutton.log (red5)"
-        fi
-      else
-        echo "#      No $RED5_DIR/log/bigbluebutton.log"
-      fi
-    fi
-
     #
     # Check if the user is running their own bbb-web
     #
@@ -1255,49 +1008,8 @@ check_state() {
         echo
     fi
 
-    #
-    # Check that BigBlueButton can connect to port 1935
-    #
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if [[ ! -z $RED5_IP && $DISTRIB_ID != "centos" ]]; then
-        if ! nc -w 3 $RED5_IP 1935 > /dev/null; then
-            echo "# Error: Unable to connect to port 1935 (RTMP) on $RED5_IP"
-            echo
-        fi
-      fi
-    fi
-
-
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      BBB_SIP_APP_IP=$(cat /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties | grep -v '#' | sed -n '/^bbb.sip.app.ip=/{s/.*=//;s/;//;p}')
-      if [ $BBB_SIP_APP_IP != "127.0.0.1" ]; then
-        if [ "$BBB_SIP_APP_IP" != $IP ]; then
-            echo "# Warning: The setting of $BBB_SIP_APP_IP for bbb.sip.app.ip in"
-            echo "#"
-            echo "#    /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
-            echo "#"
-            echo "# does not match the local IP address ($IP)."
-            echo "# (This is OK if you've manually changed the values to an external "
-            echo "# FreeSWITCH server.)"
-            echo
-        fi
-
-        SIP_IP=$(netstat -ant | grep 5060 | head -n1 | awk -F" " '{print $4}' | cut -d: -f1)
-        if [ -z $SIP_IP ]; then
-            echo "# Error: Could not detect FreeSWITCH listening on port 5060"
-            echo
-        else
-            if [ "$BBB_SIP_APP_IP" != $SIP_IP ]; then
-                echo "# Error: FreeSWITCH is listening on IP address $SIP_IP for SIP calls, but "
-                echo "# The IP address ($BBB_SIP_APP_IP) set bbb.sip.app.ip."
-                echo "#"
-                echo
-            fi
-        fi
-      fi
-    fi
-
-    if [ "$SIP_NGINX_IP" != $IP ]; then
+    if [ "$(yq r /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml public.media.sipjsHackViaWs)" == "false" ]; then
+      if [ "$SIP_NGINX_IP" != $IP ]; then
         if [ "$SIP_NGINX_IP" != "\$freeswitch_addr" ]; then
             echo "# Warning: The setting of $SIP_NGINX_IP for proxy_pass in"
             echo "#"
@@ -1307,6 +1019,7 @@ check_state() {
             echo "# (This is OK if you've manually changed the values)"
             echo
         fi
+      fi
     fi
 
     VARS_IP=$(cat $FREESWITCH_VARS | sed -n '/"local_ip_v4/{s/.*local_ip_v4=//;s/".*//;p}')
@@ -1356,16 +1069,6 @@ check_state() {
         echo
     fi
 
-    if [ -f /var/www/bigbluebutton/check/conf/config.xml ]; then
-        CHECK_HOST=$(cat /var/www/bigbluebutton/check/conf/config.xml  | grep "<uri>rtmp" | head -1 | sed  's/.*rtmp[s]*:\/\///g' | sed 's/\/.*//g' | tr -d '\015')
-        BBB_WEB_URL=$(cat ${SERVLET_DIR}/WEB-INF/classes/bigbluebutton.properties | grep -v '#' | sed -n '/^bigbluebutton.web.serverURL/{s/.*=//;p}')
-        echo "# Warning: The client self check is installed and accessible from:"
-        echo "#"
-        echo "#    $BBB_WEB_URL/check"
-        echo "#"
-        echo
-    fi
-
     if [ -f ${LTI_DIR}/WEB-INF/classes/lti-config.properties ]; then
         LTI_URL="${PROTOCOL}://"$(cat ${LTI_DIR}/WEB-INF/classes/lti-config.properties | grep -v '#' | sed -n '/^ltiEndPoint/{s/^.*=//;p}')'/lti/tool'
         echo "# Warning: The IMS Learning Tools Integration (LTI) is accessible from:"
@@ -1400,29 +1103,6 @@ check_state() {
         fi
     fi
 
-    if [ -f /var/run/red5.pid ]; then
-        RED5_PID_PS=$(ps -u red5 | grep java | sed 's/^[ ]*//g' | cut -d" " -f1)
-        RED5_PID_FILE=$(cat /var/run/red5.pid)
-        if [[ "$RED5_PID_PS" != "$RED5_PID_FILE" ]]; then
-            if [ "$(ps -aef | grep "su -p -s /bin/sh red5 " | wc --lines)" == "2" ]; then
-                RED5_PID_PS=$(ps -aef | grep "su -p -s /bin/sh red5 " | head -n 1 | awk '{print $2}')
-                if [[ "$RED5_PID_PS" != "$RED5_PID_FILE" ]]; then
-                    echo "# Error: red5 process ID does not match value in PID file"
-                    echo "#"
-                    echo "#         pid from top: $RED5_PID_PS"
-                    echo "#    /var/run/red5.pid: $RED5_PID_FILE"
-                    echo "#"
-                fi
-            else
-                echo "# Error: red5 process ID does not match value in PID file"
-                echo "#"
-                echo "#         pid from top: $RED5_PID_PS"
-                echo "#    /var/run/red5.pid: $RED5_PID_FILE"
-                echo "#"
-            fi
-        fi
-   fi
-
     if [ "$(cat /usr/share/bbb-apps-akka/conf/application.conf | sed -n '/sharedSecret.*/{s/[^"]*"//;s/".*//;p}')" == "changeme" ]; then
         BBB_WEB_IP=$(cat ${SERVLET_DIR}/WEB-INF/classes/bigbluebutton.properties | grep -v '#' | sed -n '/^bigbluebutton.web.serverURL/{s/.*\///;p}')
         echo "# Error: Detected that /usr/share/bbb-apps-akka/conf/application.conf has the default"
@@ -1432,15 +1112,6 @@ check_state() {
         echo "#"
     fi
 
-    if [ -f /usr/share/red5/red5-server.jar ]; then
-      if [ -z $(cat /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties | tr -d '\r' | sed -n "/useH264[ ]*=[ ]*/{s/useH264[ ]*=[ ]*//;p}") ]; then
-        echo "# Error: Detected there is no value set for useH264 in"
-        echo "#"
-        echo "#   /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties"
-        echo "#"
-      fi
-    fi
-
     if bbb-conf --status | grep -q inactive; then
         echo "# Error: Detected some processes have not started correctly"
         echo "#"
@@ -1451,7 +1122,7 @@ check_state() {
     if systemctl status freeswitch | grep -q SETSCHEDULER; then
         echo "# Error: FreeSWITCH failed to start with SETSCHEDULER error, see"
         echo "#"
-        echo "#   http://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch-fails-to-start-with-a-setscheduler-error"
+        echo "#   https://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch-fails-to-start-with-a-setscheduler-error"
         echo "#"
     fi
 
@@ -1464,7 +1135,7 @@ check_state() {
         echo "#"
     fi
 
-        if [ "$(yq r /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml public.media.sipjsHackViaWs)" != "true" ]; then
+    if [ "$(yq r /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml public.media.sipjsHackViaWs)" != "true" ]; then
       if [ "$PROTOCOL" == "https" ]; then
         if ! cat $SIP_CONFIG |  grep -v '#' | grep proxy_pass | head -n 1 | grep -q https; then
           echo "# Warning: You have this server defined for https, but in"
@@ -1563,12 +1234,7 @@ check_state() {
 if [ $CHECK ]; then
     need_root
 
-    echo
-    if [ $DISTRIB_ID == "centos" ]; then
-        echo "BigBlueButton Server $BIGBLUEBUTTON_RELEASE ($(rpm -qa | grep bbb | grep -v bbb-demo | grep -v bbb-lti | grep -v bbb-redis | grep -v bbb-tomcat | grep -v freeswitch | sed 's/.*[0-9].[0-9].[0-9]-//g' | sed 's/\..*//g' | awk '{ sum+=$1} END {print sum}'))"
-    else
-        echo "BigBlueButton Server $BIGBLUEBUTTON_RELEASE ($(dpkg -l | grep bbb | grep -v bbb-demo | grep -v bbb-lti | sed -n '/[0-9].[0-9].[0-9]-/{s/.*[0-9].[0-9].[0-9]-//;s/;//;p}' | awk '{ sum+=$1} END {print sum}'))"
-    fi
+    print_bigbluebutton_version
 
     echo "                    Kernel version:" $(uname -r)
 
@@ -1596,7 +1262,7 @@ if [ $CHECK ]; then
 
     echo
     echo "/etc/nginx/sites-available/bigbluebutton (nginx)"
-    echo "                       server name: $NGINX_IP"
+    echo "                       server_name: $NGINX_IP"
 
     PORT=$(cat /etc/nginx/sites-available/bigbluebutton | grep -v '#' | sed -n '/listen/{s/.*listen[ ]*//;s/;//;p}' | grep -v ssl | tr --delete '\n' | sed 's/\[/, \[/g' | sed 's/0$/0\n/g')
     echo "                              port: $PORT"
@@ -1604,21 +1270,6 @@ if [ $CHECK ]; then
         echo "                              port: 443 ssl"
     fi
 
-    if [ -f /etc/bigbluebutton/nginx/client.nginx ]; then
-      BBB_CLIENT_DOC_ROOT=$(cat /etc/bigbluebutton/nginx/client.nginx | grep -v '#' | grep \/client -A 1 | head -n 2 | grep root | sed -n '{s/[ \t]*root[ ]*//;s/;//;p}')
-      echo "                    bbb-client dir: $BBB_CLIENT_DOC_ROOT"
-
-      echo
-      echo "/var/www/bigbluebutton/client/conf/config.xml (bbb-client)"
-      PORT_IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/porttest /{s/.*host="//;s/".*//;p}')
-      echo "                Port test (tunnel): $PORT_IP"
-
-      RED5_IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/uri.*video/{s/.*rtmp[s]*:\/\///;s/\/.*//;p}')
-      WEBRTC_ENABLED_CLIENT=$(xmlstarlet sel -t -m "config/modules/module[@name='PhoneModule']" -v @useWebRTCIfAvailable /var/www/bigbluebutton/client/conf/config.xml)
-      echo "                              red5: $RED5_IP"
-      echo "              useWebrtcIfAvailable: $WEBRTC_ENABLED_CLIENT"
-    fi
-
     echo
     echo "$FREESWITCH_VARS (FreeSWITCH)"
     echo "                       local_ip_v4: $(xmlstarlet sel -t -m '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "local_ip_v4=")]' -v @data $FREESWITCH_VARS | sed 's/local_ip_v4=//g')"
@@ -1646,13 +1297,6 @@ if [ $CHECK ]; then
 #          echo "                           api url: $LTI_URL"
 #     fi
 
-    if [ -f /var/www/bigbluebutton/check/conf/config.xml ]; then
-        CHECK_URL=$(cat /var/www/bigbluebutton/check/conf/config.xml  | grep "<uri>rtmp" | head -1 | sed  's/.*rtmp[s]*:\/\///g' | sed 's/\/.*//g' | tr -d '\015')
-        echo
-        echo "/var/www/bigbluebutton/check/conf/config.xml (client check)"
-        echo "                      client check: $CHECK_URL"
-    fi
-
     if [ -f $RECORD_CONFIG ]; then
         echo
         echo "$RECORD_CONFIG (record and playback)"
@@ -1665,6 +1309,7 @@ if [ $CHECK ]; then
         echo
         echo "$SIP_CONFIG (sip.nginx)"
         echo "                        proxy_pass: $SIP_NGINX_IP"
+        echo "                          protocol: $(cat /etc/bigbluebutton/nginx/sip.nginx | grep -v \# | sed -n '/proxy_pass/{s/.*proxy_pass [ ]*//;s/:.*//;p}' | head -n 1)"
     fi
 
     if [ -f $KURENTO_CONFIG ]; then
@@ -1680,7 +1325,7 @@ if [ $CHECK ]; then
         echo "               codec_video_content: $(yq r $KURENTO_CONFIG conference-media-specs.codec_video_content)"
     fi
 
-    if [ -f $HTML5_CONFIG ]; then
+     if [ -f $HTML5_CONFIG ]; then
         echo
         echo "/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)"
         echo "                             build: $(yq r $HTML5_CONFIG public.app.html5ClientBuild)"
@@ -1731,18 +1376,16 @@ if [ $ZIP ]; then
 
     touch /tmp/empty
     tar cf  $TMP_LOG_FILE /tmp/empty               > /dev/null 2>&1
-    tar rfh $TMP_LOG_FILE $RED5_DIR/log            > /dev/null 2>&1
     tar rfh $TMP_LOG_FILE $SERVLET_LOGS            > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/bigbluebutton/* > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/bbb-apps-akka   > /dev/null 2>&1
-    tar rf  $TMP_LOG_FILE /var/log/bbb-transcode-akka     > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/bbb-fsesl-akka         > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/bbb-webrtc-sfu         > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/kurento-media-server > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/mongodb              > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/redis                > /dev/null 2>&1
     tar rf  $TMP_LOG_FILE /var/log/nginx/error.log*     > /dev/null 2>&1
-	tar rf  $TMP_LOG_FILE /var/log/nginx/bigbluebutton.access.log*    > /dev/null 2>&1
+    tar rf  $TMP_LOG_FILE /var/log/nginx/bigbluebutton.access.log*    > /dev/null 2>&1
     tar rfh $TMP_LOG_FILE /opt/freeswitch/var/log/freeswitch/         > /dev/null 2>&1
 
     if [ -f /var/log/nginx/html5-client.log ]; then
@@ -1786,16 +1429,6 @@ if [ $DEBUG ]; then
         echo
     fi
 
-    rm -rf /tmp/t
-    if [ -d /var/log/red5 ]; then
-      find /var/log/red5 -type f -exec grep -H ERROR  '{}' \; >> /tmp/t
-      if [ -s /tmp/t ]; then
-        echo "   -- ERRORS found in $RED5_DIR/log/* -- "
-        cat /tmp/t
-        echo
-      fi
-    fi
-
     if [ -d $SERVLET_LOGS ]; then
       rm -rf /tmp/t
       $SUDO grep --directories=skip Exception $SERVLET_LOGS/* | grep -v CacheExceptionHandlerFactory > /tmp/t
@@ -1863,39 +1496,6 @@ fi
 if [ -n "$HOST" ]; then
     need_root
 
-    #
-    # Just use the IP for port test in /var/www/bigbluebutton/client/conf/config.xml
-    #
-    if [ -f /var/www/bigbluebutton/client/conf/config.xml ]; then
-      echo "Assigning $HOST for testing for firewall in /var/www/bigbluebutton/client/conf/config.xml"
-      $SUDO sed -i "s/porttest host=\(\"[^\"]*\"\)/porttest host=\"$PROTOCOL_RTMP:\/\/$HOST\"/g" /var/www/bigbluebutton/client/conf/config.xml
-
-      echo "Assigning $HOST for rtmp:// in /var/www/bigbluebutton/client/conf/config.xml"
-      $SUDO sed -i "s/rtmp[s]*:\/\/\([^\"\/]*\)\([\"\/]\)/$PROTOCOL_RTMP:\/\/$HOST\2/g" /var/www/bigbluebutton/client/conf/config.xml
-
-      echo "Assigning $HOST for servername in /etc/nginx/sites-available/bigbluebutton"
-      $SUDO sed -i "s/server_name  .*/server_name  $HOST;/g" /etc/nginx/sites-available/bigbluebutton
-
-      #
-      # Update configuration for BigBlueButton client (and preserve hostname for chromeExtensionLink if exists)
-      #
-
-      # Extract the chrome store URL before updating config.xml. We will be able to restore it.
-      chromeExtensionLinkURL=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/chromeExtensionLink/{s/.*https*:\/\///;s/\/.*//;p}')
-
-      echo "Assigning $HOST for http[s]:// in /var/www/bigbluebutton/client/conf/config.xml"
-      $SUDO sed -i "s/http[s]*:\/\/\([^\"\/]*\)\([\"\/]\)/$PROTOCOL:\/\/$HOST\2/g" \
-        /var/www/bigbluebutton/client/conf/config.xml
-
-      if ! echo "$chromeExtensionLinkURL" | grep -q '""'; then
-        $SUDO sed -i "s/chromeExtensionLink=\"https:\/\/[^\/]*/chromeExtensionLink=\"https:\/\/$chromeExtensionLinkURL/g" \
-        /var/www/bigbluebutton/client/conf/config.xml
-      fi
-
-      echo "Assigning $HOST for publishURI in /var/www/bigbluebutton/client/conf/config.xml"
-      $SUDO sed -i "s/publishURI=\"[^\"]*\"/publishURI=\"$HOST\"/" /var/www/bigbluebutton/client/conf/config.xml
-    fi
-
     #
     # Update configuration for BigBlueButton web app
     #
@@ -1907,12 +1507,6 @@ if [ -n "$HOST" ]; then
     $SUDO sed -i "s/screenshareRtmpServer=.*/screenshareRtmpServer=$HOST/g" \
             ${SERVLET_DIR}/WEB-INF/classes/bigbluebutton.properties
 
-    if [ -f /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties ]; then
-      change_var_value /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties streamBaseUrl rtmp://$HOST/screenshare
-      change_var_value /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties jnlpUrl $PROTOCOL://$HOST/screenshare
-      change_var_value /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties jnlpFile $PROTOCOL://$HOST/screenshare/screenshare.jnlp
-    fi
-
     if ! grep -q server_names_hash_bucket_size /etc/nginx/nginx.conf; then
         $SUDO sed -i "s/gzip  on;/gzip  on;\n    server_names_hash_bucket_size  64;/g" /etc/nginx/nginx.conf
     fi
@@ -1989,12 +1583,6 @@ if [ -n "$HOST" ]; then
     done
     echo
 
-    if [ -f /var/www/bigbluebutton/check/conf/config.xml ]; then
-        echo "Assigning $HOST for client self check to /var/www/bigbluebutton/check/conf/config.xml"
-        sed -i "s/rtmp[s]*:\/\/\([^\"\/]*\)\//$PROTOCOL_RTMP:\/\/$HOST\//g" /var/www/bigbluebutton/check/conf/config.xml
-        sed -i "s/rtmpt:\/\/\([^\"\/]*\)\//rtmpt:\/\/$HOST\//g" /var/www/bigbluebutton/check/conf/config.xml
-    fi
-
     #
     # Update HTML5 client
     #
@@ -2088,14 +1676,6 @@ if [ $CLEAN ]; then
         rm -f /var/log/bigbluebutton/presentation/*
     fi
 
-    if [ -d /var/log/bigbluebutton/screenshare ]; then
-        rm -f /var/log/bigbluebutton/screenshare/*
-    fi
-
-    if [[ $RED5_DIR ]]; then
-        rm -rf $RED5_DIR/log/*
-    fi
-
     if [[ $SERVLET_LOGS ]]; then
         rm -rf $SERVLET_LOGS/*
     fi
@@ -2125,14 +1705,10 @@ if [ $CLEAN ]; then
         rm -f /var/log/bbb-fsesl-akka/*
     fi
 
-	if [ -d /var/log/bbb-apps-akka ]; then
+  if [ -d /var/log/bbb-apps-akka ]; then
         rm -f /var/log/bbb-apps-akka/*
     fi
 
-    if [ -d /var/log/bbb-transcode-akka ]; then
-        rm -f /var/log/bbb-transcode-akka/*
-    fi
-
     if [ -d /var/log/bbb-webrtc-sfu ]; then
         rm -f /var/log/bbb-webrtc-sfu/*
     fi