mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-14 17:47:32 -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() )
|
switch( pduc.getPDUType() )
|
||||||
{
|
{
|
||||||
case SN_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
case SNDCP_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||||
SNDCPActivateTDSContextAccept satca =
|
SNDCPActivateTDSContextAccept satca =
|
||||||
(SNDCPActivateTDSContextAccept)pduc;
|
(SNDCPActivateTDSContextAccept)pduc;
|
||||||
|
|
||||||
@@ -1654,7 +1654,7 @@ public class P25DecoderState extends DecoderState
|
|||||||
.to( satca.getLogicalLinkID() )
|
.to( satca.getLogicalLinkID() )
|
||||||
.build() );
|
.build() );
|
||||||
break;
|
break;
|
||||||
case SN_ACTIVATE_TDS_CONTEXT_REJECT:
|
case SNDCP_ACTIVATE_TDS_CONTEXT_REJECT:
|
||||||
SNDCPActivateTDSContextReject satcr =
|
SNDCPActivateTDSContextReject satcr =
|
||||||
(SNDCPActivateTDSContextReject)pduc;
|
(SNDCPActivateTDSContextReject)pduc;
|
||||||
|
|
||||||
@@ -1679,7 +1679,7 @@ public class P25DecoderState extends DecoderState
|
|||||||
.from( satcreq.getLogicalLinkID() )
|
.from( satcreq.getLogicalLinkID() )
|
||||||
.build() );
|
.build() );
|
||||||
break;
|
break;
|
||||||
case SN_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
case SNDCP_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||||
SNDCPDeactivateTDSContext sdtca =
|
SNDCPDeactivateTDSContext sdtca =
|
||||||
(SNDCPDeactivateTDSContext)pduc;
|
(SNDCPDeactivateTDSContext)pduc;
|
||||||
|
|
||||||
@@ -1691,7 +1691,7 @@ public class P25DecoderState extends DecoderState
|
|||||||
.from( sdtca.getLogicalLinkID() )
|
.from( sdtca.getLogicalLinkID() )
|
||||||
.build() );
|
.build() );
|
||||||
break;
|
break;
|
||||||
case SN_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
case SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
||||||
SNDCPDeactivateTDSContext sdtcreq =
|
SNDCPDeactivateTDSContext sdtcreq =
|
||||||
(SNDCPDeactivateTDSContext)pduc;
|
(SNDCPDeactivateTDSContext)pduc;
|
||||||
|
|
||||||
@@ -1703,7 +1703,7 @@ public class P25DecoderState extends DecoderState
|
|||||||
.from( sdtcreq.getLogicalLinkID() )
|
.from( sdtcreq.getLogicalLinkID() )
|
||||||
.build() );
|
.build() );
|
||||||
break;
|
break;
|
||||||
case SN_RF_CONFIRMED_DATA:
|
case SNDCP_RF_CONFIRMED_DATA:
|
||||||
SNDCPUserData sud = (SNDCPUserData)pduc;
|
SNDCPUserData sud = (SNDCPUserData)pduc;
|
||||||
|
|
||||||
StringBuilder sbFrom = new StringBuilder();
|
StringBuilder sbFrom = new StringBuilder();
|
||||||
@@ -1732,7 +1732,7 @@ public class P25DecoderState extends DecoderState
|
|||||||
.to( pduc.getLogicalLinkID() )
|
.to( pduc.getLogicalLinkID() )
|
||||||
.build() );
|
.build() );
|
||||||
break;
|
break;
|
||||||
case SN_RF_UNCONFIRMED_DATA:
|
case SNDCP_RF_UNCONFIRMED_DATA:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
mLog.debug( "PDUC - Unrecognized Message: " + pduc.toString() );
|
mLog.debug( "PDUC - Unrecognized Message: " + pduc.toString() );
|
||||||
|
|||||||
@@ -48,19 +48,27 @@ public class PDUConfirmedMessageFactory
|
|||||||
case UNENCRYPTED_USER_DATA:
|
case UNENCRYPTED_USER_DATA:
|
||||||
switch( message.getPDUType() )
|
switch( message.getPDUType() )
|
||||||
{
|
{
|
||||||
case SN_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
case SNDCP_ACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||||
return new SNDCPActivateTDSContextAccept( message );
|
return new SNDCPActivateTDSContextAccept( message );
|
||||||
case SN_ACTIVATE_TDS_CONTEXT_REJECT:
|
case SNDCP_ACTIVATE_TDS_CONTEXT_REJECT:
|
||||||
return new SNDCPActivateTDSContextReject( message );
|
return new SNDCPActivateTDSContextReject( message );
|
||||||
case SN_ACTIVATE_TDS_CONTEXT_REQUEST:
|
case SN_ACTIVATE_TDS_CONTEXT_REQUEST:
|
||||||
return new SNDCPActivateTDSContextRequest( message );
|
return new SNDCPActivateTDSContextRequest( message );
|
||||||
case SN_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
case SNDCP_DEACTIVATE_TDS_CONTEXT_ACCEPT:
|
||||||
case SN_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
case SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST:
|
||||||
return new SNDCPDeactivateTDSContext( message );
|
return new SNDCPDeactivateTDSContext( message );
|
||||||
case SN_RF_CONFIRMED_DATA:
|
case SNDCP_RF_CONFIRMED_DATA:
|
||||||
return new SNDCPUserData( message );
|
return new SNDCPUserData( message );
|
||||||
case SN_RF_UNCONFIRMED_DATA:
|
case SNDCP_RF_UNCONFIRMED_DATA:
|
||||||
break;
|
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:
|
default:
|
||||||
break;
|
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()
|
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 ?
|
return mMessage.getInt( DEACTIVATION_TYPE ) == 0 ?
|
||||||
"ALL NSAPIS" : "THIS NSAPI";
|
"ALL NSAPIS" : "THIS NSAPI";
|
||||||
|
|||||||
@@ -3,12 +3,18 @@ package module.decode.p25.reference;
|
|||||||
public enum PDUType
|
public enum PDUType
|
||||||
{
|
{
|
||||||
/* Outbound */
|
/* Outbound */
|
||||||
SN_ACTIVATE_TDS_CONTEXT_ACCEPT( "SN-ACTIVATE TDS CONTEXT ACCEPT", 0 ),
|
SNDCP_ACTIVATE_TDS_CONTEXT_ACCEPT( "SNDCP-ACTIVATE TDS CONTEXT ACCEPT", 0 ),
|
||||||
SN_DEACTIVATE_TDS_CONTEXT_ACCEPT( "SN-DEACTIVATE TDS CONTEXT ACCEPT", 1 ),
|
SNDCP_DEACTIVATE_TDS_CONTEXT_ACCEPT( "SNDCP-DEACTIVATE TDS CONTEXT ACCEPT", 1 ),
|
||||||
SN_DEACTIVATE_TDS_CONTEXT_REQUEST( "SN-DEACTIVATE TDS CONTEXT REQUEST", 2 ),
|
SNDCP_DEACTIVATE_TDS_CONTEXT_REQUEST( "SNDCP-DEACTIVATE TDS CONTEXT REQUEST", 2 ),
|
||||||
SN_ACTIVATE_TDS_CONTEXT_REJECT( "SN-ACTIVATE TDS CONTEXT REJECT", 3 ),
|
SNDCP_ACTIVATE_TDS_CONTEXT_REJECT( "SNDCP-ACTIVATE TDS CONTEXT REJECT", 3 ),
|
||||||
SN_RF_UNCONFIRMED_DATA( "SN-RF UNCONFIRMED DATA", 4 ),
|
SNDCP_RF_UNCONFIRMED_DATA( "SNDCP-RF UNCONFIRMED DATA", 4 ),
|
||||||
SN_RF_CONFIRMED_DATA( "SN-RF CONFIRMED DATA", 5 ),
|
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 */
|
/* Inbound */
|
||||||
SN_ACTIVATE_TDS_CONTEXT_REQUEST( "SN-ACTIVATE TDS CONTEXT REQUEST", 0 ),
|
SN_ACTIVATE_TDS_CONTEXT_REQUEST( "SN-ACTIVATE TDS CONTEXT REQUEST", 0 ),
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package module.decode.p25.reference;
|
|||||||
|
|
||||||
public enum ServiceAccessPoint
|
public enum ServiceAccessPoint
|
||||||
{
|
{
|
||||||
UNENCRYPTED_USER_DATA( "USER DATA", 0 ),
|
UNENCRYPTED_USER_DATA( "UNENCRYPTED USER DATA", 0 ),
|
||||||
ENCRYPTED_USER_DATA( "ENCRYPTED USER DATA", 1 ),
|
ENCRYPTED_USER_DATA( "ENCRYPTED USER DATA", 1 ),
|
||||||
CIRCUIT_DATA( "CIRCUIT DATA", 2 ),
|
CIRCUIT_DATA( "CIRCUIT DATA", 2 ),
|
||||||
CIRCUIT_DATA_CONTROL( "CIRCUIT DATA CONTROL", 3 ),
|
CIRCUIT_DATA_CONTROL( "CIRCUIT DATA CONTROL", 3 ),
|
||||||
|
|||||||
Reference in New Issue
Block a user