2G/GSM |
||
RLC/MAC
In this page, I will show you various RLC block structure and examples of real data and decoded result. The best practice would be for you to decode the give HEX string yourself and compare it with the decoded result shown in this page.
RLC Block Structure - Downlink RLC data block
< 44.060 - Figure 10.2.1.1: Downlink RLC data block with MAC header >
< 44.060 - Table 10.4.7.1: Payload Type field >
< 44.060 - Table 10.4.5.1: Relative Reserved Block Period (RRBP) field (FANR not activated) >
< 44.060 - Table 10.4.4.1: Supplementary/Polling (S/P) bit - GPRS case and RLC/MAC control >
< 44.060 - 10.4.1 Uplink state flag (USF) field > The USF field is sent in all downlink RLC/MAC blocks and indicates the owner or use of the next uplink radio block on the same timeslot (see 3GPP TS 45.002). The USF field is three bits in length and eight different USF values can be assigned, except on PCCCH, where the value '111' (USF=FREE) indicates that the corresponding uplink radio block contains PRACH.
< 44.060 - Table 10.4.10a.1: Power Reduction (PR) field >
< 44.060 - 10.4.10 Temporary Flow Identity (TFI) field > In the header of an RLC/MAC block for data transfer, the TFI identifies the Temporary Block Flow (TBF) to which the RLC data block belongs. For the downlink and the uplink TFI the TFI field is 5 bits in length and are encoded as a binary number with range 0 to 31. If present, this field indicates the mobile station to which the control message is addressed; all other mobile stations shall analyse the distribution contents, depending on their protocol state
< 44.060 - Table 10.4.8.1: Final block indicator bit >
< 44.060 - 10.4.12 Block Sequence Number (BSN) field > The Block Sequence Number (BSN) field carries the sequence absolute Block Sequence Number (BSN') modulo Sequence Number Space (SNS)
< 44.060 - Table 10.4.13.1: M bit and E bit >
L3 -> LLC (LL_UNIDATA_REQ) : 08 12 00 10 21 36 36 33 35 36 32 38 37 33 36 36 33 35 36 32 38 80 28 10 36 32 37 3E 30 3B 00 00 36 37 31 36 32 37 3E 30
LLC -> R/M (GRR_DATA_REQ): 41 C0 01 08 12 00 10 21 36 36 33 35 36 32 38 37 33 36 36 33 35 36 32 38 80 28 10 36 32 37 3E 30 3B 00 00 36 37 31 36 32 37 3E 30 2C 18 61
RM -> PHY (PH_DATA_REQ - Seg 1) : 00 00 01 41 C0 01 08 12 00 10 21 36 36 33 35 36 32 38 37 33 36 36 33 35 36 32 38 80 28 10 36 32 37 3E 30 3B 00 00 36 00
RM -> PHY (PH_DATA_REQ - Seg 2) : 08 01 02 29 37 31 36 32 37 3E 30 2C 18 61 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 00
Now let's decode RLC/MAC block of Segmemnt 1.
PH_DATA_REQ - Seg 1 : 00 00 01 41 C0 01 08 12 00 10 21 36 36 33 35 36 32 38 37 33 36 36 33 35 36 32 38 80 28 10 36 32 37 3E 30 3B 00 00 36 00
DLT: 147, Payload: gsm_rlcmac_dl (Radio Link Control, Medium Access Control, 3GPP TS44.060) GPRS DL DATA (CS1) DL_Data_Mac_Header 00.. .... = Payload Type (DL): RLC/MAC block contains an RLC data block (0) ..00 .... = RRBP: Reserved Block: (N+13) mod 2715648 (0) .... 0... = S/P: RRBP field is not valid .... .000 = USF: 0 00.. .... = PR: 0 dB (included) to 3 dB (excluded) less than BCCH level - P0 (0) ..00 000. = DL TFI: 0 .... ...0 = FBI: Current Block is not last RLC data block in TBF 0000 000. = BSN: 0 .... ...1 = Extension: No extension octet follows data segment: LI not present: The Upper Layer PDU in the current RLC data block either fills the current RLC data block precisely or continues in the following in-sequence RLC data block Data (37 bytes)
0000 41 c0 01 08 12 00 10 21 36 36 33 35 36 32 38 37 A......!66356287 0010 33 36 36 33 35 36 32 38 80 28 10 36 32 37 3e 30 36635628.(.627>0 0020 3b 00 00 36 00 ;..6. Data: 41c001081200102136363335363238373336363335363238... [Length: 37]
Now let's decode RLC/MAC block of Segmemnt 2.
PH_DATA_REQ - Seg 2 : 08 01 02 29 37 31 36 32 37 3E 30 2C 18 61 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 00
DLT: 147, Payload: gsm_rlcmac_dl (Radio Link Control, Medium Access Control, 3GPP TS44.060) GPRS DL DATA (CS1) DL_Data_Mac_Header 00.. .... = Payload Type (DL): RLC/MAC block contains an RLC data block (0) ..00 .... = RRBP: Reserved Block: (N+13) mod 2715648 (0) .... 1... = S/P: RRBP field is valid .... .000 = USF: 0 00.. .... = PR: 0 dB (included) to 3 dB (excluded) less than BCCH level - P0 (0) ..00 000. = DL TFI: 0 .... ...1 = FBI: Current Block is last RLC data block in TBF 0000 001. = BSN: 1 .... ...0 = Extension: Extension octet follows immediately 0010 10.. = Length Indicator: 10 .... ..01 = ME: no more LLC segments in this RLC block after the current segment, no more extension octets (1) .... ...1 = Extension: No extension octet follows data segment: LI[0]=10 indicates: (Last segment of) LLC frame (10 octets) Data (10 bytes)
0000 37 31 36 32 37 3e 30 2c 18 61 71627>0,.a Data: 37313632373e302c1861 [Length: 10] Padding Octets Data (26 bytes)
0000 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ++++++++++++++++ 0010 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 +++++++++. Data: 2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b... [Length: 26]
RLC Block Structure - Uplink RLC data block
< 44.060 - Figure 10.2.2.1: Uplink RLC data block with MAC header >
< 44.060 - Table 10.4.7.1: Payload Type field > NOTE 1: The field mapping convention for GPRS (sub-clause 10.0b.3.1) applies. According to that, in particular regarding the TLLI field, the most significant byte of the TLLI value shall be mapped on octet M+1 and the least significant byte of the TLLI value shall be mapped on octet M+4 of the uplink RLC data block. NOTE 2: This octet is only included if the value of the first instance of the Length indicator in the RLC data block is 62.
< 44.060 - 10.4.6 Countdown Value (CV) field > The Countdown Value (CV) field is sent by the mobile station to allow the network to calculate the number of RLC data blocks remaining for the current uplink RLC entity. The CV field is 4 bits in length and is encoded as a binary number with range 0 to 15.
< 44.060 - Table 10.4.3.1: Stall indicator bit >
< 44.060 - Table 10.4.19.1: PFI Indicator (PI) bit >
< 44.060 - 10.4.10 Temporary Flow Identity (TFI) field > In the header of an RLC/MAC block for data transfer, the TFI identifies the Temporary Block Flow (TBF) to which the RLC data block belongs. For the downlink and the uplink TFI the TFI field is 5 bits in length and are encoded as a binary number with range 0 to 31. If present, this field indicates the mobile station to which the control message is addressed; all other mobile stations shall analyse the distribution contents, depending on their protocol state
< 44.060 - Table 10.4.9.1: TLLI Indicator (TI) bit>
< 44.060 - 10.4.20 Packet Flow Identifier (PFI) field > The PFI field contains a PFI value encoded as the contents of the PFI information element as defined in 3GPP TS 44.018. The use of PFI is not supported in EC-EGPRS operation.
RLC Block Structure - Uplink RLC/MAC control block
< 44.060 - Figure 10.3.2.1: Uplink RLC/MAC control block together with its MAC header >
< 44.060 - 10.4.17 Control message contents field > The Control message contents field shall contain exactly one segment from one RLC/MAC control message field (i.e. RLC/MAC control block).
Example 01 > U_PACCH (GRR_CONTROL_IND)
GRR_CONTROL_IND : 40 07 00 00 02 03 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B
DLT: 147, Payload: gsm_rlcmac_ul (Radio Link Control, Medium Access Control, 3GPP TS44.060) GSM RLC/MAC: PACKET_CONTROL_ACKNOWLEDGEMENT (1) (Uplink) 01.. .... = Payload Type (UL): RLC/MAC block contains an RLC/MAC control block that does not include the optional octets of the RLC/MAC control header (1) ..00 000. = spare: 0 .... ...0 = R: MS sent channel request message once 0000 01.. = MESSAGE_TYPE (UL): PACKET_CONTROL_ACKNOWLEDGEMENT (1) .... ..11 0000 0000 0000 0000 0000 0010 0000 00.. = TLLI: 3221225600 .... ..11 = CTRL_ACK: 3 0... .... Exist_AdditionsR5 Padding Bits .010 1011 0010 1011 0010 1011 0010 1011 Padding 0010 1011 0010 1011 0010 1011 0010 1011 Padding 0010 1011 0010 1011 0010 1011 0010 1011 Padding 0010 1011 0010 1011 0010 1011 0010 1011 Padding 0010 1011 Padding
Example 02 > U_PACCH (GRR_CONTROL_IND)
GRR_CONTROL_IND : 40 07 00 00 02 03 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B 2B
DLT: 147, Payload: gsm_rlcmac_ul (Radio Link Control, Medium Access Control, 3GPP TS44.060) GSM RLC/MAC: PACKET_DOWNLINK_ACK_NACK (2) (Uplink) 01.. .... = Payload Type (UL): RLC/MAC block contains an RLC/MAC control block that does not include the optional octets of the RLC/MAC control header (1) ..00 000. = spare: 0 .... ...0 = R: MS sent channel request message once 0000 10.. = MESSAGE_TYPE (UL): PACKET_DOWNLINK_ACK_NACK (2) .... ..00 000. .... = DL TFI: 0 Ack_Nack_Description ...0 .... = FINAL_ACK_INDICATION: False .... 0010 000. .... = STARTING_SEQUENCE_NUMBER: 16 ...0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 1111 1111 1111 111. .... RECEIVED_BLOCK_BITMAP ...1 .... Exist_Channel_Request_Description Channel_Request_Description .... 1001 = PEAK_THROUGHPUT_CLASS: 9 00.. .... = RADIO_PRIORITY: 0 ..0. .... = RLC_MODE: RLC acknowledged mode ...1 .... = LLC_PDU_TYPE: True .... 0000 0000 0101 0010 .... = RLC_OCTET_COUNT: 82 Channel_Quality_Report .... 1011 01.. .... = C_VALUE: 45 ..00 0... = RXQUAL: 0 .... .000 000. .... = SIGN_VAR: 0 ...0 .... Slot[0].Exist .... 0... Slot[1].Exist .... .0.. Slot[2].Exist .... ..0. Slot[3].Exist .... ...0 Slot[4].Exist 0... .... Slot[5].Exist .0.. .... Slot[6].Exist ..0. .... Slot[7].Exist ...0 .... Exist_AdditionsR99 Padding Bits .... 1011 0010 1011 0010 1011 0010 1011 Padding 0010 1011 0010 1011 Padding
Example 03 > U_PACCH (GRR_CONTROL_IND)
GRR_CONTROL_IND : 40 08 12 A0 00 00 00 00 03 FF FF EB 40 00 00 00 00 2B 2B 2B 2B 2B 2B
DLT: 147, Payload: gsm_rlcmac_ul (Radio Link Control, Medium Access Control, 3GPP TS44.060) GSM RLC/MAC: PACKET_DOWNLINK_ACK_NACK (2) (Uplink) 01.. .... = Payload Type (UL): RLC/MAC block contains an RLC/MAC control block that does not include the optional octets of the RLC/MAC control header (1) ..00 000. = spare: 0 .... ...0 = R: MS sent channel request message once 0000 10.. = MESSAGE_TYPE (UL): PACKET_DOWNLINK_ACK_NACK (2) .... ..00 000. .... = DL TFI: 0 Ack_Nack_Description ...1 .... = FINAL_ACK_INDICATION: True .... 0010 101. .... = STARTING_SEQUENCE_NUMBER: 21 ...0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1111 1111 1111 1111 111. .... RECEIVED_BLOCK_BITMAP ...0 .... Exist_Channel_Request_Description Channel_Quality_Report .... 1011 01.. .... = C_VALUE: 45 ..00 0... = RXQUAL: 0 .... .000 000. .... = SIGN_VAR: 0 ...0 .... Slot[0].Exist .... 0... Slot[1].Exist .... .0.. Slot[2].Exist .... ..0. Slot[3].Exist .... ...0 Slot[4].Exist 0... .... Slot[5].Exist .0.. .... Slot[6].Exist ..0. .... Slot[7].Exist ...0 .... Exist_AdditionsR99 Padding Bits .... 0000 0000 0000 0000 0000 0010 1011 Padding 0010 1011 0010 1011 0010 1011 0010 1011 Padding 0010 1011 Padding
3GPP Decoder Tip
|
||