diff --git a/tests/sdp_msg/sdp_msg_test.c b/tests/sdp_msg/sdp_msg_test.c
index b97127a..e891953 100644
--- a/tests/sdp_msg/sdp_msg_test.c
+++ b/tests/sdp_msg/sdp_msg_test.c
@@ -134,10 +134,10 @@
 		printf("\n[%d]\n", i);
 		dump_sdp(t->sdp_input, "sdp input: ");
 
-		sdp_msg_from_str(&sdp, t->sdp_input);
-		sdp_msg_to_str(str, sizeof(str), &sdp);
+		sdp_msg_from_sdp_str(&sdp, t->sdp_input);
+		sdp_msg_to_sdp_str_buf(str, sizeof(str), &sdp);
 
-		dump_sdp(str, "sdp_msg_to_str: ");
+		dump_sdp(str, "sdp_msg_to_sdp_str_buf: ");
 		if (strcmp(str, t->expect_sdp_str)) {
 			int j;
 			ok = false;
@@ -344,7 +344,7 @@
 const char *sdp_msg_logstr(const struct sdp_msg *sdp)
 {
 	static char buf[1024];
-	sdp_msg_to_str(buf, sizeof(buf), sdp);
+	sdp_msg_to_sdp_str_buf(buf, sizeof(buf), sdp);
 	return buf;
 }
 
@@ -365,20 +365,20 @@
 		dump_sdp(t->sdp_a, "SDP A: ");
 		dump_sdp(t->sdp_b, " SDP B: ");
 
-		rc = sdp_msg_from_str(&sdp_a, t->sdp_a);
+		rc = sdp_msg_from_sdp_str(&sdp_a, t->sdp_a);
 		if (rc) {
 			printf("ERROR parsing SDP A: %d\n", rc);
 			break;
 		}
 		dump_sdp(sdp_msg_logstr(&sdp_a), "parsed SDP A: ");
-		rc = sdp_msg_from_str(&sdp_b, t->sdp_b);
+		rc = sdp_msg_from_sdp_str(&sdp_b, t->sdp_b);
 		if (rc) {
 			printf("ERROR parsing SDP A: %d\n", rc);
 			break;
 		}
 		dump_sdp(sdp_msg_logstr(&sdp_b), "parsed SDP B: ");
 		sdp_audio_codecs_intersection(&sdp_a.audio_codecs, &sdp_b.audio_codecs, false);
-		sdp_msg_to_str(str, sizeof(str), &sdp_a);
+		sdp_msg_to_sdp_str_buf(str, sizeof(str), &sdp_a);
 
 		dump_sdp(str, "sdp_msg_intersection(a,b): ");
 		if (strcmp(str, t->expect_intersection)) {
@@ -525,20 +525,20 @@
 		struct sdp_audio_codec *codec;
 		char buf[1024];
 		printf("\n[%d]\n", i);
-		rc = sdp_msg_from_str(&sdp, t->sdp);
+		rc = sdp_msg_from_sdp_str(&sdp, t->sdp);
 		if (rc) {
 			printf("ERROR parsing SDP: %d\n", rc);
 			break;
 		}
-		printf("SDP: %s\n", sdp_audio_codecs_name(&sdp.audio_codecs));
+		printf("SDP: %s\n", sdp_audio_codecs_to_str(&sdp.audio_codecs));
 		codec = sdp_audio_codec_by_payload_type(&sdp.audio_codecs, t->select_payload_type, false);
 		OSMO_ASSERT(codec);
-		printf("Select: %s\n", sdp_audio_codec_name(codec));
+		printf("Select: %s\n", sdp_audio_codec_to_str(codec));
 
 		sdp_audio_codecs_select(&sdp.audio_codecs, codec);
 
-		printf("SDP: %s\n", sdp_audio_codecs_name(&sdp.audio_codecs));
-		sdp_msg_to_str(buf, sizeof(buf), &sdp);
+		printf("SDP: %s\n", sdp_audio_codecs_to_str(&sdp.audio_codecs));
+		sdp_msg_to_sdp_str_buf(buf, sizeof(buf), &sdp);
 
 		if (strcmp(buf, t->expect_sdp ? : t->sdp)) {
 			int j;
diff --git a/tests/sdp_msg/sdp_msg_test.ok b/tests/sdp_msg/sdp_msg_test.ok
index a7a3d51..0b11c51 100644
--- a/tests/sdp_msg/sdp_msg_test.ok
+++ b/tests/sdp_msg/sdp_msg_test.ok
@@ -23,25 +23,25 @@
 sdp input: a=fmtp:101 0-15\r\n
 sdp input: a=ptime:20\r\n
 sdp input: a=sendrecv\r\n
-sdp_msg_to_str: v=0\r\n
-sdp_msg_to_str: o=OsmoMSC 0 0 IN IP4 192.168.11.121\r\n
-sdp_msg_to_str: s=GSM Call\r\n
-sdp_msg_to_str: c=IN IP4 192.168.11.121\r\n
-sdp_msg_to_str: t=0 0\r\n
-sdp_msg_to_str: m=audio 10020 RTP/AVP 18 0 2 4 8 96 97 98 100 101\r\n
-sdp_msg_to_str: a=rtpmap:18 G729/8000\r\n
-sdp_msg_to_str: a=rtpmap:0 PCMU/8000\r\n
-sdp_msg_to_str: a=rtpmap:2 G726-32/8000\r\n
-sdp_msg_to_str: a=rtpmap:4 G723/8000\r\n
-sdp_msg_to_str: a=rtpmap:8 PCMA/8000\r\n
-sdp_msg_to_str: a=rtpmap:96 G726-40/8000\r\n
-sdp_msg_to_str: a=rtpmap:97 G726-24/8000\r\n
-sdp_msg_to_str: a=rtpmap:98 G726-16/8000\r\n
-sdp_msg_to_str: a=rtpmap:100 NSE/8000\r\n
-sdp_msg_to_str: a=fmtp:100 192-193\r\n
-sdp_msg_to_str: a=rtpmap:101 telephone-event/8000\r\n
-sdp_msg_to_str: a=fmtp:101 0-15\r\n
-sdp_msg_to_str: a=ptime:20\r\n
+sdp_msg_to_sdp_str_buf: v=0\r\n
+sdp_msg_to_sdp_str_buf: o=OsmoMSC 0 0 IN IP4 192.168.11.121\r\n
+sdp_msg_to_sdp_str_buf: s=GSM Call\r\n
+sdp_msg_to_sdp_str_buf: c=IN IP4 192.168.11.121\r\n
+sdp_msg_to_sdp_str_buf: t=0 0\r\n
+sdp_msg_to_sdp_str_buf: m=audio 10020 RTP/AVP 18 0 2 4 8 96 97 98 100 101\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:18 G729/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:0 PCMU/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:2 G726-32/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:4 G723/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:8 PCMA/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:96 G726-40/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:97 G726-24/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:98 G726-16/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:100 NSE/8000\r\n
+sdp_msg_to_sdp_str_buf: a=fmtp:100 192-193\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:101 telephone-event/8000\r\n
+sdp_msg_to_sdp_str_buf: a=fmtp:101 0-15\r\n
+sdp_msg_to_sdp_str_buf: a=ptime:20\r\n
 [0] ok
 
 [1]
@@ -55,15 +55,15 @@
 sdp input: a=fmtp:98 octet-align=1; mode-set=4\r\n
 sdp input: a=ptime:20\r\n
 sdp input: a=rtcp:16399 IN IP4 192.168.11.151\r\n
-sdp_msg_to_str: v=0\r\n
-sdp_msg_to_str: o=OsmoMSC 0 0 IN IP4 192.168.11.151\r\n
-sdp_msg_to_str: s=GSM Call\r\n
-sdp_msg_to_str: c=IN IP4 192.168.11.151\r\n
-sdp_msg_to_str: t=0 0\r\n
-sdp_msg_to_str: m=audio 16398 RTP/AVP 98\r\n
-sdp_msg_to_str: a=rtpmap:98 AMR/8000\r\n
-sdp_msg_to_str: a=fmtp:98 octet-align=1; mode-set=4\r\n
-sdp_msg_to_str: a=ptime:20\r\n
+sdp_msg_to_sdp_str_buf: v=0\r\n
+sdp_msg_to_sdp_str_buf: o=OsmoMSC 0 0 IN IP4 192.168.11.151\r\n
+sdp_msg_to_sdp_str_buf: s=GSM Call\r\n
+sdp_msg_to_sdp_str_buf: c=IN IP4 192.168.11.151\r\n
+sdp_msg_to_sdp_str_buf: t=0 0\r\n
+sdp_msg_to_sdp_str_buf: m=audio 16398 RTP/AVP 98\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:98 AMR/8000\r\n
+sdp_msg_to_sdp_str_buf: a=fmtp:98 octet-align=1; mode-set=4\r\n
+sdp_msg_to_sdp_str_buf: a=ptime:20\r\n
 [1] ok
 
 [2]
@@ -82,19 +82,19 @@
 sdp input: a=sendrecv\r\n
 sdp input: a=rtcp:30437\r\n
 sdp input: a=ptime:20\r\n
-sdp_msg_to_str: v=0\r\n
-sdp_msg_to_str: o=OsmoMSC 0 0 IN IP4 192.168.11.140\r\n
-sdp_msg_to_str: s=GSM Call\r\n
-sdp_msg_to_str: c=IN IP4 192.168.11.140\r\n
-sdp_msg_to_str: t=0 0\r\n
-sdp_msg_to_str: m=audio 30436 RTP/AVP 18 0 4 8 101\r\n
-sdp_msg_to_str: a=rtpmap:18 G729/8000\r\n
-sdp_msg_to_str: a=rtpmap:0 PCMU/8000\r\n
-sdp_msg_to_str: a=rtpmap:4 G723/8000\r\n
-sdp_msg_to_str: a=rtpmap:8 PCMA/8000\r\n
-sdp_msg_to_str: a=rtpmap:101 telephone-event/8000\r\n
-sdp_msg_to_str: a=fmtp:101 0-15\r\n
-sdp_msg_to_str: a=ptime:20\r\n
+sdp_msg_to_sdp_str_buf: v=0\r\n
+sdp_msg_to_sdp_str_buf: o=OsmoMSC 0 0 IN IP4 192.168.11.140\r\n
+sdp_msg_to_sdp_str_buf: s=GSM Call\r\n
+sdp_msg_to_sdp_str_buf: c=IN IP4 192.168.11.140\r\n
+sdp_msg_to_sdp_str_buf: t=0 0\r\n
+sdp_msg_to_sdp_str_buf: m=audio 30436 RTP/AVP 18 0 4 8 101\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:18 G729/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:0 PCMU/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:4 G723/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:8 PCMA/8000\r\n
+sdp_msg_to_sdp_str_buf: a=rtpmap:101 telephone-event/8000\r\n
+sdp_msg_to_sdp_str_buf: a=fmtp:101 0-15\r\n
+sdp_msg_to_sdp_str_buf: a=ptime:20\r\n
 [2] ok
 
 
