diff --git a/openbsc/src/nat/bsc_mgcp_utils.c b/openbsc/src/nat/bsc_mgcp_utils.c
index 74ef67b..82eeefc 100644
--- a/openbsc/src/nat/bsc_mgcp_utils.c
+++ b/openbsc/src/nat/bsc_mgcp_utils.c
@@ -185,7 +185,7 @@
 	struct msgb *output;
 	struct bsc_endpoint *bsc_endp = NULL;
 	struct mgcp_endpoint *endp = NULL;
-	int i, code;
+	int i, code, port;
 	char transaction_id[60];
 
 	/* Some assumption that our buffer is big enough.. and null terminate */
@@ -223,6 +223,9 @@
 
 	/* make it point to our endpoint */
 	endp->ci = bsc_mgcp_extract_ci((const char *) msg->l2h);
+	port = bsc_mgcp_extract_port((const char *) msg->l2h);
+	endp->bts_rtp = htons(port);
+	endp->bts_rtcp = htons(port + 1);
 	output = bsc_mgcp_rewrite((char * ) msg->l2h, msgb_l2len(msg),
 				  bsc->nat->mgcp_cfg->source_addr, endp->rtp_port);
 	if (!output) {
@@ -254,6 +257,18 @@
 	return ci;
 }
 
+int bsc_mgcp_extract_port(const char *str)
+{
+	int port;
+	char *res = strstr(str, "m=audio ");
+	if (!res)
+		return 0;
+
+	if (sscanf(res, "m=audio %d RTP/AVP %*d", &port) != 1)
+		return 0;
+	return port;
+}
+
 /* we need to replace some strings... */
 struct msgb *bsc_mgcp_rewrite(char *input, int length, const char *ip, int port)
 {
