diff --git a/audio/murmur/Makefile b/audio/mumble-server/Makefile
similarity index 100%
rename from audio/murmur/Makefile
rename to audio/mumble-server/Makefile
diff --git a/audio/murmur/distinfo b/audio/mumble-server/distinfo
similarity index 100%
rename from audio/murmur/distinfo
rename to audio/mumble-server/distinfo
diff --git a/audio/murmur/files/murmur.in b/audio/mumble-server/files/mumble_server.in
similarity index 100%
rename from audio/murmur/files/murmur.in
rename to audio/mumble-server/files/mumble_server.in
diff --git a/audio/murmur/files/patch-initialize-SSL b/audio/mumble-server/files/patch-initialize-SSL
similarity index 100%
rename from audio/murmur/files/patch-initialize-SSL
rename to audio/mumble-server/files/patch-initialize-SSL
diff --git a/audio/murmur/files/patch-scripts_murmur.ini b/audio/mumble-server/files/patch-scripts_murmur.ini
similarity index 100%
rename from audio/murmur/files/patch-scripts_murmur.ini
rename to audio/mumble-server/files/patch-scripts_murmur.ini
diff --git a/audio/murmur/files/patch-src_SelfSignedCertificate.cpp b/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp
similarity index 100%
rename from audio/murmur/files/patch-src_SelfSignedCertificate.cpp
rename to audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp
diff --git a/audio/murmur/pkg-descr b/audio/mumble-server/pkg-descr
similarity index 100%
rename from audio/murmur/pkg-descr
rename to audio/mumble-server/pkg-descr
diff --git a/audio/murmur/pkg-plist b/audio/mumble-server/pkg-plist
similarity index 100%
rename from audio/murmur/pkg-plist
rename to audio/mumble-server/pkg-plist
diff --git a/GIDs b/GIDs
index 1bc518eb5105..0745c64c7065 100644
--- a/GIDs
+++ b/GIDs
@@ -278,7 +278,7 @@ honeytrap:*:333:
 # free: 335
 # free: 336
 daapd:*:337:
-murmur:*:338:
+mumble-server:*:338:
 # free: 339
 wildfire:*:340:
 stunnel:*:341:
diff --git a/MOVED b/MOVED
index 302ab1a59d7b..c78bbc3efd84 100644
--- a/MOVED
+++ b/MOVED
@@ -7774,3 +7774,4 @@ textproc/rubygem-nokogiri114|textproc/rubygem-nokogiri|2023-07-09|Remove obsolet
 japanese/kterm||2023-07-12|Has expired: Last upstream release was in 2011
 graphics/gmic-qt@krita|graphics/krita-gmic-plugin|2023-07-14|Forked to a seperate project
 devel/capstone5|devel/capstone|2023-07-15|Keep the latest version without any pkgnamesufix
+audio/murmur|audio/mumble-server|2023-07-15|Renamed by upstream
diff --git a/UIDs b/UIDs
index 6a8d9f320972..9f83e1d096b3 100644
--- a/UIDs
+++ b/UIDs
@@ -283,7 +283,7 @@ honeytrap:*:333:333::0:0:HoneyTrap Daemon:/nonexistent:/usr/sbin/nologin
 # free: 335
 _pma:*:336:80::0:0:phpMyAdmin Owner:/nonexistent:/usr/sbin/nologin
 daapd:*:337:337::0:0:daapd User:/nonexistent:/usr/sbin/nologin
-murmur:*:338:338::0:0:& User:/nonexistent:/usr/sbin/nologin
+mumble-server:*:338:338::0:0:& User:/nonexistent:/usr/sbin/nologin
 # free: 339
 wildfire:*:340:340::0:0:Wildfire Daemon:/nonexistent:/usr/sbin/nologin
 stunnel:*:341:341::0:0:Stunnel Daemon:/nonexistent:/usr/sbin/nologin
diff --git a/UPDATING b/UPDATING
index 144a7b4d1df3..39dfa43723a8 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,28 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20230715:
+  AFFECTS: users of audio/murmur
+  AUTHOR: vvd@FreeBSD.org
+
+  Upstream rename murmur to mumble-server.
+  1. Before upgrade stop server:
+      service murmur stop
+  2. Rename all working files and directories:
+      mv /var/db/murmur/murmur.sqlite /var/db/murmur/mumble-server.sqlite
+      mv /var/db/murmur               /var/db/mumble-server
+      mv /var/log/murmur/murmur.log   /var/log/murmur/mumble-server.log
+      mv /var/log/murmur              /var/log/mumble-server
+      mv /var/run/murmur              /var/run/mumble-server
+  3. Backup murmur.ini:
+      mv /usr/local/etc/murmur.ini    /usr/local/etc/murmur.ini.old
+  4. Upgrade port.
+  5. Add your customizations in /usr/local/etc/mumble-server.ini.
+  6. Update /etc/rc.conf:
+      replace murmur_enable="YES" with mumble_server_enable="YES".
+  7. Start server:
+      service mumble_server_enable start
+
 20230620:
   AFFECTS: users of lang/elixir-devel
   AUTHOR: dch@FreeBSD.org
diff --git a/audio/mumble-server/Makefile b/audio/mumble-server/Makefile
index e286c33d451c..390097f5f2e8 100644
--- a/audio/mumble-server/Makefile
+++ b/audio/mumble-server/Makefile
@@ -1,84 +1,80 @@
-PORTNAME=	murmur
-PORTVERSION=	1.3.3
-PORTREVISION=	6
+PORTNAME=	mumble-server
+PORTVERSION=	1.5.517
 CATEGORIES=	audio net
 
 MAINTAINER=	feld@FreeBSD.org
 COMMENT=	Server component of Mumble
-WWW=		http://mumble.sourceforge.net/
+WWW=		https://www.mumble.info/
 
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	${LOCALBASE}/include/boost/function.hpp:devel/boost-libs
+BUILD_DEPENDS=	boost-libs>0:devel/boost-libs
 LIB_DEPENDS=	libprotobuf.so:devel/protobuf
 
-USES=		compiler:c++11-lang qmake pkgconfig python:build qt:5 ssl
-BROKEN_SSL=	openssl30 openssl31
-BROKEN_SSL_REASON=	Requires OpenSSL 3.0.0 deprecated CRYPTO_MEM_CHECK_ON
-USE_CXXSTD=	c++11
+USES=		cmake compiler:c++14-lang qmake pkgconfig python:build qt:5 ssl
+USE_CXXSTD=	c++14
 USE_QT=		buildtools:build core network sql xml
 
-USE_GITHUB=	YES
-GH_ACCOUNT=	mumble-voip
-GH_PROJECT=	mumble
+USE_GITHUB=	yes
+GH_TUPLE=	mumble-voip:mumble:v${DISTVERSION} \
+		Krzmbrzl:FindPythonInterpreter:bb4d3ea:mumble_FindPythonInterpreter/3rdparty/FindPythonInterpreter \
+		microsoft:GSL:0f6dbc9:mumble_gsl/3rdparty/gsl \
+		mumble-voip:minhook:5e338f8:mumble_minhook/3rdparty/minhook \
+		mumble-voip:speexdsp:6e4634f:mumble_speexdsp/3rdparty/speexdsp \
+		wolfpld:tracy:1a4f369:mumble_tracy/3rdparty/tracy
 
-CONFIG=		no-client
-QMAKE_ARGS=	"CONFIG+=${CONFIG}"
-QMAKE_ENV+=	"MUMBLE_PYTHON=${PYTHON_CMD}"
+CMAKE_ON=	server
+CMAKE_OFF=	client
 
-USE_RC_SUBR=	murmur
+USE_RC_SUBR=	mumble_server
 SUB_LIST+=	USERS="${USERS}" GROUPS="${GROUPS}"
 
-OPTIONS_DEFINE=		BONJOUR DBUS DOCS ICE
-OPTIONS_DEFAULT=	BONJOUR MYSQL SQLITE
+OPTIONS_DEFINE=		AVAHI DBUS DOCS ICE LTO
+OPTIONS_DEFAULT=	AVAHI LTO MYSQL SQLITE
 OPTIONS_MULTI=		SQL
-OPTIONS_MULTI_SQL=	MYSQL SQLITE
+OPTIONS_MULTI_SQL=	MYSQL PGSQL SQLITE
 
-BONJOUR_DESC=		Bonjour Support
-BONJOUR_VARS_OFF=	CONFIG+=no-bonjour
-BONJOUR_LIB_DEPENDS=	libdns_sd.so:net/mDNSResponder
+AVAHI_CMAKE_BOOL=	zeroconf
+AVAHI_LIB_DEPENDS=	libdns_sd.so:net/avahi-libdns
 
-DBUS_VARS_OFF=		CONFIG+=no-dbus
+DBUS_CMAKE_BOOL=	dbus
 DBUS_USE=		QT=dbus
 
 ICE_DESC=		Ice Support
-ICE_VARS_OFF=		CONFIG+=no-ice
+ICE_CMAKE_BOOL=		ice
 ICE_LIB_DEPENDS=	libIce.so:devel/ice
 
-MYSQL_VARS_OFF=		CONFIG+=no-sql-mysql
-MYSQL_USE=		QT=sql-mysql
+LTO_CMAKE_BOOL=		lto
+
+MYSQL_USE=		QT=sql-mysql:run
+
+PGSQL_USE=		QT=sql-pgsql:run
 
-SQLITE_VARS_OFF=	CONFIG+=no-sqlite3_run
 SQLITE_USE=		QT=sql-sqlite3:run
 
-USERS=		murmur
-GROUPS=		murmur
+USERS=		mumble-server
+GROUPS=		mumble-server
 
 .include <bsd.port.pre.mk>
-# PCH is broken on GCC
-.if ${CHOSEN_COMPILER_TYPE} == gcc
-CONFIG+=	no-pch
-.endif
-
-post-patch:
-	@${REINPLACE_CMD} -e 's|--no-add-needed|--no-copy-dt-needed-entries|' ${WRKSRC}/qmake/compiler.pri
-	@${ECHO_CMD} 'QMAKE_LFLAGS += -fstack-protector' >> ${WRKSRC}/src/murmur/murmur.pro
 
 pre-install:
-	${SED} -i '' -e 's|database=.*|database=/var/db/murmur/murmur.sqlite|' ${WRKSRC}/scripts/murmur.ini
-	${SED} -i '' -e 's|#pidfile=.*|pidfile=/var/run/murmur/murmur.pid|' ${WRKSRC}/scripts/murmur.ini
-	${SED} -i '' -e 's|#logfile=.*|logfile=/var/log/murmur/murmur.log|' ${WRKSRC}/scripts/murmur.ini
-	${SED} -i '' -e 's|#host=.*|host=0.0.0.0|' ${WRKSRC}/scripts/murmur.ini
+	${SED} -i '' -e 's|database=.*|database=/var/db/mumble-server/mumble-server.sqlite| ; \
+			s|;pidfile=.*|pidfile=/var/run/mumble-server/mumble-server.pid| ; \
+			s|;logfile=.*|logfile=/var/log/mumble-server/mumble-server.log| ; \
+			s|;host=.*|host=0.0.0.0|' \
+		${WRKSRC}/auxiliary_files/mumble-server.ini
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/release/murmurd ${STAGEDIR}${PREFIX}/sbin
-	${INSTALL_DATA} ${WRKSRC}/scripts/murmur.ini ${STAGEDIR}${PREFIX}/etc/murmur.ini.sample
-	${CP} ${WRKSRC}/man/murmurd.1 ${STAGEDIR}${PREFIX}/share/man/man1
+	${INSTALL_PROGRAM} ${WRKDIR}/.build/mumble-server ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_DATA} ${WRKSRC}/auxiliary_files/mumble-server.ini \
+			${STAGEDIR}${PREFIX}/etc/mumble-server.ini.sample
+	${INSTALL_MAN} ${WRKSRC}/auxiliary_files/man_files/mumble-server.1 \
+			${STAGEDIR}${MANPREFIX}/share/man/man1/mumble-server.1
 
 do-install-DOCS-on:
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for f in CHANGES INSTALL README README.Linux
+.for f in README.md SECURITY.md docs/additional-readmes/README.static.linux
 	${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}
 .endfor
 
diff --git a/audio/mumble-server/distinfo b/audio/mumble-server/distinfo
index 46a347443f6f..7b8d912abfa1 100644
--- a/audio/mumble-server/distinfo
+++ b/audio/mumble-server/distinfo
@@ -1,3 +1,13 @@
-TIMESTAMP = 1602262186
-SHA256 (mumble-voip-mumble-1.3.3_GH0.tar.gz) = 53a555092a03af2e6025c641bb748f013e1cfa8f61899a686bed8690439f36c7
-SIZE (mumble-voip-mumble-1.3.3_GH0.tar.gz) = 4895708
+TIMESTAMP = 1689430803
+SHA256 (mumble-voip-mumble-1.5.517-v1.5.517_GH0.tar.gz) = f7ea7c8f5267fa8f744a7622bb96ad373ee40c6458b9ce01d81d071898f6a6da
+SIZE (mumble-voip-mumble-1.5.517-v1.5.517_GH0.tar.gz) = 6120684
+SHA256 (Krzmbrzl-FindPythonInterpreter-bb4d3ea_GH0.tar.gz) = 8439bfe7daeb478d8e8aa09b3c111c3dc360064144d181fc5dcfef950e8eaa05
+SIZE (Krzmbrzl-FindPythonInterpreter-bb4d3ea_GH0.tar.gz) = 4817
+SHA256 (microsoft-GSL-0f6dbc9_GH0.tar.gz) = 63d53ed611862f90517048db57617d8264200810a1e9fbb7ff9a524747f8dab3
+SIZE (microsoft-GSL-0f6dbc9_GH0.tar.gz) = 78207
+SHA256 (mumble-voip-minhook-5e338f8_GH0.tar.gz) = bc675c5b9def1fcef4b58c62e6d69eaa6e76d2fed89ace681059a7648e808033
+SIZE (mumble-voip-minhook-5e338f8_GH0.tar.gz) = 27651
+SHA256 (mumble-voip-speexdsp-6e4634f_GH0.tar.gz) = f596d946feeffc66ad2f8a5886945019d79a1a45f3e9c1a1191b4faabb0e84ea
+SIZE (mumble-voip-speexdsp-6e4634f_GH0.tar.gz) = 895204
+SHA256 (wolfpld-tracy-1a4f369_GH0.tar.gz) = b1fbb7b8ec38c58addd97f9cd6d17e879ecab9bfc184751297ce2162a6b8d008
+SIZE (wolfpld-tracy-1a4f369_GH0.tar.gz) = 4633541
diff --git a/audio/mumble-server/files/mumble_server.in b/audio/mumble-server/files/mumble_server.in
index 9767d41513e7..f5c0520cf73a 100644
--- a/audio/mumble-server/files/mumble_server.in
+++ b/audio/mumble-server/files/mumble_server.in
@@ -1,37 +1,37 @@
 #!/bin/sh
 
-# PROVIDE: murmur
+# PROVIDE: mumble_server
 # REQUIRE: DAEMON
 # KEYWORD: shutdown
 #
 # Add the following lines to /etc/rc.conf.local or /etc/rc.conf
 # to enable this service:
 #
-# murmur_enable (bool):		Set to NO by default.
-#				Set it to YES to enable murmur.
-# murmur_flags (str):		Set to "" by default.
+# mumble_server_enable (bool):	Set to NO by default.
+#				Set it to YES to enable mumble_server.
+# mumble_server_flags (str):	Set to "" by default.
 #				Extra flags passed to start command.
 #
 
 . /etc/rc.subr
 
-name=murmur
-rcvar=murmur_enable
+name=mumble_server
+rcvar=mumble_server_enable
 load_rc_config $name
 
 # Set some defaults
-: ${murmur_enable:=NO}
-: ${murmur_user=%%USERS%%}
+: ${mumble_server_enable:=NO}
+: ${mumble_server_user=%%USERS%%}
 
-command="%%PREFIX%%/sbin/murmurd"
-command_args="-ini %%PREFIX%%/etc/murmur.ini"
-pidfile=/var/run/murmur/murmur.pid
-start_precmd=murmur_prestart
+command="%%PREFIX%%/sbin/mumble-server"
+command_args="-ini %%PREFIX%%/etc/mumble-server.ini"
+pidfile=/var/run/mumble-server/mumble-server.pid
+start_precmd=mumble_server_prestart
 extra_commands="reload"
 sig_reload="USR1"
 
-murmur_prestart() {
-	for i in /var/log/murmur /var/run/murmur /var/db/murmur; do
+mumble_server_prestart() {
+	for i in /var/log/mumble-server /var/run/mumble-server /var/db/mumble-server; do
 		if [ ! -d ${i} ]; then
 			install -d -o %%USERS%% -g %%GROUPS%% ${i}
 		fi
diff --git a/audio/mumble-server/files/patch-initialize-SSL b/audio/mumble-server/files/patch-initialize-SSL
deleted file mode 100644
index 00687b8ebed3..000000000000
--- a/audio/mumble-server/files/patch-initialize-SSL
+++ /dev/null
@@ -1,34 +0,0 @@
-Description: the SSL library must be initialized, otherwise mumble and
-   mumble-server both fail to find the available ciphers after a rebuild
-   with openssl_1.0.2d-3.  The two calls used are based on:
-     https://wiki.openssl.org/index.php/SSL/TLS_Client#Initialization
-Author: Colomban Wendling <lists.ban@herbesfolles.org>
-        Christohper Knadle <Chris.Knadle@coredump.us>
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804363
-Bug-Mumble: https://github.com/mumble-voip/mumble/issues/1876
-Last-Updated: 2015-11-10
-
---- src/mumble/main.cpp.orig	2019-08-30 01:01:56 UTC
-+++ src/mumble/main.cpp
-@@ -132,6 +132,9 @@ int main(int argc, char **argv) {
- 
- 	os_init();
- 
-+	SSL_library_init();
-+	SSL_load_error_strings();
-+
- 	bool bAllowMultiple = false;
- 	bool suppressIdentity = false;
- 	bool customJackClientName = false;
---- src/murmur/main.cpp.orig	2019-08-30 01:01:56 UTC
-+++ src/murmur/main.cpp
-@@ -205,6 +205,9 @@ int main(int argc, char **argv) {
- 	QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
- #endif
- 
-+	SSL_library_init();
-+	SSL_load_error_strings();
-+
- #ifdef Q_OS_WIN
- 	// By default, windbus expects the path to dbus-daemon to be in PATH, and the path
- 	// should contain bin\\, and the path to the config is hardcoded as ..\etc
diff --git a/audio/mumble-server/files/patch-scripts_murmur.ini b/audio/mumble-server/files/patch-scripts_murmur.ini
deleted file mode 100644
index af12a75bf106..000000000000
--- a/audio/mumble-server/files/patch-scripts_murmur.ini
+++ /dev/null
@@ -1,18 +0,0 @@
---- scripts/murmur.ini.orig	2020-09-04 21:33:39 UTC
-+++ scripts/murmur.ini
-@@ -93,13 +93,13 @@ icesecretwrite=
- ; logs to the file 'murmur.log'. If you leave this field blank
- ; on Unix-like systems, Murmur will force itself into foreground
- ; mode which logs to the console.
--;logfile=murmur.log
-+logfile=/var/log/murmur/murmur.log
- 
- ; If set, Murmur will write its process ID to this file
- ; when running in daemon mode (when the -fg flag is not
- ; specified on the command line). Only available on
- ; Unix-like systems.
--;pidfile=
-+pidfile=/var/run/murmur/murmur.pid
- 
- ; The below will be used as defaults for new configured servers.
- ; If you're just running one server (the default), it's easier to
diff --git a/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp b/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp
deleted file mode 100644
index b5725633ae9d..000000000000
--- a/audio/mumble-server/files/patch-src_SelfSignedCertificate.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/SelfSignedCertificate.cpp.orig	2023-06-11 17:43:07 UTC
-+++ src/SelfSignedCertificate.cpp
-@@ -45,10 +45,12 @@ bool SelfSignedCertificate::generate(CertificateType c
- 	QString commonName;
- 	bool isServerCert = certificateType == CertificateTypeServerCertificate;
- 
-+#ifdef CRYPTO_MEM_CHECK_ON
- 	if (CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) == -1) {
- 		ok = false;
- 		goto out;
- 	}
-+#endif
- 
- 	x509 = X509_new();
- 	if (x509 == NULL) {
diff --git a/audio/mumble-server/pkg-descr b/audio/mumble-server/pkg-descr
index a9b0e073fe7d..f2745edaa98e 100644
--- a/audio/mumble-server/pkg-descr
+++ b/audio/mumble-server/pkg-descr
@@ -1,2 +1,2 @@
-Murmur is the server component of Mumble, a low-latency, high quality
-VoIP application.
+Mumble-server is the server component of Mumble, a free, open source,
+low-latency, high quality voice chat application.
diff --git a/audio/mumble-server/pkg-plist b/audio/mumble-server/pkg-plist
index ebea70067760..449ca3f06601 100644
--- a/audio/mumble-server/pkg-plist
+++ b/audio/mumble-server/pkg-plist
@@ -1,7 +1,6 @@
-@sample etc/murmur.ini.sample
-share/man/man1/murmurd.1.gz
-sbin/murmurd
-%%PORTDOCS%%%%DOCSDIR%%/CHANGES
-%%PORTDOCS%%%%DOCSDIR%%/INSTALL
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%%%DOCSDIR%%/README.Linux
+@sample etc/mumble-server.ini.sample
+sbin/mumble-server
+share/man/man1/mumble-server.1.gz
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/SECURITY.md
+%%PORTDOCS%%%%DOCSDIR%%/README.static.linux