P25 work in progress

This commit is contained in:
dennis.sheirer
2014-11-22 16:13:44 +00:00
parent 960de375bc
commit 1660f13633
44 changed files with 788 additions and 656 deletions

View File

@@ -54,7 +54,7 @@ public class P25Message extends Message
sb.append( "NAC:" );
sb.append( getNAC() );
sb.append( " " );
sb.append( getDUID().name() );
sb.append( getDUID().getLabel() );
return sb.toString();
}
@@ -74,7 +74,7 @@ public class P25Message extends Message
@Override
public String getEventType()
{
return mDUID.name();
return "P25 " + mDUID.name();
}
@Override

View File

@@ -117,7 +117,7 @@ public class PDUMessage extends P25Message
sb.append( "NAC:" );
sb.append( getNAC() );
sb.append( " " );
sb.append( getDUID().name() );
sb.append( getDUID().getLabel() );
sb.append( " " );
sb.append( getConfirmation() );
sb.append( " " );

View File

@@ -34,7 +34,7 @@ public abstract class GroupChannelGrant extends ChannelGrant
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
if( isEmergency() )
{

View File

@@ -26,7 +26,7 @@ public abstract class GroupChannelGrantExplicit extends ChannelGrant
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
if( isEmergency() )
{

View File

@@ -29,7 +29,7 @@ public abstract class GroupMultiChannelGrant extends ChannelGrant
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " CHAN1:" );
sb.append( getChannelID1() + "/" + getChannelNumber1() );

View File

@@ -60,25 +60,55 @@ public class TSBKMessage extends P25Message
{
StringBuilder sb = new StringBuilder();
Vendor vendor = getVendor();
sb.append( getMessageStub() );
sb.append( " SYSTEM:" );
sb.append( getNAC() ); /* NAC is the system id for TSBK messages */
sb.append( " " );
sb.append( getDUID().name() );
sb.append( " VEND:" );
sb.append( vendor.getLabel() );
if( isEncrypted() )
{
sb.append( " ENCRYPTED" );
}
sb.append( " " + getMessageHex() );
sb.append( " - " + getMessageHex() );
return sb.toString();
}
protected String getMessageStub()
{
StringBuilder sb = new StringBuilder();
Vendor vendor = getVendor();
sb.append( "SYS:" );
sb.append( getNAC() ); /* NAC is the system id for TSBK messages */
sb.append( " " );
sb.append( getDUID().getLabel() );
if( vendor == Vendor.STANDARD )
{
if( isEncrypted() )
{
sb.append( " ENCRYPTED" );
}
else
{
sb.append( " " );
sb.append( getOpcode().getLabel() );
}
}
else
{
sb.append( " " );
sb.append( vendor.getLabel() );
if( isEncrypted() )
{
sb.append( " ENCRYPTED" );
}
else
{
sb.append( " OPCD:" );
sb.append( mMessage.getHex( OPCODE, 2 ) );
}
}
return sb.toString();
}
public String getMessageHex()
{
StringBuilder sb = new StringBuilder();

View File

@@ -47,7 +47,7 @@ public class TSBKMessageFactory
DataUnitID duid,
AliasList aliasList )
{
int opcode = message.getInt( TSBKMessage.OPCODE );
Opcode opcode = Opcode.fromValue( message.getInt( TSBKMessage.OPCODE ) );
Vendor vendor = Vendor.fromValue(
message.getInt( TSBKMessage.VENDOR_ID ) );
@@ -55,7 +55,7 @@ public class TSBKMessageFactory
switch( vendor )
{
case STANDARD:
switch( Opcode.fromValue( opcode ) )
switch( opcode )
{
case ACKNOWLEDGE_RESPONSE_FNE:
return new AcknowledgeResponse( message, duid,
@@ -98,6 +98,7 @@ public class TSBKMessageFactory
return new GroupVoiceChannelGrantUpdateExplicit( message,
duid, aliasList );
case IDENTIFIER_UPDATE:
case IDENTIFIER_UPDATE_VHF_UHF_BANDS:
return new IdentifierUpdate( message, duid, aliasList );
case INDIVIDUAL_DATA_CHANNEL_GRANT:
return new IndividualDataChannelGrant( message, duid,

View File

@@ -24,7 +24,7 @@ public abstract class UnitChannelGrant extends ChannelGrant
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
if( isEmergency() )
{

View File

@@ -37,7 +37,7 @@ public class AcknowledgeResponse extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " SVC TYPE: " + getServiceType() );

View File

@@ -40,7 +40,7 @@ public class AdjacentStatusBroadcast extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " LRA:" + getLocationRegistrationArea() );

View File

@@ -32,7 +32,7 @@ public class AuthenticationCommand extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " WACN: " + getWACN() );
sb.append( " SYS ID: " + getSystemID() );

View File

@@ -30,7 +30,7 @@ public class CallAlert extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " SRC ID: " + getSourceID() );
sb.append( " TGT ADDR: " + getTargetAddress() );

View File

@@ -35,7 +35,7 @@ public class DenyResponse extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " TGT ADDR: " + getTargetAddress() );

View File

@@ -31,7 +31,7 @@ public class ExtendedFunctionCommand extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " EXTENDED FUNCTION:" + getExtendedFunction() );

View File

@@ -30,7 +30,7 @@ public class GroupAffiliationQuery extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " SRC ADDR: " + getSourceAddress() );

View File

@@ -35,7 +35,7 @@ public class GroupAffiliationResponse extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " AFFILIATION:" + getResponse().name() );
sb.append( " ANNOUNCE GROUP:" + getAnnouncementGroupAddress() );

View File

@@ -26,8 +26,8 @@ public class IdentifierUpdate extends TSBKMessage
137,138,139,140,141,142,143 };
public IdentifierUpdate( BitSetBuffer message,
DataUnitID duid,
AliasList aliasList )
DataUnitID duid,
AliasList aliasList )
{
super( message, duid, aliasList );
}
@@ -35,14 +35,14 @@ public class IdentifierUpdate extends TSBKMessage
@Override
public String getEventType()
{
return Opcode.IDENTIFIER_UPDATE.getDescription();
return getOpcode().getDescription();
}
public String getMessage()
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " CHAN:" + getIdentifier() );

View File

@@ -34,7 +34,7 @@ public class LocationRegistrationResponse extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " REGISTRATION:" + getResponse().name() );
sb.append( " GROUP:" + getGroupAddress() );

View File

@@ -32,7 +32,7 @@ public class MessageUpdate extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " MSG:" + getShortDataMessage() );
sb.append( " SRC ADDR: " + getSourceAddress() );

View File

@@ -36,7 +36,7 @@ public class NetworkStatusBroadcast extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " LRA:" + getLocationRegistrationArea() );

View File

@@ -32,7 +32,7 @@ public class ProtectionParameterUpdate extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " TGT ADDR: " + getTargetAddress() );

View File

@@ -35,7 +35,7 @@ public class QueuedResponse extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " TGT ADDR: " + getTargetAddress() );

View File

@@ -37,7 +37,7 @@ public class RFSSStatusBroadcast extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " LRA:" + getLocationRegistrationArea() );

View File

@@ -31,7 +31,7 @@ public class RadioUnitMonitorCommand extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " MULT:" + getTransmitMultiplier() );
sb.append( " SRC ADDR: " + getSourceAddress() );

View File

@@ -35,7 +35,7 @@ public class RoamingAddressCommand extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( getStackOperation().name() );
sb.append( " WACN:" + getWACN() );

View File

@@ -36,7 +36,7 @@ public class SecondaryControlChannelBroadcast extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " RFSS:" + getRFSS() );

View File

@@ -30,7 +30,7 @@ public class StatusQuery extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " SRC ADDR: " + getSourceAddress() );
sb.append( " TGT ADDR: " + getTargetAddress() );

View File

@@ -32,7 +32,7 @@ public class StatusUpdate extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " STATUS USER:" + getUserStatus() );
sb.append( " UNIT:" + getUnitStatus() );

View File

@@ -35,7 +35,7 @@ public class SystemServiceBroadcast extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " SERVICES AVAILABLE " );

View File

@@ -33,7 +33,7 @@ public class UnitDeregistrationAcknowledge extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " WACN:" + getWACN() );
sb.append( " SYSTEM:" + getSystemID() );

View File

@@ -30,7 +30,7 @@ public class UnitRegistrationCommand extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " SRC ADDR: " + getSourceAddress() );
sb.append( " TGT ADDR: " + getTargetAddress() );

View File

@@ -33,7 +33,7 @@ public class UnitRegistrationResponse extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " REGISTRATION:" + getResponse().name() );
sb.append( " SYSTEM:" + getSystemID() );

View File

@@ -38,7 +38,7 @@ public class TelephoneInterconnectAnswerRequest extends TSBKMessage
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
sb.append( " TO:" );
sb.append( getTargetAddress() );

View File

@@ -22,7 +22,7 @@ public class TelephoneInterconnectVoiceChannelGrant extends UnitChannelGrant
{
StringBuilder sb = new StringBuilder();
sb.append( super.getMessage() );
sb.append( getMessageStub() );
if( isEmergency() )
{