diff --git a/src/libmsc/mncc_call.c b/src/libmsc/mncc_call.c
index c9a6d56..fbf96f3 100644
--- a/src/libmsc/mncc_call.c
+++ b/src/libmsc/mncc_call.c
@@ -35,6 +35,7 @@
 #include <osmocom/msc/rtp_stream.h>
 #include <osmocom/msc/msub.h>
 #include <osmocom/msc/vlr.h>
+#include <osmocom/msc/codec_mapping.h>
 
 struct osmo_fsm mncc_call_fsm;
 static bool mncc_call_tx_rtp_create(struct mncc_call *mncc_call);
@@ -274,25 +275,6 @@
 	return mncc_call_tx_rtp_create(mncc_call);
 }
 
-/* Convert enum mgcp_codecs to an gsm_mncc_rtp->payload_msg_type value. */
-uint32_t mgcp_codec_to_mncc_payload_msg_type(enum mgcp_codecs codec)
-{
-	switch (codec) {
-	default:
-		/* disclaimer: i have no idea what i'm doing. */
-	case CODEC_GSM_8000_1:
-		return GSM_TCHF_FRAME;
-	case CODEC_GSMEFR_8000_1:
-		return GSM_TCHF_FRAME_EFR;
-	case CODEC_GSMHR_8000_1:
-		return GSM_TCHH_FRAME;
-	case CODEC_AMR_8000_1:
-	case CODEC_AMRWB_16000_1:
-		//return GSM_TCHF_FRAME;
-		return GSM_TCH_FRAME_AMR;
-	}
-}
-
 static bool mncc_call_tx_rtp_create(struct mncc_call *mncc_call)
 {
 	if (!mncc_call->rtps || !osmo_sockaddr_str_is_nonzero(&mncc_call->rtps->local)) {
@@ -314,8 +296,15 @@
 	}
 
 	if (mncc_call->rtps->codec_known) {
-		mncc_msg.rtp.payload_type = 0; /* ??? */
-		mncc_msg.rtp.payload_msg_type = mgcp_codec_to_mncc_payload_msg_type(mncc_call->rtps->codec);
+		const struct codec_mapping *m = codec_mapping_by_mgcp_codec(mncc_call->rtps->codec);
+
+		if (!m) {
+			mncc_call_error(mncc_call, "Failed to resolve audio codec '%s'\n",
+					osmo_mgcpc_codec_name(mncc_call->rtps->codec));
+			return false;
+		}
+		mncc_msg.rtp.payload_type = m->sdp.payload_type;
+		mncc_msg.rtp.payload_msg_type = m->mncc_payload_msg_type;
 	}
 
 	if (mncc_call_tx(mncc_call, &mncc_msg))
