diff --git a/include/Makefile.am b/include/Makefile.am
index 181431b..52c6a38 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -50,6 +50,7 @@
                        osmocom/gprs/protocol/gsm_08_18.h \
                        osmocom/gsm/a5.h \
                        osmocom/gsm/abis_nm.h \
+                       osmocom/gsm/apn.h \
                        osmocom/gsm/comp128.h \
                        osmocom/gsm/comp128v23.h \
                        osmocom/gsm/gan.h \
diff --git a/include/osmocom/gsm/apn.h b/include/osmocom/gsm/apn.h
new file mode 100644
index 0000000..d8d7399
--- /dev/null
+++ b/include/osmocom/gsm/apn.h
@@ -0,0 +1,13 @@
+#pragma once
+
+#include <stdint.h>
+
+/* 23.003 Section 9.1.1, excluding any terminating zero byte */
+#define APN_NI_MAXLEN	63
+
+/* 23.003 Section 9.1, excluding any terminating zero byte */
+#define APN_MAXLEN	100
+
+char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni);
+char *osmo_apn_qualify_from_imsi(const char *imsi,
+				 const char *ni, int have_3dig_mnc);
diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am
index f119a74..d8aff4a 100644
--- a/src/gsm/Makefile.am
+++ b/src/gsm/Makefile.am
@@ -20,7 +20,7 @@
 			auth_core.c auth_comp128v1.c auth_comp128v23.c \
 			auth_milenage.c milenage/aes-encblock.c \
 			milenage/aes-internal.c milenage/aes-internal-enc.c \
-			milenage/milenage.c gan.c ipa.c gsm0341.c
+			milenage/milenage.c gan.c ipa.c gsm0341.c apn.c
 
 libosmogsm_la_LDFLAGS = $(LTLDFLAGS_OSMOGSM) -version-info $(LIBVERSION) -no-undefined
 libosmogsm_la_LIBADD = $(top_builddir)/src/libosmocore.la
diff --git a/src/gsm/apn.c b/src/gsm/apn.c
new file mode 100644
index 0000000..413130a
--- /dev/null
+++ b/src/gsm/apn.c
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <osmocom/gsm/apn.h>
+
+#define APN_OI_GPRS_FMT	"mnc%03u.mcc%03u.gprs"
+#define APN_GPRS_FMT	"%s.mnc%03u.mcc%03u.gprs"
+
+static char apn_strbuf[APN_MAXLEN+1];
+
+char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni)
+{
+	snprintf(apn_strbuf, sizeof(apn_strbuf)-1, APN_GPRS_FMT,
+		ni, mnc, mcc);
+	apn_strbuf[sizeof(apn_strbuf)-1] = '\0';
+
+	return apn_strbuf;
+}
+
+char *osmo_apn_qualify_from_imsi(const char *imsi,
+				 const char *ni, int have_3dig_mnc)
+{
+	char cbuf[3+1], nbuf[3+1];
+
+	strncpy(cbuf, imsi, 3);
+	cbuf[3] = '\0';
+
+	if (have_3dig_mnc) {
+		strncpy(nbuf, imsi+3, 3);
+		nbuf[3] = '\0';
+	} else {
+		strncpy(nbuf, imsi+3, 2);
+		nbuf[2] = '\0';
+	}
+	return osmo_apn_qualify(atoi(cbuf), atoi(nbuf), ni);
+}
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index b7c5158..22428a2 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -265,5 +265,8 @@
 ipa_prepend_header_ext;
 ipa_send;
 
+osmo_apn_qualify;
+osmo_apn_qualify_from_imsi;
+
 local: *;
 };
