diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c
index 46f0b2f..b626f82 100644
--- a/src/gsm/gsm48.c
+++ b/src/gsm/gsm48.c
@@ -255,6 +255,114 @@
 	return get_value_string(cc_msg_names, msgtype);
 }
 
+
+static const struct value_string rr_msg_names[] = {
+	/* Channel establishment messages */
+	{ GSM48_MT_RR_INIT_REQ,		"RR INITIALISATION REQUEST" },
+	{ GSM48_MT_RR_ADD_ASS,		"ADDITIONAL ASSIGNMENT" },
+	{ GSM48_MT_RR_IMM_ASS,		"IMMEDIATE ASSIGNMENT" },
+	{ GSM48_MT_RR_IMM_ASS_EXT,	"MMEDIATE ASSIGNMENT EXTENDED" },
+	{ GSM48_MT_RR_IMM_ASS_REJ,	"IMMEDIATE ASSIGNMENT REJECT" },
+	{ GSM48_MT_RR_DTM_ASS_FAIL,	"DTM ASSIGNMENT FAILURE" },
+	{ GSM48_MT_RR_DTM_REJECT,	"DTM REJECT" },
+	{ GSM48_MT_RR_DTM_REQUEST,	"DTM REQUEST" },
+	{ GSM48_MT_RR_PACKET_ASS,	"PACKET ASSIGNMENT" },
+
+	/* Ciphering messages */
+	{ GSM48_MT_RR_CIPH_M_CMD,	"CIPHERING MODE COMMAND" },
+	{ GSM48_MT_RR_CIPH_M_COMPL,	"CIPHERING MODE COMPLETE" },
+
+	/* Configuration change messages */
+	{ GSM48_MT_RR_CFG_CHG_CMD,	"CONFIGURATION CHANGE COMMAND" },
+	{ GSM48_MT_RR_CFG_CHG_ACK,	"CONFIGURATION CHANGE ACK" },
+	{ GSM48_MT_RR_CFG_CHG_REJ,	"CONFIGURATION CHANGE REJECT" },
+
+	/* Handover messages */
+	{ GSM48_MT_RR_ASS_CMD,		"ASSIGNMENT COMMAND" },
+	{ GSM48_MT_RR_ASS_COMPL,	"ASSIGNMENT COMPLETE" },
+	{ GSM48_MT_RR_ASS_FAIL,		"ASSIGNMENT FAILURE" },
+	{ GSM48_MT_RR_HANDO_CMD,	"HANDOVER COMMAND" },
+	{ GSM48_MT_RR_HANDO_COMPL,	"HANDOVER COMPLETE" },
+	{ GSM48_MT_RR_HANDO_FAIL,	"HANDOVER FAILURE" },
+	{ GSM48_MT_RR_HANDO_INFO,	"PHYSICAL INFORMATION" },
+	{ GSM48_MT_RR_DTM_ASS_CMD,	"DTM ASSIGNMENT COMMAND" },
+
+	{ GSM48_MT_RR_CELL_CHG_ORDER,	"RR-CELL CHANGE ORDER" },
+	{ GSM48_MT_RR_PDCH_ASS_CMD,	"PDCH ASSIGNMENT COMMAND" },
+
+	/* Channel release messages */
+	{ GSM48_MT_RR_CHAN_REL,		"CHANNEL RELEASE" },
+	{ GSM48_MT_RR_PART_REL,		"PARTIAL RELEASE" },
+	{ GSM48_MT_RR_PART_REL_COMP,	"PARTIAL RELEASE COMPLETE" },
+
+	/* Paging and Notification messages */
+	{ GSM48_MT_RR_PAG_REQ_1,		"PAGING REQUEST TYPE 1" },
+	{ GSM48_MT_RR_PAG_REQ_2,		"PAGING REQUEST TYPE 2" },
+	{ GSM48_MT_RR_PAG_REQ_3,		"PAGING REQUEST TYPE 3" },
+	{ GSM48_MT_RR_PAG_RESP,			"PAGING RESPONSE" },
+	{ GSM48_MT_RR_NOTIF_NCH,		"NOTIFICATION/NCH" },
+	{ GSM48_MT_RR_NOTIF_FACCH,		"(Reserved)" },
+	{ GSM48_MT_RR_NOTIF_RESP,		"NOTIFICATION/RESPONSE" },
+	{ GSM48_MT_RR_PACKET_NOTIF,		"PACKET NOTIFICATION" },
+	/* 3G Specific messages */
+	{ GSM48_MT_RR_UTRAN_CLSM_CHG,		"UTRAN Classmark Change" },
+	{ GSM48_MT_RR_CDMA2K_CLSM_CHG,		"cdma 2000 Classmark Change" },
+	{ GSM48_MT_RR_IS_TO_UTRAN_HANDO,	"Inter System to UTRAN Handover Command" },
+	{ GSM48_MT_RR_IS_TO_CDMA2K_HANDO,	"Inter System to cdma2000 Handover Command" },
+
+	/* System information messages */
+	{ GSM48_MT_RR_SYSINFO_8,	"SYSTEM INFORMATION TYPE 8" },
+	{ GSM48_MT_RR_SYSINFO_1,	"SYSTEM INFORMATION TYPE 1" },
+	{ GSM48_MT_RR_SYSINFO_2,	"SYSTEM INFORMATION TYPE 2" },
+	{ GSM48_MT_RR_SYSINFO_3,	"SYSTEM INFORMATION TYPE 3" },
+	{ GSM48_MT_RR_SYSINFO_4,	"SYSTEM INFORMATION TYPE 4" },
+	{ GSM48_MT_RR_SYSINFO_5,	"SYSTEM INFORMATION TYPE 5" },
+	{ GSM48_MT_RR_SYSINFO_6,	"SYSTEM INFORMATION TYPE 6" },
+	{ GSM48_MT_RR_SYSINFO_7,	"SYSTEM INFORMATION TYPE 7" },
+	{ GSM48_MT_RR_SYSINFO_2bis,	"SYSTEM INFORMATION TYPE 2bis" },
+	{ GSM48_MT_RR_SYSINFO_2ter,	"SYSTEM INFORMATION TYPE 2ter" },
+	{ GSM48_MT_RR_SYSINFO_2quater,	"SYSTEM INFORMATION TYPE 2quater" },
+	{ GSM48_MT_RR_SYSINFO_5bis,	"SYSTEM INFORMATION TYPE 5bis" },
+	{ GSM48_MT_RR_SYSINFO_5ter,	"SYSTEM INFORMATION TYPE 5ter" },
+	{ GSM48_MT_RR_SYSINFO_9,	"SYSTEM INFORMATION TYPE 9" },
+	{ GSM48_MT_RR_SYSINFO_13,	"SYSTEM INFORMATION TYPE 13" },
+	{ GSM48_MT_RR_SYSINFO_16,	"SYSTEM INFORMATION TYPE 16" },
+	{ GSM48_MT_RR_SYSINFO_17,	"SYSTEM INFORMATION TYPE 17" },
+	{ GSM48_MT_RR_SYSINFO_18,	"SYSTEM INFORMATION TYPE 18" },
+	{ GSM48_MT_RR_SYSINFO_19,	"SYSTEM INFORMATION TYPE 19" },
+	{ GSM48_MT_RR_SYSINFO_20,	"SYSTEM INFORMATION TYPE 20" },
+
+	/* Miscellaneous messages */
+	{ GSM48_MT_RR_CHAN_MODE_MODIF,		"CHANNEL MODE MODIFY" },
+	{ GSM48_MT_RR_STATUS,			"RR STATUS" },
+	{ GSM48_MT_RR_CHAN_MODE_MODIF_ACK,	"CHANNEL MODE MODIFY ACKNOWLEDGE" },
+	{ GSM48_MT_RR_FREQ_REDEF,		"FREQUENCY REDEFINITION" },
+	{ GSM48_MT_RR_MEAS_REP,			"MEASUREMENT REPORT" },
+	{ GSM48_MT_RR_CLSM_CHG,			"CLASSMARK CHANGE" },
+	{ GSM48_MT_RR_CLSM_ENQ,			"CLASSMARK ENQUIRY" },
+	{ GSM48_MT_RR_EXT_MEAS_REP,		"EXTENDED MEASUREMENT REPORT" },
+	{ GSM48_MT_RR_EXT_MEAS_REP_ORD,		"EXTENDED MEASUREMENT ORDER" },
+	{ GSM48_MT_RR_GPRS_SUSP_REQ,		"GPRS SUSPENSION REQUEST" },
+	{ GSM48_MT_RR_DTM_INFO,			"DTM INFORMATION" },
+
+	/* VGCS uplink control messages */
+	{ GSM48_MT_RR_VGCS_UPL_GRANT,	"VGCS UPLINK GRANT" },
+	{ GSM48_MT_RR_UPLINK_RELEASE,	"UPLINK RELEASE" },
+	{ GSM48_MT_RR_UPLINK_FREE,	"0c" },
+	{ GSM48_MT_RR_UPLINK_BUSY,	"UPLINK BUSY" },
+	{ GSM48_MT_RR_TALKER_IND,	"TALKER INDICATION" },
+
+	/* Application messages */
+	{ GSM48_MT_RR_APP_INFO,		"Application Information" },
+	{ 0,				NULL }
+};
+
+const char *gsm48_rr_msg_name(uint8_t msgtype)
+{
+	return get_value_string(rr_msg_names, msgtype);
+}
+
+
 const struct value_string gsm48_chan_mode_names[] = {
 	{ GSM48_CMODE_SIGN,		"SIGNALLING" },
 	{ GSM48_CMODE_SPEECH_V1,	"SPEECH_V1" },
