diff --git a/openbsc/src/libmgcp/mgcp_sdp.c b/openbsc/src/libmgcp/mgcp_sdp.c
index aa4ef30..b648944 100644
--- a/openbsc/src/libmgcp/mgcp_sdp.c
+++ b/openbsc/src/libmgcp/mgcp_sdp.c
@@ -54,6 +54,7 @@
 
 	if (!audio_name) {
 		switch (payload_type) {
+		case 0: audio_name = "PCMU/8000/1"; break;
 		case 3: audio_name = "GSM/8000/1"; break;
 		case 8: audio_name = "PCMA/8000/1"; break;
 		case 18: audio_name = "G729/8000/1"; break;
@@ -89,6 +90,8 @@
 				payload_type = 3;
 			else if (!strcmp(audio_codec, "PCMA"))
 				payload_type = 8;
+			else if (!strcmp(audio_codec, "PCMU"))
+				payload_type = 0;
 			else if (!strcmp(audio_codec, "G729"))
 				payload_type = 18;
 		}
@@ -109,6 +112,11 @@
 
 	for (i = 0; i < used; ++i) {
 		switch (codecs[i].payload_type) {
+		case 0:
+			codecs[i].codec_name = "PCMU";
+			codecs[i].rate = 8000;
+			codecs[i].channels = 1;
+			break;
 		case 3:
 			codecs[i].codec_name = "GSM";
 			codecs[i].rate = 8000;
diff --git a/openbsc/src/libmgcp/mgcp_transcode.c b/openbsc/src/libmgcp/mgcp_transcode.c
index 12cce26..c994d32 100644
--- a/openbsc/src/libmgcp/mgcp_transcode.c
+++ b/openbsc/src/libmgcp/mgcp_transcode.c
@@ -52,6 +52,8 @@
 			return AF_GSM;
 		if (!strcasecmp("PCMA", codec->subtype_name))
 			return AF_PCMA;
+		if (!strcasecmp("PCMU", codec->subtype_name))
+			return AF_PCMU;
 #ifdef HAVE_BCG729
 		if (!strcasecmp("G729", codec->subtype_name))
 			return AF_G729;
@@ -61,6 +63,8 @@
 	}
 
 	switch (codec->payload_type) {
+	case 0 /* PCMU */:
+		return AF_PCMU;
 	case 3 /* GSM */:
 		return AF_GSM;
 	case 8 /* PCMA */:
@@ -102,6 +106,18 @@
 		*(sample++) = alaw_to_s16(*(buf++));
 }
 
+static void ulaw_encode(short *sample, unsigned char *buf, size_t n)
+{
+	for (; n > 0; --n)
+		*(buf++) = s16_to_ulaw(*(sample++));
+}
+
+static void ulaw_decode(unsigned char *buf, short *sample, size_t n)
+{
+	for (; n > 0; --n)
+		*(sample++) = ulaw_to_s16(*(buf++));
+}
+
 static int processing_state_destructor(struct mgcp_process_rtp_state *state)
 {
 	switch (state->src_fmt) {
@@ -226,6 +242,7 @@
 		}
 		break;
 #endif
+	case AF_PCMU:
 	case AF_PCMA:
 		state->src_frame_size = 80;
 		state->src_samples_per_frame = 80;
@@ -264,6 +281,7 @@
 		}
 		break;
 #endif
+	case AF_PCMU:
 	case AF_PCMA:
 		state->dst_frame_size = 80;
 		state->dst_samples_per_frame = 80;
@@ -331,6 +349,10 @@
 			bcg729Decoder(state->src.g729_dec, *src, 0, state->samples + state->sample_cnt);
 			break;
 #endif
+		case AF_PCMU:
+			ulaw_decode(*src, state->samples + state->sample_cnt,
+				    state->src_samples_per_frame);
+			break;
 		case AF_PCMA:
 			alaw_decode(*src, state->samples + state->sample_cnt,
 				    state->src_samples_per_frame);
@@ -381,6 +403,10 @@
 				      state->samples + state->sample_offs, dst);
 			break;
 #endif
+		case AF_PCMU:
+			ulaw_encode(state->samples + state->sample_offs, dst,
+				    state->src_samples_per_frame);
+			break;
 		case AF_PCMA:
 			alaw_encode(state->samples + state->sample_offs, dst,
 				    state->src_samples_per_frame);
