diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h
index 652aae9..66f7c27 100644
--- a/include/osmocom/gsm/gsm0808.h
+++ b/include/osmocom/gsm/gsm0808.h
@@ -50,7 +50,7 @@
 struct msgb *gsm0808_create_cipher(const struct gsm0808_encrypt_info *ei,
 				   const uint8_t *cipher_response_mode);
 struct msgb *gsm0808_create_cipher_complete(struct msgb *layer3, uint8_t alg_id);
-struct msgb *gsm0808_create_cipher_reject(uint8_t cause);
+struct msgb *gsm0808_create_cipher_reject(enum gsm0808_cause cause);
 struct msgb *gsm0808_create_classmark_request();
 struct msgb *gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len,
 					     const uint8_t *cm3, uint8_t cm3_len);
@@ -178,7 +178,8 @@
 
 const char *gsm0808_bssmap_name(uint8_t msg_type);
 const char *gsm0808_bssap_name(uint8_t msg_type);
-const char *gsm0808_cause_name(uint8_t cause);
+const char *gsm0808_cause_name(enum gsm0808_cause cause);
+const char *gsm0808_cause_class_name(enum gsm0808_cause_class class);
 
 extern const struct value_string gsm0808_lcls_config_names[];
 extern const struct value_string gsm0808_lcls_control_names[];
diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h
index f70dbdb..b56e263 100644
--- a/include/osmocom/gsm/gsm0808_utils.h
+++ b/include/osmocom/gsm/gsm0808_utils.h
@@ -107,7 +107,20 @@
 uint16_t gsm0808_sc_cfg_from_gsm48_mr_cfg(const struct gsm48_multi_rate_conf *cfg, bool fr);
 void gsm48_mr_cfg_from_gsm0808_sc_cfg(struct gsm48_multi_rate_conf *cfg, uint16_t s15_s0);
 
-/*! Return 3GPP TS 48.008 3.2.2.49 Current Channel Type 1 from enum gsm_chan_t. */
+/*! \returns 3GPP TS 08.08 §3.2.2.5 Class of a given Cause */
+static inline enum gsm0808_cause_class gsm0808_cause_class(enum gsm0808_cause cause)
+{
+	return (cause << 1) >> 4;
+}
+
+/*! \returns true if 3GPP TS 08.08 §3.2.2.5 Class has extended bit set */
+static inline bool gsm0808_cause_ext(enum gsm0808_cause cause)
+{
+	/* check that cause looks like 1XXX0000 where XXX represent class */
+	return (cause & 0x80) && !(cause & 0x0F);
+}
+
+/*! \returns 3GPP TS 48.008 3.2.2.49 Current Channel Type 1 from enum gsm_chan_t. */
 static inline uint8_t gsm0808_current_channel_type_1(enum gsm_chan_t type)
 {
 	switch (type) {
diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h
index 8431ace..2317e78 100644
--- a/include/osmocom/gsm/protocol/gsm_08_08.h
+++ b/include/osmocom/gsm/protocol/gsm_08_08.h
@@ -384,6 +384,18 @@
 	GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY				= 0x62,
 };
 
+/* 3GPP TS 08.08 §3.2.2.5 Cause Class */
+enum gsm0808_cause_class {
+	GSM0808_CAUSE_CLASS_NORM0		= 0,
+	GSM0808_CAUSE_CLASS_NORM1		= 1,
+	GSM0808_CAUSE_CLASS_RES_UNAVAIL		= 2,
+	GSM0808_CAUSE_CLASS_SRV_OPT_NA		= 3,
+	GSM0808_CAUSE_CLASS_SRV_OPT_NIMPL	= 4,
+	GSM0808_CAUSE_CLASS_INVAL		= 5,
+	GSM0808_CAUSE_CLASS_PERR		= 6,
+	GSM0808_CAUSE_CLASS_INTW		= 7,
+};
+
 /* GSM 08.08 3.2.2.11 Channel Type */
 enum gsm0808_chan_indicator {
 	GSM0808_CHAN_SPEECH = 1,
