diff --git a/src/libmsc/codec_mapping.c b/src/libmsc/codec_mapping.c index 55efd8de4..c2afc9cee 100644 --- a/src/libmsc/codec_mapping.c +++ b/src/libmsc/codec_mapping.c @@ -24,6 +24,9 @@ #include +#include +#include + #include #include #include @@ -118,7 +121,7 @@ const struct codec_mapping codec_map[] = { /* AMR is always octet-aligned in 2G and 3G RAN, so this fmtp is signalled to remote call legs. * So far, fmtp is ignored in incoming SIP SDP, so an incoming SDP without 'octet-align=1' will * match with this entry; we will still reply with 'octet-align=1', which often works out. */ - .fmtp = "octet-align=1", + .fmtp = OSMO_SDP_VAL_AMR_OCTET_ALIGN_1, }, .mgcp = CODEC_AMR_8000_1, .speech_ver_count = 1, @@ -139,7 +142,7 @@ const struct codec_mapping codec_map[] = { .payload_type = 112, .subtype_name = "AMR", .rate = 8000, - .fmtp = "octet-align=1", + .fmtp = OSMO_SDP_VAL_AMR_OCTET_ALIGN_1, }, .mgcp = CODEC_AMR_8000_1, .speech_ver_count = 1, @@ -159,7 +162,7 @@ const struct codec_mapping codec_map[] = { .payload_type = 113, .subtype_name = "AMR-WB", .rate = 16000, - .fmtp = "octet-align=1", + .fmtp = OSMO_SDP_STR_AMR_OCTET_ALIGN_1, }, .mgcp = CODEC_AMRWB_16000_1, .speech_ver_count = 2, diff --git a/src/libmsc/sdp_msg.c b/src/libmsc/sdp_msg.c index 9b4cd988c..a70752e0b 100644 --- a/src/libmsc/sdp_msg.c +++ b/src/libmsc/sdp_msg.c @@ -27,6 +27,8 @@ #include #include +#include + #include #include @@ -272,7 +274,7 @@ int sdp_msg_to_sdp_str_buf(char *dst, size_t dst_size, const struct sdp_msg *sdp OSMO_STRBUF_PRINTF(sb, "a=rtpmap:%d %s/%d\r\n", codec->payload_type, codec->subtype_name, codec->rate > 0 ? codec->rate : 8000); if (codec->fmtp[0]) - OSMO_STRBUF_PRINTF(sb, "a=fmtp:%d %s\r\n", codec->payload_type, codec->fmtp); + OSMO_STRBUF_PRINTF(sb, OSMO_SDP_PREFIX_A_FMTP "%d %s\r\n", codec->payload_type, codec->fmtp); } OSMO_STRBUF_PRINTF(sb, "a=ptime:%d\r\n", sdp->ptime > 0? sdp->ptime : 20); @@ -302,7 +304,6 @@ int sdp_parse_attrib(struct sdp_msg *sdp, const char *src) unsigned int payload_type; struct sdp_audio_codec *codec; #define A_RTPMAP "rtpmap:" -#define A_FMTP "fmtp:" #define A_PTIME "ptime:" #define A_RTCP "rtcp:" @@ -328,11 +329,11 @@ int sdp_parse_attrib(struct sdp_msg *sdp, const char *src) return -ENOTSUP; } - else if (osmo_str_startswith(src, A_FMTP)) { + else if (osmo_str_startswith(src, OSMO_SDP_PREFIX_FMTP)) { /* "a=fmtp:112 octet-align=1;mode-set=0,1,2,3" */ char *fmtp_str; const char *line_end = sdp_msg_line_end(src); - if (sscanf(src, A_FMTP "%u", &payload_type) != 1) + if (sscanf(src, OSMO_SDP_PREFIX_FMTP "%u", &payload_type) != 1) return -EINVAL; fmtp_str = strchr(src, ' ');