@@ -152,17 +152,16 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len)
152
152
if (lc == NULL )
153
153
return ;
154
154
155
- unsigned int id = lc->getSrcId ();
155
+ unsigned int sid = lc->getSrcId ();
156
156
unsigned int did = lc->getDstId ();
157
- if (!DMRAccessControl::validateAccess (id , did, m_slotNo, false )) {
157
+ if (!DMRAccessControl::validateAccess (sid , did, m_slotNo, false )) {
158
158
delete lc;
159
159
return ;
160
160
}
161
161
162
- // Test dst rewrite
163
- unsigned int rw_id = DMRAccessControl::DstIdRewrite (did, false );
162
+ unsigned int rw_id = DMRAccessControl::DstIdRewrite (did,sid,m_slotNo,false );
164
163
if (rw_id) {
165
- LogMessage ( " Rewrite ID: %u " , rw_id);
164
+
166
165
lc->setDstId (rw_id);
167
166
}
168
167
@@ -203,7 +202,7 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len)
203
202
204
203
m_rfState = RS_RF_AUDIO;
205
204
206
- std::string src = m_lookup->find (id );
205
+ std::string src = m_lookup->find (sid );
207
206
std::string dst = m_lookup->find (m_rfLC->getDstId ());
208
207
209
208
if (m_netState == RS_NET_IDLE) {
@@ -486,16 +485,16 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len)
486
485
487
486
CDMRLC* lc = m_rfEmbeddedLC.addData (data + 2U , emb.getLCSS ());
488
487
if (lc != NULL ) {
489
- unsigned int id = lc->getSrcId ();
488
+ unsigned int sid = lc->getSrcId ();
490
489
unsigned int did = lc->getDstId ();
491
- if (!DMRAccessControl::validateAccess (id ,did,m_slotNo,false )) {
490
+ if (!DMRAccessControl::validateAccess (sid ,did,m_slotNo,false )) {
492
491
delete lc;
493
492
return ;
494
493
}
495
494
// Test dst rewrite
496
- unsigned int rw_id = DMRAccessControl::DstIdRewrite (did, false );
495
+ unsigned int rw_id = DMRAccessControl::DstIdRewrite (did,sid,m_slotNo, false );
497
496
if (rw_id) {
498
- LogMessage ( " Rewrite ID: %u " , rw_id);
497
+
499
498
lc->setDstId (rw_id);
500
499
}
501
500
@@ -773,14 +772,14 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
773
772
}
774
773
775
774
unsigned int did = m_netLC->getDstId ();
776
- unsigned int id = m_netLC->getSrcId ();
777
- if (!DMRAccessControl::validateAccess (did , did, m_slotNo, true ))
775
+ unsigned int sid = m_netLC->getSrcId ();
776
+ if (!DMRAccessControl::validateAccess (sid , did, m_slotNo, true ))
778
777
return ;
779
778
780
779
// Test dst rewrite
781
- unsigned int rw_id = DMRAccessControl::DstIdRewrite (did, true );
780
+ unsigned int rw_id = DMRAccessControl::DstIdRewrite (did, sid,m_slotNo, true );
782
781
if (rw_id) {
783
- LogMessage ( " Rewrite ID: %u " , rw_id);
782
+
784
783
m_netLC->setDstId (rw_id);
785
784
}
786
785
@@ -843,14 +842,14 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
843
842
return ;
844
843
845
844
unsigned int did = m_netLC->getDstId ();
846
- unsigned int id = m_netLC->getSrcId ();
847
- if (!DMRAccessControl::validateAccess (id , did, m_slotNo, true ))
845
+ unsigned int sid = m_netLC->getSrcId ();
846
+ if (!DMRAccessControl::validateAccess (sid , did, m_slotNo, true ))
848
847
return ;
849
848
850
849
// Test dst rewrite
851
- unsigned int rw_id = DMRAccessControl::DstIdRewrite (id ,true );
850
+ unsigned int rw_id = DMRAccessControl::DstIdRewrite (did,sid,m_slotNo ,true );
852
851
if (rw_id) {
853
- LogMessage ( " Rewrite ID: %u " , rw_id);
852
+
854
853
m_netLC->setDstId (rw_id);
855
854
}
856
855
@@ -919,6 +918,7 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
919
918
LogMessage (" DMR Slot %u, received network end of voice transmission, %.1f seconds, %u%% packet loss, BER: %.1f%%" , m_slotNo, float (m_netFrames) / 16 .667F , (m_netLost * 100U ) / m_netFrames, float (m_netErrs * 100U ) / float (m_netBits));
920
919
921
920
writeEndNet ();
921
+ DMRAccessControl::setOverEndTime ();
922
922
} else if (dataType == DT_DATA_HEADER) {
923
923
if (m_netState == RS_NET_DATA)
924
924
return ;
@@ -1396,7 +1396,7 @@ void CDMRSlot::init(unsigned int id, unsigned int colorCode, unsigned int callHa
1396
1396
slotType.getData (m_idle + 2U );
1397
1397
1398
1398
// Load black and white lists to DMRAccessControl
1399
- DMRAccessControl::init (DstIdBlacklistSlot1RF, DstIdWhitelistSlot1RF, DstIdBlacklistSlot2RF, DstIdWhitelistSlot2RF, DstIdBlacklistSlot1NET, DstIdWhitelistSlot1NET, DstIdBlacklistSlot2NET, DstIdWhitelistSlot2NET, SrcIdBlacklist, m_selfOnly, m_prefixes, m_id);
1399
+ DMRAccessControl::init (DstIdBlacklistSlot1RF, DstIdWhitelistSlot1RF, DstIdBlacklistSlot2RF, DstIdWhitelistSlot2RF, DstIdBlacklistSlot1NET, DstIdWhitelistSlot1NET, DstIdBlacklistSlot2NET, DstIdWhitelistSlot2NET, SrcIdBlacklist, m_selfOnly, m_prefixes, m_id,callHang );
1400
1400
}
1401
1401
1402
1402
0 commit comments