mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-14 09:37:36 -05:00
P25 work in progress
This commit is contained in:
125
src/decode/p25/reference/DenyReason.java
Normal file
125
src/decode/p25/reference/DenyReason.java
Normal file
@@ -0,0 +1,125 @@
|
||||
package decode.p25.reference;
|
||||
|
||||
public enum DenyReason
|
||||
{
|
||||
RESERVED( 0x00 ),
|
||||
REQUESTING_UNIT_NOT_VALID( 0x10 ),
|
||||
REQUESTING_UNIT_NOT_AUTHORIZED_FOR_SERVICE( 0x11 ),
|
||||
TARGET_UNIT_NOT_VALID( 0x20 ),
|
||||
TARGET_UNIT_NOT_AUTHORIZED_FOR_SERVICE( 0x21 ),
|
||||
TARGET_UNIT_REFUSED_CALL( 0x2F ),
|
||||
TARGET_GROUP_NOT_VALID( 0x30 ),
|
||||
TARGET_GROUP_NOT_AUTHORIZED_FOR_SERVICE( 0x31 ),
|
||||
INVALID_DIALING( 0x40 ),
|
||||
TELEPHONE_NUMBER_NOT_AUTHORIZED( 0x41 ),
|
||||
PSTN_NOT_VALID( 0x42 ),
|
||||
CALL_TIMEOUT( 0x50 ),
|
||||
LANDLINE_TERMINATED_CALL( 0x51 ),
|
||||
SUBSCRIBER_UNIT_TERMINATED_CALL( 0x52 ),
|
||||
CALL_PREEMPTED( 0x5F ),
|
||||
SITE_ACCESS_DENIAL( 0x60 ),
|
||||
USER_OR_SYSTEM_DEFINED( 0x61 ),
|
||||
CALL_OPTIONS_NOT_VALID_FOR_SERVICE( 0xF0 ),
|
||||
PROTECTION_SERVICE_OPTION_NOT_VALID( 0xF1 ),
|
||||
DUPLEX_SERVICE_OPTION_NOT_VALID( 0xF2 ),
|
||||
CIRCUIT_OR_PACKET_MODE_OPTION_NOT_VALID( 0xF3 ),
|
||||
SYSTEM_DOES_NOT_SUPPORT_SERVICE( 0xFF ),
|
||||
UNKNOWN( -1 );
|
||||
|
||||
private int mCode;
|
||||
|
||||
private DenyReason( int code )
|
||||
{
|
||||
mCode = code;
|
||||
}
|
||||
|
||||
public static DenyReason fromCode( int code )
|
||||
{
|
||||
if( code == 0x10 )
|
||||
{
|
||||
return DenyReason.REQUESTING_UNIT_NOT_VALID;
|
||||
}
|
||||
else if( code == 0x11 )
|
||||
{
|
||||
return REQUESTING_UNIT_NOT_AUTHORIZED_FOR_SERVICE;
|
||||
}
|
||||
else if( code == 0x20 )
|
||||
{
|
||||
return DenyReason.TARGET_UNIT_NOT_VALID;
|
||||
}
|
||||
else if( code == 0x21 )
|
||||
{
|
||||
return TARGET_UNIT_NOT_AUTHORIZED_FOR_SERVICE;
|
||||
}
|
||||
else if( code == 0x2F )
|
||||
{
|
||||
return DenyReason.TARGET_UNIT_REFUSED_CALL;
|
||||
}
|
||||
else if( code == 0x30 )
|
||||
{
|
||||
return TARGET_GROUP_NOT_VALID;
|
||||
}
|
||||
else if( code == 0x31 )
|
||||
{
|
||||
return DenyReason.TARGET_GROUP_NOT_AUTHORIZED_FOR_SERVICE;
|
||||
}
|
||||
else if( code == 0x40 )
|
||||
{
|
||||
return DenyReason.INVALID_DIALING;
|
||||
}
|
||||
else if( code == 0x41 )
|
||||
{
|
||||
return DenyReason.TELEPHONE_NUMBER_NOT_AUTHORIZED;
|
||||
}
|
||||
else if( code == 0x42 )
|
||||
{
|
||||
return DenyReason.PSTN_NOT_VALID;
|
||||
}
|
||||
else if( code == 0x50 )
|
||||
{
|
||||
return CALL_TIMEOUT;
|
||||
}
|
||||
else if( code == 0x51 )
|
||||
{
|
||||
return LANDLINE_TERMINATED_CALL;
|
||||
}
|
||||
else if( code == 0x52 )
|
||||
{
|
||||
return SUBSCRIBER_UNIT_TERMINATED_CALL;
|
||||
}
|
||||
else if( code == 0x5F )
|
||||
{
|
||||
return DenyReason.CALL_PREEMPTED;
|
||||
}
|
||||
else if( code == 0x60 )
|
||||
{
|
||||
return SITE_ACCESS_DENIAL;
|
||||
}
|
||||
else if( code == 0xF0 )
|
||||
{
|
||||
return CALL_OPTIONS_NOT_VALID_FOR_SERVICE;
|
||||
}
|
||||
else if( code == 0xF1 )
|
||||
{
|
||||
return PROTECTION_SERVICE_OPTION_NOT_VALID;
|
||||
}
|
||||
else if( code == 0xF2 )
|
||||
{
|
||||
return DenyReason.DUPLEX_SERVICE_OPTION_NOT_VALID;
|
||||
}
|
||||
else if( code == 0xF3 )
|
||||
{
|
||||
return CIRCUIT_OR_PACKET_MODE_OPTION_NOT_VALID;
|
||||
}
|
||||
else if( code <= 0x5E )
|
||||
{
|
||||
return DenyReason.RESERVED;
|
||||
}
|
||||
else if( code >= 0x61 )
|
||||
{
|
||||
return DenyReason.USER_OR_SYSTEM_DEFINED;
|
||||
}
|
||||
|
||||
return UNKNOWN;
|
||||
}
|
||||
}
|
||||
@@ -63,7 +63,7 @@ public enum Opcode
|
||||
RFSS_STATUS_BROADCAST( "RFSS Status Broadcast", 58 ),
|
||||
NETWORK_STATUS_BROADCAST( "Network Status Broadcast", 59 ),
|
||||
ADJACENT_STATUS_BROADCAST( "Adjacent Status Broadcast", 60 ),
|
||||
IDENTIFIER_UPDATE_NON_VHF_UHF( "Identifier Update for non-VHF/UHF Bands", 61 ),
|
||||
IDENTIFIER_UPDATE( "Identifier Update", 61 ),
|
||||
PROTECTION_PARAMETER_BROADCAST( "Protection Parameter Broadcast", 62 ),
|
||||
PROTECTION_PARAMETER_UPDATE( "Protection Parameter Update", 63 ),
|
||||
UNKNOWN( "Unknown", -1 );
|
||||
|
||||
69
src/decode/p25/reference/QueuedResponseReason.java
Normal file
69
src/decode/p25/reference/QueuedResponseReason.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package decode.p25.reference;
|
||||
|
||||
public enum QueuedResponseReason
|
||||
{
|
||||
RESERVED( 0x00 ),
|
||||
REQUESTING_UNIT_BUSY_OTHER_SERVICE( 0x10 ),
|
||||
TARGET_UNIT_BUSY_OTHER_SERVICE( 0x20 ),
|
||||
TARGET_UNIT_QUEUED_THIS_CALL( 0x2F ),
|
||||
TARGET_GROUP_CURRENTLY_ACTIVE( 0x30 ),
|
||||
CHANNEL_RESOURCES_UNAVAILABLE( 0x40 ),
|
||||
TELEPHONE_RESOURCES_UNAVAILABLE( 0x41 ),
|
||||
DATA_RESOURCES_UNAVAILABLE( 0x42 ),
|
||||
SUPERSEDING_SERVICE_CURRENTLY_ACTIVE( 0x50 ),
|
||||
USER_OR_SYSTEM_DEFINED( 0x80 ),
|
||||
UNKNOWN( -1 );
|
||||
|
||||
private int mCode;
|
||||
|
||||
private QueuedResponseReason( int code )
|
||||
{
|
||||
mCode = code;
|
||||
}
|
||||
|
||||
public static QueuedResponseReason fromCode( int code )
|
||||
{
|
||||
if( code == 0x10 )
|
||||
{
|
||||
return QueuedResponseReason.REQUESTING_UNIT_BUSY_OTHER_SERVICE;
|
||||
}
|
||||
else if( code == 0x20 )
|
||||
{
|
||||
return QueuedResponseReason.TARGET_UNIT_BUSY_OTHER_SERVICE;
|
||||
}
|
||||
else if( code == 0x2F )
|
||||
{
|
||||
return QueuedResponseReason.TARGET_UNIT_QUEUED_THIS_CALL;
|
||||
}
|
||||
else if( code == 0x30 )
|
||||
{
|
||||
return QueuedResponseReason.TARGET_GROUP_CURRENTLY_ACTIVE;
|
||||
}
|
||||
else if( code == 0x40 )
|
||||
{
|
||||
return QueuedResponseReason.CHANNEL_RESOURCES_UNAVAILABLE;
|
||||
}
|
||||
else if( code == 0x41 )
|
||||
{
|
||||
return QueuedResponseReason.TELEPHONE_RESOURCES_UNAVAILABLE;
|
||||
}
|
||||
else if( code == 0x42 )
|
||||
{
|
||||
return QueuedResponseReason.DATA_RESOURCES_UNAVAILABLE;
|
||||
}
|
||||
else if( code == 0x50 )
|
||||
{
|
||||
return QueuedResponseReason.SUPERSEDING_SERVICE_CURRENTLY_ACTIVE;
|
||||
}
|
||||
else if( code <= 0x7F )
|
||||
{
|
||||
return QueuedResponseReason.RESERVED;
|
||||
}
|
||||
else if( code >= 0x80 )
|
||||
{
|
||||
return QueuedResponseReason.USER_OR_SYSTEM_DEFINED;
|
||||
}
|
||||
|
||||
return UNKNOWN;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user