diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h
index 4983af5..7ac175d 100644
--- a/openbsc/include/openbsc/bsc_nat.h
+++ b/openbsc/include/openbsc/bsc_nat.h
@@ -38,8 +38,6 @@
 #define DIR_BSC 1
 #define DIR_MSC 2
 
-#define NAT_IPAC_PROTO_MGCP	0xfc
-
 struct sccp_connections;
 struct bsc_nat_parsed;
 struct bsc_nat;
diff --git a/openbsc/include/openbsc/ipaccess.h b/openbsc/include/openbsc/ipaccess.h
index f8ddfd4..b36811c 100644
--- a/openbsc/include/openbsc/ipaccess.h
+++ b/openbsc/include/openbsc/ipaccess.h
@@ -18,6 +18,9 @@
 	IPAC_PROTO_IPACCESS	= 0xfe,
 	IPAC_PROTO_SCCP		= 0xfd,
 	IPAC_PROTO_OML		= 0xff,
+
+	/* OpenBSC extensions */
+	IPAC_PROTO_MGCP		= 0xfc,
 };
 
 enum ipaccess_msgtype {
diff --git a/openbsc/src/bsc/osmo_bsc_msc.c b/openbsc/src/bsc/osmo_bsc_msc.c
index 6644982..0bdb71f 100644
--- a/openbsc/src/bsc/osmo_bsc_msc.c
+++ b/openbsc/src/bsc/osmo_bsc_msc.c
@@ -68,7 +68,7 @@
         }
 
 	mgcp->l2h = msgb_put(mgcp, ret);
-	msc_queue_write(data->msc_con, mgcp, NAT_IPAC_PROTO_MGCP);
+	msc_queue_write(data->msc_con, mgcp, IPAC_PROTO_MGCP);
 	return 0;
 }
 
@@ -225,7 +225,7 @@
 		}
 	} else if (hh->proto == IPAC_PROTO_SCCP) {
 		sccp_system_incoming(msg);
-	} else if (hh->proto == NAT_IPAC_PROTO_MGCP) {
+	} else if (hh->proto == IPAC_PROTO_MGCP) {
 		mgcp_forward(data, msg);
 	}
 
diff --git a/openbsc/src/nat/bsc_filter.c b/openbsc/src/nat/bsc_filter.c
index e968fa2..9c09a83 100644
--- a/openbsc/src/nat/bsc_filter.c
+++ b/openbsc/src/nat/bsc_filter.c
@@ -70,7 +70,7 @@
 	{ IPAC_PROTO_SCCP, ALLOW_ANY, ALLOW_ANY, ALLOW_ANY, FILTER_TO_BOTH },
 
 	/* allow MGCP messages to both sides */
-	{ NAT_IPAC_PROTO_MGCP, ALLOW_ANY, ALLOW_ANY, ALLOW_ANY, FILTER_TO_BOTH },
+	{ IPAC_PROTO_MGCP, ALLOW_ANY, ALLOW_ANY, ALLOW_ANY, FILTER_TO_BOTH },
 };
 
 struct bsc_nat_parsed *bsc_nat_parse(struct msgb *msg)
diff --git a/openbsc/src/nat/bsc_mgcp_utils.c b/openbsc/src/nat/bsc_mgcp_utils.c
index b84a262..750975f 100644
--- a/openbsc/src/nat/bsc_mgcp_utils.c
+++ b/openbsc/src/nat/bsc_mgcp_utils.c
@@ -23,6 +23,7 @@
 #include <openbsc/bsc_nat_sccp.h>
 #include <openbsc/gsm_data.h>
 #include <openbsc/debug.h>
+#include <openbsc/ipaccess.h>
 #include <openbsc/mgcp.h>
 #include <openbsc/mgcp_internal.h>
 
@@ -296,7 +297,7 @@
 		}
 
 		/* send the message and a fake MDCX to force sending of a dummy packet */
-		bsc_write(sccp->bsc, bsc_msg, NAT_IPAC_PROTO_MGCP);
+		bsc_write(sccp->bsc, bsc_msg, IPAC_PROTO_MGCP);
 		bsc_mgcp_send_mdcx(sccp->bsc, sccp->bsc_endp, mgcp_endp);
 		return MGCP_POLICY_DEFER;
 	} else if (state == MGCP_ENDP_DLCX) {
@@ -305,7 +306,7 @@
 		bsc_mgcp_dlcx(sccp);
 		return MGCP_POLICY_CONT;
 	} else {
-		bsc_write(sccp->bsc, bsc_msg, NAT_IPAC_PROTO_MGCP);
+		bsc_write(sccp->bsc, bsc_msg, IPAC_PROTO_MGCP);
 		return MGCP_POLICY_DEFER;
 	}
 }
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index f5eca80..ded05c6 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -874,7 +874,7 @@
 			goto exit2;
 			break;
 		}
-        } else if (parsed->ipa_proto == NAT_IPAC_PROTO_MGCP) {
+        } else if (parsed->ipa_proto == IPAC_PROTO_MGCP) {
                 bsc_mgcp_forward(bsc, msg);
                 goto exit2;
 	} else {
diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c
index 89d7d4b..4fda517 100644
--- a/openbsc/src/nat/bsc_nat_utils.c
+++ b/openbsc/src/nat/bsc_nat_utils.c
@@ -260,7 +260,7 @@
 	msg->l3h = msgb_put(msg, length);
 	memcpy(msg->l3h, data, length);
 
-        return bsc_write(bsc, msg, NAT_IPAC_PROTO_MGCP);
+        return bsc_write(bsc, msg, IPAC_PROTO_MGCP);
 }
 
 int bsc_write(struct bsc_connection *bsc, struct msgb *msg, int proto)
