diff --git a/src/common/p25/lc/LC.cpp b/src/common/p25/lc/LC.cpp
index 080f13af..701e7695 100644
--- a/src/common/p25/lc/LC.cpp
+++ b/src/common/p25/lc/LC.cpp
@@ -49,6 +49,8 @@ LC::LC() :
m_srcId(0U),
m_dstId(0U),
m_grpVchNo(0U),
+ m_grpVchNoB(0U),
+ m_dstIdB(0U),
m_explicitId(false),
m_netId(P25_WACN_STD_DEFAULT),
m_sysId(P25_SID_STD_DEFAULT),
@@ -498,6 +500,9 @@ void LC::copy(const LC& data)
m_grpVchNo = data.m_grpVchNo;
+ m_grpVchNoB = data.m_grpVchNoB;
+ m_dstIdB = data.m_dstIdB;
+
m_explicitId = data.m_explicitId;
m_netId = data.m_netId;
@@ -652,8 +657,8 @@ void LC::encodeLC(uint8_t* rs)
rsValue = (rsValue << 12) + m_grpVchNo; // Group A - Channel Number
rsValue = (rsValue << 16) + m_dstId; // Group A - Talkgroup Address
rsValue = (rsValue << 4) + m_siteData.channelId(); // Group B - Channel ID
- rsValue = (rsValue << 12) + m_grpVchNo; // Group B - Channel Number
- rsValue = (rsValue << 16) + m_dstId; // Group B - Talkgroup Address
+ rsValue = (rsValue << 12) + m_grpVchNoB; // Group B - Channel Number
+ rsValue = (rsValue << 16) + m_dstIdB; // Group B - Talkgroup Address
break;
case LC_PRIVATE:
rsValue = m_mfId;
diff --git a/src/common/p25/lc/LC.h b/src/common/p25/lc/LC.h
index 78211ccd..227357a0 100644
--- a/src/common/p25/lc/LC.h
+++ b/src/common/p25/lc/LC.h
@@ -95,6 +95,11 @@ namespace p25
/// Voice channel number.
__PROPERTY(uint32_t, grpVchNo, GrpVchNo);
+ /// Voice channel number.
+ __PROPERTY(uint32_t, grpVchNoB, GrpVchNoB);
+ /// Destination ID.
+ __PROPERTY(uint32_t, dstIdB, DstIdB);
+
/// Flag indicating explicit addressing.
__PROPERTY(bool, explicitId, ExplicitId);