diff --git a/src/common/Defines.h b/src/common/Defines.h
index 5e5dd31f..793c34b3 100644
--- a/src/common/Defines.h
+++ b/src/common/Defines.h
@@ -103,9 +103,15 @@ typedef unsigned long long ulong64_t;
#endif
#define __PROG_NAME__ ""
-#define __NET_NAME__ "DVM_DMR_P25"
#define __EXE_NAME__ ""
-#define __VER__ "D03.60.00 (" __GIT_VER__ ")"
+
+#define VERSION_MAJOR "03"
+#define VERSION_MINOR "06"
+#define VERSION_REV "A"
+
+#define __NETVER__ "DVM_R" VERSION_MAJOR VERSION_REV VERSION_MINOR
+#define __VER__ VERSION_MAJOR "." VERSION_MINOR " (R" VERSION_MAJOR VERSION_REV VERSION_MINOR " " __GIT_VER__ ")"
+
#define __BUILD__ __DATE__ " " __TIME__
#define HOST_SW_API
diff --git a/src/common/network/RTPHeader.cpp b/src/common/network/RTPHeader.cpp
index 9a5f01f6..8720b702 100644
--- a/src/common/network/RTPHeader.cpp
+++ b/src/common/network/RTPHeader.cpp
@@ -7,7 +7,7 @@
*
*/
/*
-* Copyright (C) 2023 by Bryan Biedenkapp N2PLL
+* Copyright (C) 2023-2024 by Bryan Biedenkapp N2PLL
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -37,6 +37,7 @@ using namespace network::frame;
// ---------------------------------------------------------------------------
hrc::hrc_t RTPHeader::m_wcStart = hrc::hrc_t();
+uint32_t RTPHeader::m_prevTimestamp = INVALID_TS;
// ---------------------------------------------------------------------------
// Public Class Members
@@ -112,9 +113,16 @@ void RTPHeader::encode(uint8_t* data)
data[2U] = (m_seq >> 8) & 0xFFU; // Sequence MSB
data[3U] = (m_seq >> 0) & 0xFFU; // Sequence LSB
- uint64_t timeSinceStart = hrc::diffNow(m_wcStart);
- uint64_t microSeconds = timeSinceStart * RTP_GENERIC_CLOCK_RATE;
- m_timestamp = uint32_t(microSeconds / 1000000);
+ if (m_prevTimestamp == INVALID_TS) {
+ uint64_t timeSinceStart = hrc::diffNow(m_wcStart);
+ uint64_t microSeconds = timeSinceStart * RTP_GENERIC_CLOCK_RATE;
+ m_timestamp = uint32_t(microSeconds / 1000000);
+ m_prevTimestamp = m_timestamp;
+ }
+ else {
+ m_timestamp = m_prevTimestamp + (RTP_GENERIC_CLOCK_RATE / 133);
+ m_prevTimestamp = m_timestamp;
+ }
__SET_UINT32(m_timestamp, data, 4U); // Timestamp
__SET_UINT32(m_ssrc, data, 8U); // Synchronization Source Identifier
@@ -126,4 +134,5 @@ void RTPHeader::encode(uint8_t* data)
void RTPHeader::resetStartTime()
{
m_wcStart = hrc::hrc_t();
+ m_prevTimestamp = INVALID_TS;
}
diff --git a/src/common/network/RTPHeader.h b/src/common/network/RTPHeader.h
index 6908e342..97dad39b 100644
--- a/src/common/network/RTPHeader.h
+++ b/src/common/network/RTPHeader.h
@@ -81,12 +81,13 @@ namespace network
/// Sequence number for the RTP packet.
__PROPERTY(uint16_t, seq, Sequence);
/// RTP packet timestamp.
- __READONLY_PROPERTY(uint32_t, timestamp, Timestamp);
+ __PROPERTY(uint32_t, timestamp, Timestamp);
/// Synchronization Source ID.
__PROPERTY(uint32_t, ssrc, SSRC);
private:
static std::chrono::time_point m_wcStart;
+ static uint32_t m_prevTimestamp;
std::mt19937 m_random;
};
diff --git a/src/fne/ActivityLog.cpp b/src/fne/ActivityLog.cpp
index 0ee95111..7fae9a05 100644
--- a/src/fne/ActivityLog.cpp
+++ b/src/fne/ActivityLog.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/ActivityLog.h b/src/fne/ActivityLog.h
index 3d5282f3..bbb70f9f 100644
--- a/src/fne/ActivityLog.h
+++ b/src/fne/ActivityLog.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/CMakeLists.txt b/src/fne/CMakeLists.txt
index cbd247cd..1cb22db8 100644
--- a/src/fne/CMakeLists.txt
+++ b/src/fne/CMakeLists.txt
@@ -1,9 +1,9 @@
#/**
-#* Digital Voice Modem - Conference FNE Software
+#* Digital Voice Modem - Converged FNE Software
#* GPLv2 Open Source. Use is subject to license terms.
#* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#*
-#* @package DVM / Conference FNE Software
+#* @package DVM / Converged FNE Software
#*
#*/
#/*
diff --git a/src/fne/Defines.h b/src/fne/Defines.h
index 2d8de2dd..5c6396b1 100644
--- a/src/fne/Defines.h
+++ b/src/fne/Defines.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
//
@@ -38,7 +38,7 @@
// ---------------------------------------------------------------------------
#undef __PROG_NAME__
-#define __PROG_NAME__ "Digital Voice Modem (DVM) Conference FNE"
+#define __PROG_NAME__ "Digital Voice Modem (DVM) Converged FNE"
#undef __EXE_NAME__
#define __EXE_NAME__ "dvmfne"
diff --git a/src/fne/FNEMain.cpp b/src/fne/FNEMain.cpp
index 0c6e2d9f..2a82f63f 100644
--- a/src/fne/FNEMain.cpp
+++ b/src/fne/FNEMain.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
//
diff --git a/src/fne/FNEMain.h b/src/fne/FNEMain.h
index b48a2fa7..d124ba45 100644
--- a/src/fne/FNEMain.h
+++ b/src/fne/FNEMain.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
//
diff --git a/src/fne/HostFNE.cpp b/src/fne/HostFNE.cpp
index 18f1b6da..b40e148a 100644
--- a/src/fne/HostFNE.cpp
+++ b/src/fne/HostFNE.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/HostFNE.h b/src/fne/HostFNE.h
index 755623dd..7047f077 100644
--- a/src/fne/HostFNE.h
+++ b/src/fne/HostFNE.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/FNENetwork.cpp b/src/fne/network/FNENetwork.cpp
index 8265a27f..7c76e6f8 100644
--- a/src/fne/network/FNENetwork.cpp
+++ b/src/fne/network/FNENetwork.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/FNENetwork.h b/src/fne/network/FNENetwork.h
index e11c313a..25dae3b2 100644
--- a/src/fne/network/FNENetwork.h
+++ b/src/fne/network/FNENetwork.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/RESTAPI.cpp b/src/fne/network/RESTAPI.cpp
index a2d16bd7..97915043 100644
--- a/src/fne/network/RESTAPI.cpp
+++ b/src/fne/network/RESTAPI.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/RESTAPI.h b/src/fne/network/RESTAPI.h
index 2300e5fe..fccd0488 100644
--- a/src/fne/network/RESTAPI.h
+++ b/src/fne/network/RESTAPI.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/RESTDefines.h b/src/fne/network/RESTDefines.h
index b2fabce2..47fc3c51 100644
--- a/src/fne/network/RESTDefines.h
+++ b/src/fne/network/RESTDefines.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/fne/TagDMRData.cpp b/src/fne/network/fne/TagDMRData.cpp
index 91382b17..28817196 100644
--- a/src/fne/network/fne/TagDMRData.cpp
+++ b/src/fne/network/fne/TagDMRData.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/fne/TagDMRData.h b/src/fne/network/fne/TagDMRData.h
index 073b3102..19c8a378 100644
--- a/src/fne/network/fne/TagDMRData.h
+++ b/src/fne/network/fne/TagDMRData.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/fne/TagNXDNData.cpp b/src/fne/network/fne/TagNXDNData.cpp
index cf4d80b4..e208d336 100644
--- a/src/fne/network/fne/TagNXDNData.cpp
+++ b/src/fne/network/fne/TagNXDNData.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/fne/TagNXDNData.h b/src/fne/network/fne/TagNXDNData.h
index ce1638e0..5e6c1c22 100644
--- a/src/fne/network/fne/TagNXDNData.h
+++ b/src/fne/network/fne/TagNXDNData.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/fne/TagP25Data.cpp b/src/fne/network/fne/TagP25Data.cpp
index 05f35431..bdb19ac5 100644
--- a/src/fne/network/fne/TagP25Data.cpp
+++ b/src/fne/network/fne/TagP25Data.cpp
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/fne/network/fne/TagP25Data.h b/src/fne/network/fne/TagP25Data.h
index 549ce474..f044a0d5 100644
--- a/src/fne/network/fne/TagP25Data.h
+++ b/src/fne/network/fne/TagP25Data.h
@@ -1,9 +1,9 @@
/**
-* Digital Voice Modem - Conference FNE Software
+* Digital Voice Modem - Converged FNE Software
* GPLv2 Open Source. Use is subject to license terms.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
-* @package DVM / Conference FNE Software
+* @package DVM / Converged FNE Software
*
*/
/*
diff --git a/src/host/network/Network.cpp b/src/host/network/Network.cpp
index e2e133bf..04c6319f 100644
--- a/src/host/network/Network.cpp
+++ b/src/host/network/Network.cpp
@@ -699,7 +699,7 @@ bool Network::writeConfig()
return false;
}
- const char* software = __NET_NAME__;
+ const char* software = __NETVER__;
json::object config = json::object();
diff --git a/src/host/setup/HostSetup.cpp b/src/host/setup/HostSetup.cpp
index 7a553c57..d5eb895c 100644
--- a/src/host/setup/HostSetup.cpp
+++ b/src/host/setup/HostSetup.cpp
@@ -2011,7 +2011,7 @@ bool HostSetup::writeFlash()
// software signature
std::string software;
- software.append(__NET_NAME__ " " __VER__ " (built " __BUILD__ ")");
+ software.append(__NETVER__ " (built " __BUILD__ ")");
for (uint8_t i = 0; i < software.length(); i++) {
buffer[176U + i] = software[i];
}
diff --git a/src/remote/RESTClientMain.cpp b/src/remote/RESTClientMain.cpp
index 91a30d17..0cbe5dd8 100644
--- a/src/remote/RESTClientMain.cpp
+++ b/src/remote/RESTClientMain.cpp
@@ -193,9 +193,9 @@ void usage(const char* message, const char* arg)
reply += " status Display current settings and operation mode\r\n";
reply += " voice-ch Retrieves the list of configured voice channels\r\n";
reply += "\r\n";
- reply += " fne-peerlist Retrieves the list of connected peers (Conference FNE only)\r\n";
- reply += " fne-tgidlist Retrieves the list of configured TGIDs (Conference FNE only)\r\n";
- reply += " fne-force-update Forces the FNE to send list update (Conference FNE only)\r\n";
+ reply += " fne-peerlist Retrieves the list of connected peers (Converged FNE only)\r\n";
+ reply += " fne-tgidlist Retrieves the list of configured TGIDs (Converged FNE only)\r\n";
+ reply += " fne-force-update Forces the FNE to send list update (Converged FNE only)\r\n";
reply += "\r\n";
reply += " mdm-mode Set current mode of host (idle, lockout, dmr, p25, nxdn)\r\n";
reply += " mdm-kill Causes the host to quit\r\n";