diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c
index 9b5ecfe..c4ac4b1 100644
--- a/src/gsm_rlcmac.c
+++ b/src/gsm_rlcmac.c
@@ -5249,6 +5249,59 @@
 CSN_DESCR_END    (SI6_RestOctet_t)
 #endif
 
+/* EGPRS Packet Channel Request (see 3GPP TS 44.060, table 11.2.5a.2) */
+static const
+CSN_DESCR_BEGIN(PacketChannelRequest_MC5P2RB3_t)
+  M_UINT       (PacketChannelRequest_MC5P2RB3_t,  MultislotClass,  5),
+  M_UINT       (PacketChannelRequest_MC5P2RB3_t,  Priority,  2),
+  M_UINT       (PacketChannelRequest_MC5P2RB3_t,  RandomBits,  3),
+CSN_DESCR_END  (PacketChannelRequest_MC5P2RB3_t)
+
+static const
+CSN_DESCR_BEGIN(PacketChannelRequest_MCG3P2RB3_t)
+  M_UINT       (PacketChannelRequest_MCG3P2RB3_t,  MultislotClassGroup,  3),
+  M_UINT       (PacketChannelRequest_MCG3P2RB3_t,  Priority,  2),
+  M_UINT       (PacketChannelRequest_MCG3P2RB3_t,  RandomBits,  3),
+CSN_DESCR_END  (PacketChannelRequest_MCG3P2RB3_t)
+
+static const
+CSN_DESCR_BEGIN(PacketChannelRequest_NOB3P2RB3_t)
+  M_UINT       (PacketChannelRequest_NOB3P2RB3_t,  NumberOfBlocks,  3),
+  M_UINT       (PacketChannelRequest_NOB3P2RB3_t,  Priority,  2),
+  M_UINT       (PacketChannelRequest_NOB3P2RB3_t,  RandomBits,  3),
+CSN_DESCR_END  (PacketChannelRequest_NOB3P2RB3_t)
+
+static const
+CSN_DESCR_BEGIN(PacketChannelRequest_P2RB3_t)
+  M_UINT       (PacketChannelRequest_P2RB3_t,  Priority,  2),
+  M_UINT       (PacketChannelRequest_P2RB3_t,  RandomBits,  3),
+CSN_DESCR_END  (PacketChannelRequest_P2RB3_t)
+
+static const
+CSN_DESCR_BEGIN(PacketChannelRequest_RB5_t)
+  M_UINT       (PacketChannelRequest_RB5_t,  RandomBits,  5),
+CSN_DESCR_END  (PacketChannelRequest_RB5_t)
+
+static const
+CSN_ChoiceElement_t EGPRS_PacketChannelRequest_Choice[] =
+{
+  {1, 0x00, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_MC5P2RB3_t)},
+  {3, 0x04, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_NOB3P2RB3_t)},
+  {3, 0x05, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_MCG3P2RB3_t)},
+  {6, 0x30, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_P2RB3_t)},
+  {6, 0x33, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)},
+  {6, 0x35, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)},
+  {6, 0x36, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)},
+  {6, 0x37, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)},
+  {6, 0x38, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_P2RB3_t)},
+  {6, 0x39, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)},
+};
+
+CSN_DESCR_BEGIN  (EGPRS_PacketChannelRequest_t)
+  M_CHOICE       (EGPRS_PacketChannelRequest_t, Type,
+                  EGPRS_PacketChannelRequest_Choice, ElementsOf(EGPRS_PacketChannelRequest_Choice)),
+CSN_DESCR_END    (EGPRS_PacketChannelRequest_t)
+
 // ----------------------------------------------------------------------------
 // osmo-pcu RLCMAC APIs
 // ----------------------------------------------------------------------------
@@ -6153,3 +6206,46 @@
 
   return ret;
 }
+
+struct value_string egprs_pkt_ch_req_type_names[] = {
+  { EGPRS_PKT_CHAN_REQ_ONE_PHASE,               "One Phase Access" },
+  { EGPRS_PKT_CHAN_REQ_SHORT,                   "Short Access" },
+  { EGPRS_PKT_CHAN_REQ_ONE_PHASE_RED_LATENCY,   "One Phase Access (Reduced Latency MS)" },
+  { EGPRS_PKT_CHAN_REQ_TWO_PHASE,               "Two Phase Access" },
+  { EGPRS_PKT_CHAN_REQ_SIGNALLING,              "Signalling" },
+  { EGPRS_PKT_CHAN_REQ_ONE_PHASE_UNACK,         "One Phase Access (RLC unack mode)" },
+  { EGPRS_PKT_CHAN_REQ_DEDICATED_CHANNEL,       "Dedicated Channel Request" },
+  { EGPRS_PKT_CHAN_REQ_EMERGENCY_CALL,          "Emergency call" },
+  { EGPRS_PKT_CHAN_REQ_TWO_PHASE_IPA,           "Two Phase Access (by IPA capable MS)" },
+  { EGPRS_PKT_CHAN_REQ_SIGNALLING_IPA,          "Signalling (by IPA capable MS)" },
+  { 0, NULL }
+};
+
+int decode_egprs_pkt_ch_req(guint16 ra, EGPRS_PacketChannelRequest_t *req)
+{
+  unsigned readIndex = 0;
+  guint8 bv_data[2];
+  csnStream_t ar;
+  int ret;
+
+  /* Allocate a bitvector on stack */
+  struct bitvec bv = {
+    .cur_bit = 0,
+    .data_len = 2,
+    .data = bv_data,
+  };
+
+  /* Unpack the bits: xxxxxxxx xxx..... */
+  bv_data[0] = (guint8) (ra >> 3);
+  bv_data[1] = (guint8) ((ra & 0x07) << 5);
+
+  csnStreamInit(&ar, 0, 11);
+
+  /* Recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */
+  LOGP(DCSN1, LOGL_DEBUG, "csnStreamDecoder (EGPRS Packet Channel Request): ");
+  ret = csnStreamDecoder(&ar, CSNDESCR(EGPRS_PacketChannelRequest_t),
+                         &bv, &readIndex, (void *) req);
+  LOGPC(DCSN1, LOGL_DEBUG, "\n");
+
+  return ret;
+}
diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h
index 9d859f3..642530f 100644
--- a/src/gsm_rlcmac.h
+++ b/src/gsm_rlcmac.h
@@ -5330,6 +5330,47 @@
 
 } EnhancedMeasurementReport_t;
 
+/* EGPRS Packet Channel Request (see 3GPP TS 44.060, table 11.2.5a.2) */
+typedef struct
+{
+  guint8 MultislotClassGroup;
+  guint8 MultislotClass;
+  guint8 NumberOfBlocks;
+  guint8 Priority;
+  guint8 RandomBits;
+} EGPRS_PacketChannelRequestContent_t;
+
+/* HACK: we don't really want separate structures for each sub-type, because
+ * they all have a similar set of fields, so here we basically create a few
+ * aliases to EGPRS_PacketChannelRequestContent_t. This makes the API simpler. */
+typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_MC5P2RB3_t;
+typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_MCG3P2RB3_t;
+typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_NOB3P2RB3_t;
+typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_P2RB3_t;
+typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_RB5_t;
+
+typedef struct
+{
+  /* NOTE: some fields may be uninitialized (always check Type) */
+  guint8                                Type;
+  EGPRS_PacketChannelRequestContent_t	  Content;
+} EGPRS_PacketChannelRequest_t;
+
+typedef enum {
+  EGPRS_PKT_CHAN_REQ_ONE_PHASE = 0,
+  EGPRS_PKT_CHAN_REQ_SHORT,
+  EGPRS_PKT_CHAN_REQ_ONE_PHASE_RED_LATENCY,
+  EGPRS_PKT_CHAN_REQ_TWO_PHASE,
+  EGPRS_PKT_CHAN_REQ_SIGNALLING,
+  EGPRS_PKT_CHAN_REQ_ONE_PHASE_UNACK,
+  EGPRS_PKT_CHAN_REQ_DEDICATED_CHANNEL,
+  EGPRS_PKT_CHAN_REQ_EMERGENCY_CALL,
+  EGPRS_PKT_CHAN_REQ_TWO_PHASE_IPA,
+  EGPRS_PKT_CHAN_REQ_SIGNALLING_IPA,
+} EGPRS_PacketChannelRequestType_t;
+
+extern struct value_string egprs_pkt_ch_req_type_names[];
+
  int decode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t *data);
  int decode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t *data);
  int encode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t *data);
@@ -5337,4 +5378,6 @@
  void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data);
  void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data);
  int decode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data);
+ int decode_egprs_pkt_ch_req(guint16 ra, EGPRS_PacketChannelRequest_t *data);
+
 #endif /* __PACKET_GSM_RLCMAC_H__ */
diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp
index 0215cc8..f1b6508 100644
--- a/tests/rlcmac/RLCMACTest.cpp
+++ b/tests/rlcmac/RLCMACTest.cpp
@@ -471,6 +471,59 @@
 	bitvec_free(bv_dec);
 }
 
+void testEGPRSPktChReq(void *test_ctx)
+{
+	EGPRS_PacketChannelRequest_t req;
+	int rc;
+
+	printf("*** %s ***\n", __func__);
+
+	static const uint16_t EGPRSPktChReqs[] = {
+		/* < One Phase Access Request : '0'B
+		     < MultislotClass : '10101'B >
+		     < Priority : '10'B >
+		     < RandomBits : '101'B > > */
+		0x2b5,
+		/* < One Phase Access Request : '0'B
+		     < MultislotClass : '01010'B >
+		     < Priority : '01'B >
+		     < RandomBits : '010'B > > */
+		0x14a,
+		/* < Short Access Request : '100'B
+		     < NumberOfBlocks : '001'B >
+		     < Priority : '01'B >
+		     < RandomBits : '000'B > > */
+		0x428,
+		/* < Two Phase Access Request : '110000'B
+		     < Priority : '00'B >
+		     < RandomBits : '000'B > > */
+		0x600,
+		/* < Two Phase Access Request : '110000'B
+		     < Priority : '11'B >
+		     < RandomBits : '111'B > > */
+		0x61f,
+		/* < Signalling : '110011'B
+		     < RandomBits : '10101'B > > */
+		0x675,
+		/* < Signalling : '110011'B
+		     < RandomBits : '10001'B > > */
+		0x671,
+		/* < Emergency call : '110111'B
+		     < RandomBits : '11001'B > > */
+		0x6f9,
+		/* < Unknown (test) : '111111'B
+		     < RandomBits : '01010'B > > */
+		0x7ea,
+	};
+
+	for (size_t i = 0; i < ARRAY_SIZE(EGPRSPktChReqs); i++) {
+		rc = decode_egprs_pkt_ch_req(EGPRSPktChReqs[i], &req);
+		printf("decode_egprs_pkt_ch_req(0x%03x) returns %d\n", EGPRSPktChReqs[i], rc);
+		if (rc == 0)
+			printf(" ==> %s\n", get_value_string(egprs_pkt_ch_req_type_names, req.Type));
+	}
+}
+
 int main(int argc, char *argv[])
 {
 	void *ctx = talloc_named_const(NULL, 1, "RLCMACTest");
@@ -490,5 +543,8 @@
 	testRAcap(ctx);
 	testMalformedRAcap(ctx);
 	testRAcap2(ctx);
+
+	testEGPRSPktChReq(ctx);
+
 	talloc_free(ctx);
 }
diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err
index 83d416c..3a2b370 100644
--- a/tests/rlcmac/RLCMACTest.err
+++ b/tests/rlcmac/RLCMACTest.err
@@ -37,3 +37,12 @@
 DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 |  : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | 
 DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 |  : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
 DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 |  : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 |  : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 0 |  : Content | MultislotClass = 21 | Priority = 2 | RandomBits = 5 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 0 |  : Content | MultislotClass = 10 | Priority = 1 | RandomBits = 2 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 4 |  : Content | NumberOfBlocks = 1 | Priority = 1 | RandomBits = 0 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 48 |  : Content | Priority = 0 | RandomBits = 0 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 48 |  : Content | Priority = 3 | RandomBits = 7 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 51 |  : Content | RandomBits = 21 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 51 |  : Content | RandomBits = 17 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 55 |  : Content | RandomBits = 25 | : End Content | 
+DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at EGPRS_PacketChannelRequest_Choice (idx 0)
diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok
index 4e4967b..861b1b9 100644
--- a/tests/rlcmac/RLCMACTest.ok
+++ b/tests/rlcmac/RLCMACTest.ok
@@ -149,3 +149,21 @@
 decode_gsm_ra_cap() returns 0
 GPRS multislot class = 12
 EGPRS multislot class = 12
+*** testEGPRSPktChReq ***
+decode_egprs_pkt_ch_req(0x2b5) returns 0
+ ==> One Phase Access
+decode_egprs_pkt_ch_req(0x14a) returns 0
+ ==> One Phase Access
+decode_egprs_pkt_ch_req(0x428) returns 0
+ ==> Short Access
+decode_egprs_pkt_ch_req(0x600) returns 0
+ ==> Two Phase Access
+decode_egprs_pkt_ch_req(0x61f) returns 0
+ ==> Two Phase Access
+decode_egprs_pkt_ch_req(0x675) returns 0
+ ==> Signalling
+decode_egprs_pkt_ch_req(0x671) returns 0
+ ==> Signalling
+decode_egprs_pkt_ch_req(0x6f9) returns 0
+ ==> Emergency call
+decode_egprs_pkt_ch_req(0x7ea) returns -8
