4G/LTE - FGI

 

 

 

FGI (Feature Group Indicators)

 

FeatureGroupIndicator is a special IE (Information Element) within UE Capability Information message. Other parts of UE Capability Information mostly carries about the pure physical layer capability (e.g, UE-Category, Supported Bands, Carrier Aggregation combination etc), but FeatureGroupIndicator mostly carries the infromation about Radio protocol aspects.

This information would be used by eNB or MME before they setup any procedure for a specific UE (It will of no point of directing UE to do something that is not supported). Also this information can be a very important troubleshooting tools for test engineers. If some UE fails in some protocol testing (like Handover, a specific type of measurement etc), it would be a good practice to check this information from UE and see if the feature to be tested is supported by the DUT.

Five questions follow. Two are about the fields themselves: which ones carry the indicators, and how a hex value becomes thirty-two answers. Three are about the capture further down. It reports the settings of one UE, and two of its blocks repeat values printed above them. Every zero in it has more than one possible cause.

Which fields carry the indicators ?

One name covers three separate bit strings, and most readers expect a single one at first. Each string is 32 bits wide, each arrived in a different release, and each has its own table in 36.331.

The meaning of each bit field in FGI is defined as follows in 3GPP specification :

  • featureGroupIndicators : 36.331-Annex B Table B.1-1: Definitions of feature group indicators
  • featureGroupIndRel9Add : 36.331-Annex B Table B.1-1a: Definitions of feature group indicators
  • featureGroupIndRel10 : 36.331-Annex C Table C.1-1: Definitions of feature group indicators

The three strings do not share a numbering. 36.331 fixes each origin in a sentence of its own. Indexing in Table B.1-1a starts at 33, and indexing in Table C.1-1 starts at 101.

Nothing sits between them. Indices 65 to 100 have no definition in any release, so a jump from 64 to 101 is normal in a decode and not a decoder fault.

Field

Indices

Defined in

Carried in

featureGroupIndicators

1 to 32

Table B.1-1

UE-EUTRA-Capability

featureGroupIndRel9Add-r9

33 to 64

Table B.1-1a

UE-EUTRA-Capability-v9a0-IEs

featureGroupIndRel10-r10

101 to 132

Table C.1-1

UE-EUTRA-Capability-v1020-IEs

 

The last column is where a decode finds them. Each field sits in a different extension of the capability message, and the three productions below hold them.

Following is based on 36.331 v19.3.0 (Release 19)

UE-EUTRA-Capability ::=			SEQUENCE {
	accessStratumRelease			AccessStratumRelease,
	ue-Category						INTEGER (1..5),
	pdcp-Parameters					PDCP-Parameters,
	phyLayerParameters				PhyLayerParameters,
	rf-Parameters					RF-Parameters,
	measParameters					MeasParameters,
	featureGroupIndicators			BIT STRING (SIZE (32))					OPTIONAL,
	interRAT-Parameters				SEQUENCE {
		utraFDD							IRAT-ParametersUTRA-FDD				OPTIONAL,
		utraTDD128						IRAT-ParametersUTRA-TDD128			OPTIONAL,
		utraTDD384						IRAT-ParametersUTRA-TDD384			OPTIONAL,
		utraTDD768						IRAT-ParametersUTRA-TDD768			OPTIONAL,
		geran							IRAT-ParametersGERAN				OPTIONAL,
		cdma2000-HRPD					IRAT-ParametersCDMA2000-HRPD		OPTIONAL,
		cdma2000-1xRTT					IRAT-ParametersCDMA2000-1XRTT		OPTIONAL
	},
	nonCriticalExtension			UE-EUTRA-Capability-v920-IEs			OPTIONAL
}

UE-EUTRA-Capability-v9a0-IEs ::=	SEQUENCE {
	featureGroupIndRel9Add-r9			BIT STRING (SIZE (32))				OPTIONAL,
	fdd-Add-UE-EUTRA-Capabilities-r9	UE-EUTRA-CapabilityAddXDD-Mode-r9	OPTIONAL,
	tdd-Add-UE-EUTRA-Capabilities-r9	UE-EUTRA-CapabilityAddXDD-Mode-r9	OPTIONAL,
	nonCriticalExtension				UE-EUTRA-Capability-v9c0-IEs		OPTIONAL
}

UE-EUTRA-Capability-v1020-IEs ::=	SEQUENCE {
	ue-Category-v1020					INTEGER (6..8)							OPTIONAL,
	phyLayerParameters-v1020			PhyLayerParameters-v1020				OPTIONAL,
	rf-Parameters-v1020					RF-Parameters-v1020						OPTIONAL,
	measParameters-v1020				MeasParameters-v1020					OPTIONAL,
	featureGroupIndRel10-r10			BIT STRING (SIZE (32))					OPTIONAL,
	interRAT-ParametersCDMA2000-v1020	IRAT-ParametersCDMA2000-1XRTT-v1020		OPTIONAL,
	ue-BasedNetwPerfMeasParameters-r10	UE-BasedNetwPerfMeasParameters-r10		OPTIONAL,
	interRAT-ParametersUTRA-TDD-v1020	IRAT-ParametersUTRA-TDD-v1020			OPTIONAL,
	nonCriticalExtension				UE-EUTRA-Capability-v1060-IEs			OPTIONAL
}

Two things are worth noticing in that listing. All three fields are a BIT STRING of exactly 32 bits, and all three are marked OPTIONAL. Only the first sits in the base message, and the other two arrive in later extensions of it.

  • Three strings, not one : featureGroupIndicators, featureGroupIndRel9Add and featureGroupIndRel10 are separate fields with separate tables.
  • The numbering restarts at each string : 1, 33 and 101 are the three origins, and each is the leftmost bit of its own field.
  • Indices 65 to 100 do not exist : no release defines them, so the gap in a decode is expected.
  • Each field is optional : a UE may leave any of the three out, and an absent field does not mean a string of zeros.

How does the hex value map to the indicators ?

A decoder prints the field in two forms. It shows the hex value the UE sent, and then one line per bit. Figure 1 puts the two side by side for the value this page captured.

featureGroupIndicators : 7fcffeb2 Hex Bit Index 7 f c f f e b 2 0 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 0 11 0 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 0 24 1 25 0 26 1 27 1 28 0 29 0 30 1 31 0 32 index 1 is the leftmost bit index 32 is the rightmost 1, the UE has implemented and tested every feature in the group 0, at least one of them is missing

Figure 1. The value 7fcffeb2 from the capture below, expanded. Each hex digit covers four indicators, the leftmost bit is index 1, and 24 of the 32 bits are set.

  • The top row is the value as the decoder prints it. Each digit covers four indicators, so the first digit answers for indices 1 to 4 and the last for 29 to 32.
  • The middle row is the same value in binary. The reading order is the one the specification names: index 1 is the leftmost bit, and index 32 the rightmost.
  • The first digit is 7, which is 0111. Index 1 is therefore zero, and indices 2, 3 and 4 are one. That is what the capture reports for them.
  • A warm cell is a one. There are 24 of them, so this UE claims 24 of the 32 Release 8 and 9 feature groups.

The decoder writes the same thing a third way, and the dotted column below is easy to misread. A line such as .1.. .... is not a value. The dots mask every bit the line is not describing, and the single digit is the one the line reports.

  • The leftmost bit is index 1 : 36.331 states it for each of the three strings, and numbering from the right would invert the whole report.
  • One hex digit answers four indicators : eight digits cover 32 bits, which is why the field is always printed as eight characters.
  • A dotted line reports one bit : the dots hide the other 31, and the position of the digit is the index.
  • The hex and the expansion are the same statement : either can be read alone, and a disagreement between them is a decoder fault.

What do the captured settings show ?

Followings are some examples of FeatureGroupIndicator settings. Every LTE release (e.g, Rel 8, Rel 9, Rel 10 etc) has its own set of FGIs.  The meaning of each indicators are described in 36.331 Annex B and Annex C.

Decoded UE capability fields, capture. The values below are what one UE sent, not what the specification requires.

featureGroupIndicators: 7fcffeb2
    0... .... = Indicator 1: Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a;
                            Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Not supported
    .1.. .... = Indicator 2: Simultaneous CQI & ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH;
                            Resource alloc type 1 for PDSCH;
                             Periodic CQI/PMI/RI report on PUCCH: Mode 2-0 & 2-1 - Supported
    ..1. .... = Indicator 3: 5bit RLC UM SN; 7bit PDCP SN - Supported
    ...1 .... = Indicator 4: Short DRX cycle - Supported
    .... 1... = Indicator 5: Long DRX cycle; DRX command MAC control element - Supported
    .... .1.. = Indicator 6: Prioritised bit rate - Supported
    .... ..1. = Indicator 7: RLC UM - Supported
    .... ...1 = Indicator 8: EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Supported
    1... .... = Indicator 9: EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Supported
    .1.. .... = Indicator 10: EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order;
                              EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC
                              - Supported
    ..0. .... = Indicator 11: EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Not supported
    ...0 .... = Indicator 12: EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Not supported
    .... 1... = Indicator 13: Inter-frequency handover (within FDD or TDD) - Supported
    .... .1.. = Indicator 14: Measurement reporting event: Event A4 - Neighbour > threshold;
                              Measurement reporting event: Event A5 - Serving < threshold1
                                                                      & Neighbour > threshold2 - Supported
    .... ..1. = Indicator 15: Measurement reporting event: Event B1 - Neighbour > threshold - Supported
    .... ...1 = Indicator 16: non-ANR related periodical measurement reporting - Supported
    1... .... = Indicator 17: ANR related intra-frequency measurement reporting events - Supported
    .1.. .... = Indicator 18: ANR related inter-frequency measurement reporting events - Supported
    ..1. .... = Indicator 19: ANR related inter-RAT measurement reporting events - Supported
    ...1 .... = Indicator 20: SRB1 and SRB2 for DCCH + 8x AM DRB;
                              SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported)
                              - Supported
    .... 1... = Indicator 21: Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1;
                             Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Supported
    .... .1.. = Indicator 22: UTRAN measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode - Supported
    .... ..1. = Indicator 23: GERAN measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode - Supported
    .... ...0 = Indicator 24: 1xRTT measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode
                              - Not supported
    1... .... = Indicator 25: Inter-frequency measurements and reporting in E-UTRA connected mode - Supported
    .0.. .... = Indicator 26: HRPD measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode -
                              Not supported
    ..1. .... = Indicator 27: EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Supported
    ...1 .... = Indicator 28: TTI bundling - Supported
    .... 0... = Indicator 29: Semi-Persistent Scheduling - Not supported
    .... .0.. = Indicator 30: Handover between FDD and TDD - Not supported
    .... ..1. = Indicator 31: Mechanisms defined for cells broadcasting multi band information - Supported
    .... ...0 = Indicator 32: Undefined - Not supported


featureGroupIndicators-r9: 7fcffeb2
    0... .... = Indicator 1: Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a;
                            Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Not supported
    .1.. .... = Indicator 2: Simultaneous CQI & ACK/NACK on PUCCH (format 2a/2b);
                             Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH;
                             Periodic CQI/PMI/RI report on PUCCH: Mode 2-0 & 2-1 - Supported
    ..1. .... = Indicator 3: 5bit RLC UM SN; 7bit PDCP SN - Supported
    ...1 .... = Indicator 4: Short DRX cycle - Supported
    .... 1... = Indicator 5: Long DRX cycle; DRX command MAC control element - Supported
    .... .1.. = Indicator 6: Prioritised bit rate - Supported
    .... ..1. = Indicator 7: RLC UM - Supported
    .... ...1 = Indicator 8: EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Supported
    1... .... = Indicator 9: EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Supported
    .1.. .... = Indicator 10: EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order;
                              EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC
                              - Supported
    ..0. .... = Indicator 11: EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Not supported
    ...0 .... = Indicator 12: EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Not supported
    .... 1... = Indicator 13: Inter-frequency handover (within FDD or TDD) - Supported
    .... .1.. = Indicator 14: Measurement reporting event: Event A4 - Neighbour > threshold;
                              Measurement reporting event: Event A5 - Serving < threshold1
                                                           & Neighbour > threshold2 - Supported
    .... ..1. = Indicator 15: Measurement reporting event: Event B1 - Neighbour > threshold - Supported
    .... ...1 = Indicator 16: non-ANR related periodical measurement reporting - Supported
    1... .... = Indicator 17: ANR related intra-frequency measurement reporting events - Supported
    .1.. .... = Indicator 18: ANR related inter-frequency measurement reporting events - Supported
    ..1. .... = Indicator 19: ANR related inter-RAT measurement reporting events - Supported
    ...1 .... = Indicator 20: SRB1 and SRB2 for DCCH + 8x AM DRB;
                              SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported)
                              - Supported
    .... 1... = Indicator 21: Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1;
                             Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Supported
    .... .1.. = Indicator 22: UTRAN measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode - Supported
    .... ..1. = Indicator 23: GERAN measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode - Supported
    .... ...0 = Indicator 24: 1xRTT measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode
                              - Not supported
    1... .... = Indicator 25: Inter-frequency measurements and reporting in E-UTRA connected mode - Supported
    .0.. .... = Indicator 26: HRPD measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode
                              - Not supported
    ..1. .... = Indicator 27: EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Supported
    ...1 .... = Indicator 28: TTI bundling - Supported
    .... 0... = Indicator 29: Semi-Persistent Scheduling - Not supported
    .... .0.. = Indicator 30: Handover between FDD and TDD - Not supported
    .... ..1. = Indicator 31: Mechanisms defined for cells broadcasting multi band information - Supported
    .... ...0 = Indicator 32: Undefined - Not supported

featureGroupIndRel9Add-r9: c0000000
    1... .... = Indicator 33: Inter-RAT ANR features for UTRAN FDD - Supported
    .1.. .... = Indicator 34: Inter-RAT ANR features for GERAN - Supported
    ..0. .... = Indicator 35: Inter-RAT ANR features for 1xRTT - Not supported
    ...0 .... = Indicator 36: Inter-RAT ANR features for HRPD - Not supported
    .... 0... = Indicator 37: Inter-RAT ANR features for UTRAN TDD - Not supported
    .... .0.. = Indicator 38: EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Not supported
    .... ..0. = Indicator 39: UTRAN TDD measurements,
                              reporting and measurement reporting event B2 in E-UTRA connected mode
                              - Not supported
    .... ...0 = Indicator 40: EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Not supported
    0... .... = Indicator 41: Measurement reporting event:
                              Event B1 - Neighbour > threshold for UTRAN FDD - Not supported
    .0.. .... = Indicator 42: Undefined - Not supported
    ..0. .... = Indicator 43: Undefined - Not supported
    ...0 .... = Indicator 44: Undefined - Not supported
    .... 0... = Indicator 45: Undefined - Not supported
    .... .0.. = Indicator 46: Undefined - Not supported
    .... ..0. = Indicator 47: Undefined - Not supported
    .... ...0 = Indicator 48: Undefined - Not supported
    0... .... = Indicator 49: Undefined - Not supported
    .0.. .... = Indicator 50: Undefined - Not supported
    ..0. .... = Indicator 51: Undefined - Not supported
    ...0 .... = Indicator 52: Undefined - Not supported
    .... 0... = Indicator 53: Undefined - Not supported
    .... .0.. = Indicator 54: Undefined - Not supported
    .... ..0. = Indicator 55: Undefined - Not supported
    .... ...0 = Indicator 56: Undefined - Not supported
    0... .... = Indicator 57: Undefined - Not supported
    .0.. .... = Indicator 58: Undefined - Not supported
    ..0. .... = Indicator 59: Undefined - Not supported
    ...0 .... = Indicator 60: Undefined - Not supported
    .... 0... = Indicator 61: Undefined - Not supported
    .... .0.. = Indicator 62: Undefined - Not supported
    .... ..0. = Indicator 63: Undefined - Not supported
    .... ...0 = Indicator 64: Undefined - Not supported

featureGroupIndRel10-r10: 40240000
    0... .... = Indicator 101: DMRS with OCC (orthogonal cover code) and
                               SGH (sequence group hopping) disabling - Not supported
    .1.. .... = Indicator 102: Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Supported
    ..0. .... = Indicator 103: PDSCH TM9 when up to 4 CSI reference signal ports are configured - Not supported
    ...0 .... = Indicator 104: PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Not supported
    .... 0... = Indicator 105: PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9
                               and up to 4 CSI reference signal ports are configured - Not supported
    .... .0.. = Indicator 106: PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured
                               - Not supported
    .... ..0. = Indicator 107: PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9
                               and up to 4 CSI reference signal ports are configured - Not supported
    .... ...0 = Indicator 108: PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured
                               - Not supported
    0... .... = Indicator 109: PUCCH RM1-1 submode 1 - Not supported
    .0.. .... = Indicator 110: PUCCH RM1-1 submode 2 - Not supported
    ..1. .... = Indicator 111: Measurement reporting trigger Event A6 - Supported
    ...0 .... = Indicator 112: SCell addition within the Handover to EUTRA procedure - Not supported
    .... 0... = Indicator 113: Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Not supported
    .... .1.. = Indicator 114: Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Supported
    .... ..0. = Indicator 115: Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction
                               for the serving cell / neighbour cells - Not supported
    .... ...0 = Indicator 116: Relative transmit phase continuity for spatial multiplexing in UL - Not supported
    0... .... = Indicator 117: Undefined - Not supported
    .0.. .... = Indicator 118: Undefined - Not supported
    ..0. .... = Indicator 119: Undefined - Not supported
    ...0 .... = Indicator 120: Undefined - Not supported
    .... 0... = Indicator 121: Undefined - Not supported
    .... .0.. = Indicator 122: Undefined - Not supported
    .... ..0. = Indicator 123: Undefined - Not supported
    .... ...0 = Indicator 124: Undefined - Not supported
    0... .... = Indicator 125: Undefined - Not supported
    .0.. .... = Indicator 126: Undefined - Not supported
    ..0. .... = Indicator 127: Undefined - Not supported
    ...0 .... = Indicator 128: Undefined - Not supported
    .... 0... = Indicator 129: Undefined - Not supported
    .... .0.. = Indicator 130: Undefined - Not supported
    .... ..0. = Indicator 131: Undefined - Not supported
    .... ...0 = Indicator 132: Undefined - Not supported



featureGroupIndRel10-v1060: 40240000
    0... .... = Indicator 101: DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling
                               - Not supported
    .1.. .... = Indicator 102: Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Supported
    ..0. .... = Indicator 103: PDSCH TM9 when up to 4 CSI reference signal ports are configured - Not supported
    ...0 .... = Indicator 104: PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Not supported
    .... 0... = Indicator 105: PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and
                               up to 4 CSI reference signal ports are configured - Not supported
    .... .0.. = Indicator 106: PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured
                               - Not supported
    .... ..0. = Indicator 107: PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and
                               up to 4 CSI reference signal ports are configured - Not supported
    .... ...0 = Indicator 108: PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured -
                               Not supported
    0... .... = Indicator 109: PUCCH RM1-1 submode 1 - Not supported
    .0.. .... = Indicator 110: PUCCH RM1-1 submode 2 - Not supported
    ..1. .... = Indicator 111: Measurement reporting trigger Event A6 - Supported
    ...0 .... = Indicator 112: SCell addition within the Handover to EUTRA procedure - Not supported
    .... 0... = Indicator 113: Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Not supported
    .... .1.. = Indicator 114: Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Supported
    .... ..0. = Indicator 115: Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction
                               for the serving cell / neighbour cells - Not supported
    .... ...0 = Indicator 116: Relative transmit phase continuity for spatial multiplexing in UL - Not supported
    0... .... = Indicator 117: Undefined - Not supported
    .0.. .... = Indicator 118: Undefined - Not supported
    ..0. .... = Indicator 119: Undefined - Not supported
    ...0 .... = Indicator 120: Undefined - Not supported
    .... 0... = Indicator 121: Undefined - Not supported
    .... .0.. = Indicator 122: Undefined - Not supported
    .... ..0. = Indicator 123: Undefined - Not supported
    .... ...0 = Indicator 124: Undefined - Not supported
    0... .... = Indicator 125: Undefined - Not supported
    .0.. .... = Indicator 126: Undefined - Not supported
    ..0. .... = Indicator 127: Undefined - Not supported
    ...0 .... = Indicator 128: Undefined - Not supported
    .... 0... = Indicator 129: Undefined - Not supported
    .... .0.. = Indicator 130: Undefined - Not supported
    .... ..0. = Indicator 131: Undefined - Not supported
    .... ...0 = Indicator 132: Undefined - Not supported

Five blocks appear, and they carry three distinct values. 7fcffeb2 is reported twice, 40240000 twice, and c0000000 once. The repetition is deliberate, and the next section explains it.

The capture is also internally consistent. Each block's bit column was reassembled into 32 bits and converted back to hex. All five reproduce the value printed beside their own field name, and every block carries all 32 indicators.

Counting the ones shows how much this UE claims. The first string has 24 bits set, the second 2, and the third 3. The later strings are far emptier than the Release 8 one.

Several indicators depend on others, and the capture obeys those rules. Index 3 may be set only if index 7 is set, and both are one here. Index 114 may be set only if index 22 is set, and again both are one.

One indicator reports something no field name mentions. 36.331 allows index 111 to be set only by a UE that supports carrier aggregation. This UE sets it, so the dump claims carrier aggregation without naming it.

  • Three values, five blocks : 7fcffeb2 and 40240000 each appear twice, which is a duplex mode report rather than a repeat.
  • The expansion matches the hex in every block : each bit column was reassembled and converted back, and all five agree.
  • This UE claims 24, 2 and 3 groups : the Release 9 and Release 10 strings are far emptier than the Release 8 one.
  • Dependent indicators are consistent : index 3 is set and so is index 7, and index 114 is set and so is index 22.
  • Index 111 implies carrier aggregation : 36.331 permits that bit only for a UE that supports it.

Why do the same indicators appear twice ?

The suffixes invite a wrong reading. The name featureGroupIndicators-r9 looks like a Release 9 replacement for featureGroupIndicators, and featureGroupIndRel10-v1060 looks like a later edition of featureGroupIndRel10-r10. Neither guess is right.

Both names belong to a structure rather than to a release, and the tile below shows it. The field featureGroupIndicators-r9 sits in UE-EUTRA-CapabilityAddXDD-Mode-r9, and featureGroupIndRel10-v1060 sits in UE-EUTRA-CapabilityAddXDD-Mode-v1060.

Following is based on 36.331 v19.3.0 (Release 19)

UE-EUTRA-CapabilityAddXDD-Mode-r9 ::=	SEQUENCE {
	phyLayerParameters-r9					PhyLayerParameters						OPTIONAL,
	featureGroupIndicators-r9				BIT STRING (SIZE (32))					OPTIONAL,
	featureGroupIndRel9Add-r9				BIT STRING (SIZE (32))					OPTIONAL,
	interRAT-ParametersGERAN-r9				IRAT-ParametersGERAN					OPTIONAL,
	interRAT-ParametersUTRA-r9				IRAT-ParametersUTRA-v920				OPTIONAL,
	interRAT-ParametersCDMA2000-r9			IRAT-ParametersCDMA2000-1XRTT-v920		OPTIONAL,
	neighCellSI-AcquisitionParameters-r9	NeighCellSI-AcquisitionParameters-r9	OPTIONAL,
	...
}

UE-EUTRA-Capability-v1060-IEs ::=	SEQUENCE {
	fdd-Add-UE-EUTRA-Capabilities-v1060	UE-EUTRA-CapabilityAddXDD-Mode-v1060	OPTIONAL,
	tdd-Add-UE-EUTRA-Capabilities-v1060	UE-EUTRA-CapabilityAddXDD-Mode-v1060	OPTIONAL,
	rf-Parameters-v1060					RF-Parameters-v1060						OPTIONAL,
	nonCriticalExtension				UE-EUTRA-Capability-v1090-IEs			OPTIONAL
}

UE-EUTRA-CapabilityAddXDD-Mode-v1060 ::=	SEQUENCE {
	phyLayerParameters-v1060				PhyLayerParameters-v1020				OPTIONAL,
	featureGroupIndRel10-v1060				BIT STRING (SIZE (32))					OPTIONAL,
	interRAT-ParametersCDMA2000-v1060		IRAT-ParametersCDMA2000-1XRTT-v1020		OPTIONAL,
	interRAT-ParametersUTRA-TDD-v1060		IRAT-ParametersUTRA-TDD-v1020			OPTIONAL,
	...,
	[[	otdoa-PositioningCapabilities-r10	OTDOA-PositioningCapabilities-r10		OPTIONAL
	]]
}

Those two structures are reached through fdd-Add-UE-EUTRA-Capabilities and tdd-Add-UE-EUTRA-Capabilities. A UE may support both duplex modes. It then uses these structures to report what one mode can do and the other cannot.

36.331 sets out the rule in clause 5.6.3.3. Such a UE sets every ordinary field to the functionality both modes support. That value is the common value. The duplex specific structure is then included only if some bit differs from it.

Inside that structure the specification is strict. Some bits may differ between the modes, and the rest may not. Those others simply repeat the common value. Where a bit may differ, it must indicate at least as much functionality as the common value does. A duplex mode copy can therefore add capability, and it can never remove any.

That freedom is not open ended. Annex E names the indicators it covers. Twenty six come from the Release 8 and 9 tables, 17 of them below index 33, and 13 come from the Release 10 table. Every other bit carries the common value in both modes.

That settles the capture. Both duplex mode copies hold exactly the value reported above them. This UE therefore has no indicator that differs between FDD and TDD.

  • The suffix names a structure, not a release : featureGroupIndicators-r9 sits in UE-EUTRA-CapabilityAddXDD-Mode-r9.
  • The unsuffixed value is what both modes support : 36.331 calls it the common value.
  • A duplex mode copy may only add : a bit allowed to differ must indicate at least as much functionality as the common value does.
  • Annex E fixes which bits may differ : 26 indicators from the Release 8 and 9 tables and 13 from the Release 10 table, and no others.
  • This UE reports no duplex difference : both copies repeat the common value, which is why the blocks look redundant.

What does a zero in the bit string mean ?

A zero looks like the simplest thing in the dump and carries the most ambiguity. Annex B.1 gives it three separate causes, and the capture cannot tell a reader which one applies.

The one is the simpler case. 36.331 requires a UE to set an indicator to one only if every function in that group has been implemented and tested. A group is claimed in full or not at all, so one missing function in a list of four takes the whole indicator to zero.

The zero then covers three cases at once. Some part of the group may be untested. The group may belong to a RAT this UE does not support. The index may have no definition at all. All three are written as the same bit.

Index 41 shows how much a note can change. The capture reports it as zero, and reports indices 15 and 22 as one. Table B.1-1a makes index 41 mandatory for FDD, unless the UE has set index 15 to one. This UE has, so the zero is permitted.

The absent field is the surprise. A UE of a future release may leave featureGroupIndicators or featureGroupIndRel9Add out. 36.331 then lets the network assume the UE has implemented and tested every feature that the table lists and the network deploys. Annex C.1 says the same for featureGroupIndRel10.

So absence and an all zero string mean opposite things. A string of zeros claims nothing, and a missing string claims everything.

  • A one means implemented and tested : 36.331 requires both, and the whole group, before the bit may be set.
  • A zero has three possible causes : an untested function, an unsupported RAT, or an index with no definition.
  • Notes can excuse a zero : index 41 need not be set once index 15 is, which is what the capture reports.
  • An absent field claims everything : the network may assume full support, which is the opposite of an all zero string.
  • A group cannot be claimed in part : one missing function takes the indicator to zero and hides the rest of the group with it.

What has changed since this capture was taken ?

A dump records one exchange and is never corrected against a later specification. Reading it beside the current tables is still worth doing, because one of the lines no longer says what it said.

Every index in the capture was compared with 36.331 v19.3.0. Ninety six distinct indices appear. One of them has gained a definition since the decoder wrote this.

Index 42 is the one. The dump prints it as Undefined. Table B.1-1a now defines it as DCI format 3a with single bit power adjustments. A category M1 or M2 UE shall set the bit if it supports that group. A UE of any other category shall set it to zero.

The captured zero is therefore still correct, for a reason that did not exist when it was sent. Specification drift usually works that way, and it is why the dump is left alone.

Every other Undefined line still reads Undefined. In v19.3.0 that covers index 32, indices 43 to 64, and indices 117 to 132.

The numbering has also stopped. 36.331 v19.3.0 defines no featureGroupIndRel11 and no table beyond C.1-1. Index 132 remains the highest ever assigned. Several existing rows have instead gained conditions for category M1 and M2 UEs.

  • Only index 42 has changed meaning : the dump calls it Undefined and Table B.1-1a now defines it.
  • The captured value is still right : a UE outside categories M1 and M2 is required to set index 42 to zero.
  • Every other Undefined bit is still undefined : index 32, 43 to 64, and 117 to 132 in v19.3.0.
  • The list ends at 132 : no featureGroupIndRel11 exists, and later capability is signalled by named fields instead.
  • The capture is evidence and stays as it is : the values record what one UE sent, and correcting them would destroy that.

Reference

[1] 36.331 : 3GPP - E-UTRA; Radio Resource Control; Protocol specification, v19.3.0. The sources quoted above are Annex B.1 with Tables B.1-1 and B.1-1a, Annex C.1 with Table C.1-1, and Annex E with Tables E-1 and E-2. The capability transfer rule is in clause 5.6.3.3, and the ASN.1 in both tiles comes from clause 6.3.6.