mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
Added new message for Packet Data Unit Confirmed messages with unknown
PDUType.
This commit is contained in:
@@ -1642,7 +1642,7 @@ public class P25DecoderState extends DecoderState
|
||||
|
||||
switch( pduc.getPDUType() )
|
||||
{
|
||||
case SN_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
case SNDCP_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
SNDCPActivateTDSContextAccept satca =
|
||||
(SNDCPActivateTDSContextAccept)pduc;
|
||||
|
||||
@@ -1654,7 +1654,7 @@ public class P25DecoderState extends DecoderState
|
||||
.to( satca.getLogicalLinkID() )
|
||||
.build() );
|
||||
break;
|
||||
case SN_ACTIVATE_TDS_CONTEXT_REJECT:
|
||||
case SNDCP_ACTIVATE_TDS_CONTEXT_REJECT:
|
||||
SNDCPActivateTDSContextReject satcr =
|
||||
(SNDCPActivateTDSContextReject)pduc;
|
||||
|
||||
@@ -1679,7 +1679,7 @@ public class P25DecoderState extends DecoderState
|
||||
.from( satcreq.getLogicalLinkID() )
|
||||
.build() );
|
||||
break;
|
||||
case SN_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
case SNDCP_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
SNDCPDeactivateTDSContext sdtca =
|
||||
(SNDCPDeactivateTDSContext)pduc;
|
||||
|
||||
@@ -1691,7 +1691,7 @@ public class P25DecoderState extends DecoderState
|
||||
.from( sdtca.getLogicalLinkID() )
|
||||
.build() );
|
||||
break;
|
||||
case SN_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
||||
case SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
||||
SNDCPDeactivateTDSContext sdtcreq =
|
||||
(SNDCPDeactivateTDSContext)pduc;
|
||||
|
||||
@@ -1703,7 +1703,7 @@ public class P25DecoderState extends DecoderState
|
||||
.from( sdtcreq.getLogicalLinkID() )
|
||||
.build() );
|
||||
break;
|
||||
case SN_RF_CONFIRMED_DATA:
|
||||
case SNDCP_RF_CONFIRMED_DATA:
|
||||
SNDCPUserData sud = (SNDCPUserData)pduc;
|
||||
|
||||
StringBuilder sbFrom = new StringBuilder();
|
||||
@@ -1732,7 +1732,7 @@ public class P25DecoderState extends DecoderState
|
||||
.to( pduc.getLogicalLinkID() )
|
||||
.build() );
|
||||
break;
|
||||
case SN_RF_UNCONFIRMED_DATA:
|
||||
case SNDCP_RF_UNCONFIRMED_DATA:
|
||||
break;
|
||||
default:
|
||||
mLog.debug( "PDUC - Unrecognized Message: " + pduc.toString() );
|
||||
|
||||
@@ -48,19 +48,27 @@ public class PDUConfirmedMessageFactory
|
||||
case UNENCRYPTED_USER_DATA:
|
||||
switch( message.getPDUType() )
|
||||
{
|
||||
case SN_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
case SNDCP_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
return new SNDCPActivateTDSContextAccept( message );
|
||||
case SN_ACTIVATE_TDS_CONTEXT_REJECT:
|
||||
case SNDCP_ACTIVATE_TDS_CONTEXT_REJECT:
|
||||
return new SNDCPActivateTDSContextReject( message );
|
||||
case SN_ACTIVATE_TDS_CONTEXT_REQUEST:
|
||||
return new SNDCPActivateTDSContextRequest( message );
|
||||
case SN_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
case SN_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
||||
case SNDCP_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||
case SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
||||
return new SNDCPDeactivateTDSContext( message );
|
||||
case SN_RF_CONFIRMED_DATA:
|
||||
case SNDCP_RF_CONFIRMED_DATA:
|
||||
return new SNDCPUserData( message );
|
||||
case SN_RF_UNCONFIRMED_DATA:
|
||||
case SNDCP_RF_UNCONFIRMED_DATA:
|
||||
break;
|
||||
case PDU_TYPE_6:
|
||||
case PDU_TYPE_7:
|
||||
case PDU_TYPE_8:
|
||||
case PDU_TYPE_9:
|
||||
case PDU_TYPE_10:
|
||||
case PDU_TYPE_11:
|
||||
return new PDUTypeUnknown( message );
|
||||
case UNKNOWN:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package module.decode.p25.message.pdu.confirmed;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class PDUTypeUnknown extends PDUConfirmedMessage
|
||||
{
|
||||
public final static Logger mLog =
|
||||
LoggerFactory.getLogger( PDUTypeUnknown.class );
|
||||
|
||||
public PDUTypeUnknown( PDUConfirmedMessage message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append( "NAC:" );
|
||||
sb.append( getNAC() );
|
||||
sb.append( " LLID:" );
|
||||
sb.append( getLogicalLinkID() );
|
||||
sb.append( " PACKET DATA UNIT CONFIRMED - " );
|
||||
sb.append( getPDUType().getLabel() );
|
||||
sb.append( " CRC[" );
|
||||
sb.append( getErrorStatus() );
|
||||
sb.append( "]" );
|
||||
|
||||
sb.append( " PACKET #" );
|
||||
sb.append( getPacketSequenceNumber() );
|
||||
|
||||
if( isFinalFragment() && getFragmentSequenceNumber() == 0 )
|
||||
{
|
||||
sb.append( ".C" );
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append( "." );
|
||||
sb.append( getFragmentSequenceNumber() );
|
||||
|
||||
if( isFinalFragment() )
|
||||
{
|
||||
sb.append( "C" );
|
||||
}
|
||||
}
|
||||
|
||||
sb.append( " " );
|
||||
|
||||
sb.append( mMessage.toString() );
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public class SNDCPDeactivateTDSContext extends PDUConfirmedMessage
|
||||
|
||||
public String getDeactivationType()
|
||||
{
|
||||
if( getPDUType() == PDUType.SN_DEACTIVATE_TDS_CONTEXT_REQUEST )
|
||||
if( getPDUType() == PDUType.SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST )
|
||||
{
|
||||
return mMessage.getInt( DEACTIVATION_TYPE ) == 0 ?
|
||||
"ALL NSAPIS" : "THIS NSAPI";
|
||||
|
||||
@@ -3,12 +3,18 @@ package module.decode.p25.reference;
|
||||
public enum PDUType
|
||||
{
|
||||
/* Outbound */
|
||||
SN_ACTIVATE_TDS_CONTEXT_ACCEPT( "SN-ACTIVATE TDS CONTEXT ACCEPT", 0 ),
|
||||
SN_DEACTIVATE_TDS_CONTEXT_ACCEPT( "SN-DEACTIVATE TDS CONTEXT ACCEPT", 1 ),
|
||||
SN_DEACTIVATE_TDS_CONTEXT_REQUEST( "SN-DEACTIVATE TDS CONTEXT REQUEST", 2 ),
|
||||
SN_ACTIVATE_TDS_CONTEXT_REJECT( "SN-ACTIVATE TDS CONTEXT REJECT", 3 ),
|
||||
SN_RF_UNCONFIRMED_DATA( "SN-RF UNCONFIRMED DATA", 4 ),
|
||||
SN_RF_CONFIRMED_DATA( "SN-RF CONFIRMED DATA", 5 ),
|
||||
SNDCP_ACTIVATE_TDS_CONTEXT_ACCEPT( "SNDCP-ACTIVATE TDS CONTEXT ACCEPT", 0 ),
|
||||
SNDCP_DEACTIVATE_TDS_CONTEXT_ACCEPT( "SNDCP-DEACTIVATE TDS CONTEXT ACCEPT", 1 ),
|
||||
SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST( "SNDCP-DEACTIVATE TDS CONTEXT REQUEST", 2 ),
|
||||
SNDCP_ACTIVATE_TDS_CONTEXT_REJECT( "SNDCP-ACTIVATE TDS CONTEXT REJECT", 3 ),
|
||||
SNDCP_RF_UNCONFIRMED_DATA( "SNDCP-RF UNCONFIRMED DATA", 4 ),
|
||||
SNDCP_RF_CONFIRMED_DATA( "SNDCP-RF CONFIRMED DATA", 5 ),
|
||||
PDU_TYPE_6( "PDU TYPE 6 UNKNOWN", 6 ),
|
||||
PDU_TYPE_7( "PDU TYPE 7 UNKNOWN", 7 ),
|
||||
PDU_TYPE_8( "PDU TYPE 8 UNKNOWN", 8 ),
|
||||
PDU_TYPE_9( "PDU TYPE 9 UNKNOWN", 9 ),
|
||||
PDU_TYPE_10( "PDU TYPE 10 UNKNOWN", 10 ),
|
||||
PDU_TYPE_11( "PDU TYPE 11 UNKNOWN", 11 ),
|
||||
|
||||
/* Inbound */
|
||||
SN_ACTIVATE_TDS_CONTEXT_REQUEST( "SN-ACTIVATE TDS CONTEXT REQUEST", 0 ),
|
||||
|
||||
@@ -2,7 +2,7 @@ package module.decode.p25.reference;
|
||||
|
||||
public enum ServiceAccessPoint
|
||||
{
|
||||
UNENCRYPTED_USER_DATA( "USER DATA", 0 ),
|
||||
UNENCRYPTED_USER_DATA( "UNENCRYPTED USER DATA", 0 ),
|
||||
ENCRYPTED_USER_DATA( "ENCRYPTED USER DATA", 1 ),
|
||||
CIRCUIT_DATA( "CIRCUIT DATA", 2 ),
|
||||
CIRCUIT_DATA_CONTROL( "CIRCUIT DATA CONTROL", 3 ),
|
||||
|
||||
Reference in New Issue
Block a user