Class SSCode

  • All Implemented Interfaces:
    DataObject, FastSerializable, Serializable

    public final class SSCode
    extends AbstractLazyEncodedNamedInteger<SSCode.EncodedValue>
    implements FastSerializable
    Class SSCode encapsulates a Supplementary Service Code. It represents the ASN.1 OCTET STRING type MAP-SS-Code.SS-Code.

    The API offered by this class is as if the type were specified in ASN.1 as follows.

     SSCode ::= SEQUENCE {
         encodedValue EncodedValue
     }

    EncodedValue is a NamedInteger. For each named value of the type, n, the API defines three Java static fields: a DataObject n, a NamedInteger EncodedValue.n, and an int EncodedValue._n.

    The encoding is based on the value definitions in ASN.1 module MAP-SS-Code in 3GPP TS 29.002 V10.0.0 (2010-09) pp405-407.

    See Also:
    Serialized Form
    • Field Detail

      • ALL_SS

        public static final SSCode ALL_SS
        all SS
      • ALL_LINE_IDENTIFICATION_SS

        public static final SSCode ALL_LINE_IDENTIFICATION_SS
        all line identification SS
      • CLIP

        public static final SSCode CLIP
        calling line identification presentation
      • CLIR

        public static final SSCode CLIR
        calling line identification restriction
      • COLP

        public static final SSCode COLP
        connected line identification presentation
      • COLR

        public static final SSCode COLR
        connected line identification restriction
      • MCI

        public static final SSCode MCI
        malicious call identification
      • ALL_NAME_IDENTIFICATION_SS

        public static final SSCode ALL_NAME_IDENTIFICATION_SS
        all name identification SS
      • CNAP

        public static final SSCode CNAP
        calling name presentation
      • ALL_FORWARDING_SS

        public static final SSCode ALL_FORWARDING_SS
        all forwarding SS
      • CFU

        public static final SSCode CFU
        call forwarding unconditional
      • ALL_COND_FORWARDING_SS

        public static final SSCode ALL_COND_FORWARDING_SS
        all conditional forwarding SS
      • CFB

        public static final SSCode CFB
        call forwarding on mobile subscriber busy
      • CFNRY

        public static final SSCode CFNRY
        call forwarding on no reply
      • CFNRC

        public static final SSCode CFNRC
        call forwarding on mobile subscriber not reachable
      • CD

        public static final SSCode CD
        call deflection
      • ALL_CALL_OFFERING_SS

        public static final SSCode ALL_CALL_OFFERING_SS
        all call offering SS includes also all forwarding SS
      • ECT

        public static final SSCode ECT
        explicit call transfer
      • MAH

        public static final SSCode MAH
        mobile access hunting
      • ALL_CALL_COMPLETION_SS

        public static final SSCode ALL_CALL_COMPLETION_SS
        all Call completion SS
      • CW

        public static final SSCode CW
        call waiting
      • HOLD

        public static final SSCode HOLD
        call hold
      • CCBS_A

        public static final SSCode CCBS_A
        completion of call to busy subscribers, originating side
      • CCBS_B

        public static final SSCode CCBS_B
        completion of call to busy subscribers, destination side
      • MC

        public static final SSCode MC
        multicall
      • ALL_MULTIPARTY_SS

        public static final SSCode ALL_MULTIPARTY_SS
        all multiparty SS
      • MULTIPTY

        public static final SSCode MULTIPTY
        multiparty
      • ALL_COMMUNITY_OF_INTEREST_SS

        public static final SSCode ALL_COMMUNITY_OF_INTEREST_SS
        all community of interest SS
      • CUG

        public static final SSCode CUG
        closed user group
      • ALL_CHARGING_SS

        public static final SSCode ALL_CHARGING_SS
        all charging SS
      • AOCI

        public static final SSCode AOCI
        advice of charge information
      • AOCC

        public static final SSCode AOCC
        advice of charge charging
      • ALL_ADDITIONAL_INFO_TRANSFER_SS

        public static final SSCode ALL_ADDITIONAL_INFO_TRANSFER_SS
        all additional information transfer SS
      • UUS1

        public static final SSCode UUS1
        UUS1 user-to-user signalling
      • UUS2

        public static final SSCode UUS2
        UUS2 user-to-user signalling
      • UUS3

        public static final SSCode UUS3
        UUS3 user-to-user signalling
      • ALL_BARRING_SS

        public static final SSCode ALL_BARRING_SS
        all barring SS
      • BARRING_OF_OUTGOING_CALLS

        public static final SSCode BARRING_OF_OUTGOING_CALLS
        barring of outgoing calls
      • BAOC

        public static final SSCode BAOC
        barring of all outgoing calls
      • BOIC

        public static final SSCode BOIC
        barring of outgoing international calls
      • BOIC_EX_HC

        public static final SSCode BOIC_EX_HC
        barring of outgoing international calls except those directed to the home PLMN
      • BARRING_OF_INCOMING_CALLS

        public static final SSCode BARRING_OF_INCOMING_CALLS
        barring of incoming calls
      • BAIC

        public static final SSCode BAIC
        barring of all incoming calls
      • BAC_ROAM

        public static final SSCode BAC_ROAM
        barring of incoming calls when roaming outside home PLMN Country
      • ALL_CALL_PRIORITY_SS

        public static final SSCode ALL_CALL_PRIORITY_SS
        all call priority SS
      • EMLPP

        public static final SSCode EMLPP
        enhanced Multilevel Precedence Pre-emption (EMLPP) service
      • ALL_LCS_PRIVACY_EXCEPTION

        public static final SSCode ALL_LCS_PRIVACY_EXCEPTION
        all LCS Privacy Exception Classes
      • UNIVERSAL

        public static final SSCode UNIVERSAL
        allow location by any LCS client
      • CALL_SESSION_RELATED

        public static final SSCode CALL_SESSION_RELATED
        allow location by any value added LCS client to which a call/session is established from the target MS
      • CALL_SESSION_UNRELATED

        public static final SSCode CALL_SESSION_UNRELATED
        allow location by designated external value added LCS clients
      • PLMN_OPERATOR

        public static final SSCode PLMN_OPERATOR
        allow location by designated PLMN operator LCS clients
      • ALL_MOLR_SS

        public static final SSCode ALL_MOLR_SS
        all Mobile Originating Location Request Classes
      • BASIC_SELF_LOCATION

        public static final SSCode BASIC_SELF_LOCATION
        allow an MS to request its own location
      • AUTONOMOUS_SELF_LOCATION

        public static final SSCode AUTONOMOUS_SELF_LOCATION
        allow an MS to perform self location without interaction with the PLMN for a predetermined period of time
      • TRANSFER_TOP_THIRD_PARTY

        public static final SSCode TRANSFER_TOP_THIRD_PARTY
        allow an MS to request transfer of its location to another LCS client
      • ALL_PLMN_SPECIFIC_SS

        public static final SSCode ALL_PLMN_SPECIFIC_SS
      • PLMN_SPECIFIC_SS_1

        public static final SSCode PLMN_SPECIFIC_SS_1
      • PLMN_SPECIFIC_SS_2

        public static final SSCode PLMN_SPECIFIC_SS_2
      • PLMN_SPECIFIC_SS_3

        public static final SSCode PLMN_SPECIFIC_SS_3
      • PLMN_SPECIFIC_SS_4

        public static final SSCode PLMN_SPECIFIC_SS_4
      • PLMN_SPECIFIC_SS_5

        public static final SSCode PLMN_SPECIFIC_SS_5
      • PLMN_SPECIFIC_SS_6

        public static final SSCode PLMN_SPECIFIC_SS_6
      • PLMN_SPECIFIC_SS_7

        public static final SSCode PLMN_SPECIFIC_SS_7
      • PLMN_SPECIFIC_SS_8

        public static final SSCode PLMN_SPECIFIC_SS_8
      • PLMN_SPECIFIC_SS_9

        public static final SSCode PLMN_SPECIFIC_SS_9
      • PLMN_SPECIFIC_SS_A

        public static final SSCode PLMN_SPECIFIC_SS_A
      • PLMN_SPECIFIC_SS_B

        public static final SSCode PLMN_SPECIFIC_SS_B
      • PLMN_SPECIFIC_SS_C

        public static final SSCode PLMN_SPECIFIC_SS_C
      • PLMN_SPECIFIC_SS_D

        public static final SSCode PLMN_SPECIFIC_SS_D
      • PLMN_SPECIFIC_SS_E

        public static final SSCode PLMN_SPECIFIC_SS_E
      • PLMN_SPECIFIC_SS_F

        public static final SSCode PLMN_SPECIFIC_SS_F
    • Constructor Detail

      • SSCode

        public SSCode()
        Constructs a new SSCode object with no fields set.
      • SSCode

        public SSCode​(byte[] data)
        Constructs a new SSCode object from network-encoded data. The data is not decoded and might not be decodable.
        Parameters:
        data - network-encoded data
        Throws:
        NullPointerException - if data is null
      • SSCode

        public SSCode​(byte[] data,
                      int start,
                      int len)
        Constructs a new SSCode object from part of network-encoded data. The part starts at index start and is len bytes long. The data is not decoded and might not be decodable.
        Parameters:
        data - network-encoded data
        start - starting offset of network-encoded data in byte array
        len - default length if not predictable
        Throws:
        NullPointerException - if data is null
        IllegalArgumentException - if len is negative
      • SSCode

        public SSCode​(SSCode.EncodedValue encodedValue)
        Constructs a new SSCode object from given values for all fields.
        Parameters:
        encodedValue - the SSCode value
      • SSCode

        public SSCode​(int arg)
        Constructs a new SSCode object from the given int, making it be read-only (immutable).
        Parameters:
        arg - int
      • SSCode

        public SSCode​(DataInput in)
               throws IOException
        Constructs a new SSCode object from data deserialized from a stream that was written by toStream(DataOutput).
        Parameters:
        in - the stream to read from
        Throws:
        EOFException - if reading is pre-empted by end-of-file
        IOException - if the data cannot be read
    • Method Detail

      • hasEncodedValue

        public boolean hasEncodedValue()
                                throws DecodeException
        Tests whether the field EncodedValue has a value.
        Returns:
        whether the field has a value
        Throws:
        DecodeException - if encoded state cannot be decoded
      • copyOf

        public static SSCode copyOf​(SSCode from)
        Creates a new object of this type, cloning the values of common fields from the given object of any subclass of the same base type.
        Parameters:
        from - the object from which to copy
        Returns:
        SSCode
      • getFieldAccessors

        public static FieldAccessor[] getFieldAccessors()
        Gets a new array of the accessors for fields of this type.
        Returns:
        FieldAccessor[]
      • getFieldsMap

        public Map<String,​Object> getFieldsMap​(boolean withAbsents)
        Gets a Map from field-name to field-value for the fields of a sequence. For a field of primitive type, the field-value is boxed. For an absent optional field, the field-value is AbstractFieldsObject.FIELD_ABSENT. For an uninitialised mandatory field, the field-value is AbstractFieldsObject.FIELD_UNINITIALISED. For a field of String type, the encoded form is used if the String cannot be decoded. For a type that represents an OCTET STRING that cannot be decoded, a map from "encodedValue" to the byte array value is returned.
        Specified by:
        getFieldsMap in class AbstractFieldsObject
        Parameters:
        withAbsents - whether to put absent optional fields into Map
        Returns:
        Map from field-name to field-value
      • encodedIsInvalid

        protected boolean encodedIsInvalid()
        Determines whether the encoded form is invalid.
        Returns:
        boolean
      • getByteArrayForm

        public byte[] getByteArrayForm()
                                throws EncodeException
        Gets the byte array encoded form. The size of the array is the least of 1, 2, 4, or 8 according to the type's bounds. The most significant byte of the numeric value is in the lowest indexed byte of the array.
        Returns:
        byte array form
        Throws:
        EncodeException - if encoding fails