diff --git a/openbsc/src/gsm_04_80.c b/openbsc/src/gsm_04_80.c
index 4173ade..a7c8bd7 100644
--- a/openbsc/src/gsm_04_80.c
+++ b/openbsc/src/gsm_04_80.c
@@ -314,7 +314,7 @@
 	return msg;
 }
 
-struct msgb *gsm0480_create_unstructuredSS_Notify(const char *text)
+struct msgb *gsm0480_create_unstructuredSS_Notify(int alertPattern, const char *text)
 {
 	struct msgb *msg;
 	uint8_t *seq_len_ptr, *ussd_len_ptr, *data;
@@ -343,7 +343,13 @@
 	ussd_len_ptr[0] = len;
 	/* USSD-String } */
 
-	seq_len_ptr[0] = 3 + 2 + ussd_len_ptr[0];
+	/* alertingPattern { */
+	msgb_put_u8(msg, ASN1_OCTET_STRING_TAG);
+	msgb_put_u8(msg, 1);
+	msgb_put_u8(msg, alertPattern);
+	/* } alertingPattern */
+
+	seq_len_ptr[0] = 3 + 2 + ussd_len_ptr[0] + 3;
 	/* } SEQUENCE */
 
 	return msg;
@@ -456,12 +462,12 @@
 	return gsm0808_submit_dtap(conn, msg, 0);
 }
 
-int gsm0480_send_ussdNotify(struct gsm_subscriber_connection *conn, const char *text)
+int gsm0480_send_ussdNotify(struct gsm_subscriber_connection *conn, int level, const char *text)
 {
 	struct gsm48_hdr *gh;
 	struct msgb *msg;
 
-	msg = gsm0480_create_unstructuredSS_Notify(text);
+	msg = gsm0480_create_unstructuredSS_Notify(level, text);
 	if (!msg)
 		return -1;
 
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c
index b775af1..55fe1c0 100644
--- a/openbsc/src/vty_interface_layer3.c
+++ b/openbsc/src/vty_interface_layer3.c
@@ -375,9 +375,10 @@
 
 DEFUN(subscriber_ussd_notify,
       subscriber_ussd_notify_cmd,
-      "subscriber " SUBSCR_TYPES " ID ussd-notify .TEXT",
+      "subscriber " SUBSCR_TYPES " ID ussd-notify (0|1|2) .TEXT",
       SUBSCR_HELP "USSD Notify\n"
       "Subscriber ID\n"
+      "Alerting Level\n"
       "Text Message to send\n")
 {
 	char *text;
@@ -385,6 +386,7 @@
 	struct gsm_network *gsmnet = gsmnet_from_vty(vty);
 	struct gsm_subscriber *subscr = get_subscr_by_argv(gsmnet, argv[0], argv[1]);
 	int rc;
+	int level;
 
 	if (!subscr) {
 		vty_out(vty, "%% No subscriber found for %s %s%s",
@@ -392,7 +394,8 @@
 		return CMD_WARNING;
 	}
 
-	text = argv_concat(argv, argc, 2);
+	level = atoi(argv[2]);
+	text = argv_concat(argv, argc, 3);
 	if (!text) {
 		subscr_put(subscr);
 		return CMD_WARNING;
@@ -407,7 +410,7 @@
 		return CMD_WARNING;
 	}
 
-	gsm0480_send_ussdNotify(conn, text);
+	gsm0480_send_ussdNotify(conn, level, text);
 	gsm0480_send_releaseComplete(conn);
 
 	subscr_put(subscr);
