diff --git a/src/Makefile.am b/src/Makefile.am
index 1557a1a..8562937 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,7 +4,8 @@
 sbin_PROGRAMS = bsc_hack db_test
 
 bsc_hack_SOURCES = bsc_hack.c misdn.c abis_rsl.c abis_nm.c gsm_04_08.c gsm_data.c \
-		gsm_subscriber.c msgb.c select.c chan_alloc.c timer.c debug.c db.c
+		gsm_subscriber.c msgb.c select.c chan_alloc.c timer.c debug.c db.c \
+		gsm_04_11.c
 bsc_hack_LDADD = -ldl -ldbi
 
 db_test_SOURCES = db_test.c db.c
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index c45e754..9a6212d 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -33,6 +33,7 @@
 #include <openbsc/debug.h>
 #include <openbsc/gsm_data.h>
 #include <openbsc/gsm_subscriber.h>
+#include <openbsc/gsm_04_11.h>
 #include <openbsc/gsm_04_08.h>
 #include <openbsc/abis_rsl.h>
 
@@ -545,12 +546,6 @@
 	return rc;
 }
 
-static int gsm0408_rcv_sms(struct msgb *msg)
-{
-	DEBUGP(DSMS, "SMS Message\n");
-	return 0;
-}
-
 /* here we pass in a msgb from the RSL->RLL.  We expect the l3 pointer to be set */
 int gsm0408_rcvmsg(struct msgb *msg)
 {
@@ -569,7 +564,7 @@
 		rc = gsm0408_rcv_rr(msg);
 		break;
 	case GSM48_PDISC_SMS:
-		rc = gsm0408_rcv_sms(msg);
+		rc = gsm0411_rcv_sms(msg);
 		break;
 	case GSM48_PDISC_MM_GPRS:
 	case GSM48_PDISC_SM_GPRS:
diff --git a/src/gsm_04_11.c b/src/gsm_04_11.c
new file mode 100644
index 0000000..5840886
--- /dev/null
+++ b/src/gsm_04_11.c
@@ -0,0 +1,81 @@
+/* Point-to-Point (PP) Short Message Service (SMS)
+ * Support on Mobile Radio Interface
+ * 3GPP TS 04.11 version 7.1.0 Release 1998 / ETSI TS 100 942 V7.1.0 */
+
+/* (C) 2008 by Daniel Willmann <daniel@totalueberwachung.de>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <netinet/in.h>
+
+#include <openbsc/msgb.h>
+#include <openbsc/debug.h>
+#include <openbsc/gsm_04_11.h>
+#include <openbsc/gsm_04_08.h>
+#include <openbsc/abis_rsl.h>
+
+static int gsm411_cp_data(struct msgb *msg)
+{
+	struct gsm48_hdr *gh = msgb_l3(msg);
+	int rc = 0;
+
+	struct gsm411_rp_data_hdr *rp_data = (struct gsm411_rp_data_hdr*)msg->data;
+	u_int8_t msg_type =  rp_data->msg_type & 0x07;
+
+	switch (msg_type) {
+	case GSM411_MT_RP_DATA_MO:
+    DEBUGP(DSMS, "SMS RP-DATA (MO)\n");
+		break;
+	default:
+		DEBUGP(DSMS, "Unimplemented RP type 0x%02x\n", msg_type);
+		break;
+	}
+
+	return rc;
+}
+
+int gsm0411_rcv_sms(struct msgb *msg)
+{
+	struct gsm48_hdr *gh = msgb_l3(msg);
+	u_int8_t msg_type = gh->msg_type;
+	int rc = 0;
+
+	DEBUGP(DSMS, "SMS Message\n");
+
+	switch(msg_type) {
+	case GSM411_MT_CP_DATA:
+		DEBUGP(DSMS, "SMS CP-DATA\n");
+		rc = gsm411_cp_data(msg);
+		break;
+	case GSM411_MT_CP_ACK:
+	case GSM411_MT_CP_ERROR:
+	default:
+		DEBUGP(DSMS, "Unimplemented CP msg_type: 0x%02x\n", msg_type);
+		break;
+	}
+
+
+	return rc;
+}
+
