diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h
index 192b877..51871e4 100644
--- a/include/osmocom/gsm/gsup.h
+++ b/include/osmocom/gsm/gsup.h
@@ -97,6 +97,7 @@
 	OSMO_GSUP_SM_RP_UI_IE			= 0x43,
 	OSMO_GSUP_SM_RP_CAUSE_IE		= 0x44,
 	OSMO_GSUP_SM_RP_MMS_IE			= 0x45,
+	OSMO_GSUP_SM_ALERT_RSN_IE		= 0x46,
 };
 
 /*! GSUP message type */
@@ -138,6 +139,10 @@
 	OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST	= 0b00101000,
 	OSMO_GSUP_MSGT_MT_FORWARD_SM_ERROR	= 0b00101001,
 	OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT	= 0b00101010,
+
+	OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST	= 0b00101100,
+	OSMO_GSUP_MSGT_READY_FOR_SM_ERROR	= 0b00101101,
+	OSMO_GSUP_MSGT_READY_FOR_SM_RESULT	= 0b00101110,
 };
 
 #define OSMO_GSUP_IS_MSGT_REQUEST(msgt) (((msgt) & 0b00000011) == 0b00)
@@ -250,6 +255,8 @@
 	const uint8_t			*sm_rp_cause;
 	/*! SM-RP-MMS (More Messages to Send), section 7.6.8.7 */
 	const uint8_t			*sm_rp_mms;
+	/*! Alert reason (see 3GPP TS 29.002, 7.6.8.8) */
+	enum osmo_gsup_sms_sm_alert_rsn_t	sm_alert_rsn;
 };
 
 int osmo_gsup_decode(const uint8_t *data, size_t data_len,
diff --git a/include/osmocom/gsm/gsup_sms.h b/include/osmocom/gsm/gsup_sms.h
index 521412d..480971e 100644
--- a/include/osmocom/gsm/gsup_sms.h
+++ b/include/osmocom/gsm/gsup_sms.h
@@ -22,6 +22,13 @@
 	OSMO_GSUP_SMS_SM_RP_ODA_NULL		= 0xff,
 };
 
+/*! Alert reason values, see 7.6.8.8 */
+enum osmo_gsup_sms_sm_alert_rsn_t {
+	OSMO_GSUP_SMS_SM_ALERT_RSN_NONE		= 0x00,
+	OSMO_GSUP_SMS_SM_ALERT_RSN_MS_PRESENT	= 0x01,
+	OSMO_GSUP_SMS_SM_ALERT_RSN_MEM_AVAIL	= 0x02,
+};
+
 struct osmo_gsup_message;
 struct msgb;
 
diff --git a/src/gsm/gsup.c b/src/gsm/gsup.c
index e433997..c1c9992 100644
--- a/src/gsm/gsup.c
+++ b/src/gsm/gsup.c
@@ -75,6 +75,10 @@
 	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_MT_FORWARD_SM_ERROR),
 	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT),
 
+	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST),
+	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_READY_FOR_SM_ERROR),
+	OSMO_VALUE_STRING(OSMO_GSUP_MSGT_READY_FOR_SM_RESULT),
+
 	{ 0, NULL }
 };
 
@@ -471,6 +475,10 @@
 			gsup_msg->sm_rp_cause = value;
 			break;
 
+		case OSMO_GSUP_SM_ALERT_RSN_IE:
+			gsup_msg->sm_alert_rsn = *value;
+			break;
+
 		default:
 			LOGP(DLGSUP, LOGL_NOTICE,
 			     "GSUP IE type %d unknown\n", iei);
@@ -699,6 +707,11 @@
 				sizeof(*gsup_msg->sm_rp_cause), gsup_msg->sm_rp_cause);
 	}
 
+	if ((u8 = gsup_msg->sm_alert_rsn)) {
+		msgb_tlv_put(msg, OSMO_GSUP_SM_ALERT_RSN_IE,
+				sizeof(u8), &u8);
+	}
+
 	return 0;
 }
 
diff --git a/tests/gsup/gsup_test.c b/tests/gsup/gsup_test.c
index 0936893..b3a8c77 100644
--- a/tests/gsup/gsup_test.c
+++ b/tests/gsup/gsup_test.c
@@ -280,6 +280,15 @@
 			0xde, 0xad, 0xbe, 0xef,
 	};
 
+	static const uint8_t send_ready_for_sm_ind[] = {
+		0x2c, /* OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST */
+		TEST_IMSI_IE,
+
+		/* SM related IEs */
+		0x46, 0x01, /* Alert reason */
+			0x02, /* Memory Available (SMMA) */
+	};
+
 	static const struct test {
 		char *name;
 		const uint8_t *data;
@@ -327,6 +336,8 @@
 			send_mo_mt_forward_sm_rsp, sizeof(send_mo_mt_forward_sm_rsp)},
 		{"MO-/MT-ForwardSM Error",
 			send_mo_mt_forward_sm_err, sizeof(send_mo_mt_forward_sm_err)},
+		{"ReadyForSM (MSC -> SMSC) Indication",
+			send_ready_for_sm_ind, sizeof(send_ready_for_sm_ind)},
 	};
 
 	printf("Test GSUP message decoding/encoding\n");
@@ -394,7 +405,7 @@
 				 * FIXME: share the maximal IE value somehow
 				 * in order to avoid manual updating of this
 				 */
-				OSMO_ASSERT(t->data[j+0] <= OSMO_GSUP_SM_RP_MMS_IE);
+				OSMO_ASSERT(t->data[j+0] <= OSMO_GSUP_SM_ALERT_RSN_IE);
 				OSMO_ASSERT(t->data[j+1] <= ie_end - j - 2);
 
 				ie_end = j;
diff --git a/tests/gsup/gsup_test.err b/tests/gsup/gsup_test.err
index 4a1357c..236c38a 100644
--- a/tests/gsup/gsup_test.err
+++ b/tests/gsup/gsup_test.err
@@ -61,6 +61,9 @@
   generated message: 25 01 08 21 43 65 87 09 21 43 f5 30 04 de ad be ef 31 01 03 40 01 fa 44 01 af 
   original message:  25 01 08 21 43 65 87 09 21 43 f5 30 04 de ad be ef 31 01 03 40 01 fa 44 01 af 
   IMSI:              123456789012345
+  generated message: 2c 01 08 21 43 65 87 09 21 43 f5 46 01 02 
+  original message:  2c 01 08 21 43 65 87 09 21 43 f5 46 01 02 
+  IMSI:              123456789012345
   message 0: tested 11 truncations, 11 parse failures
   message 1: tested 14 truncations, 13 parse failures
   message 2: tested 83 truncations, 81 parse failures
@@ -82,6 +85,7 @@
   message 18: tested 44 truncations, 39 parse failures
   message 19: tested 20 truncations, 18 parse failures
   message 20: tested 26 truncations, 22 parse failures
+  message 21: tested 14 truncations, 13 parse failures
 DLGSUP Stopping DLGSUP logging
   message 0: tested 2816 modifications, 510 parse failures
   message 1: tested 3584 modifications, 770 parse failures
@@ -104,3 +108,4 @@
   message 18: tested 11264 modifications, 2307 parse failures
   message 19: tested 5120 modifications, 1031 parse failures
   message 20: tested 6656 modifications, 1546 parse failures
+  message 21: tested 3584 modifications, 771 parse failures
diff --git a/tests/gsup/gsup_test.ok b/tests/gsup/gsup_test.ok
index 7a9455d..36e35c8 100644
--- a/tests/gsup/gsup_test.ok
+++ b/tests/gsup/gsup_test.ok
@@ -41,4 +41,6 @@
           MO-/MT-ForwardSM Response OK
   Testing MO-/MT-ForwardSM Error
           MO-/MT-ForwardSM Error OK
+  Testing ReadyForSM (MSC -> SMSC) Indication
+          ReadyForSM (MSC -> SMSC) Indication OK
 Done.
