full fmtp FU

Change-Id: I6156eaab2eb88f81848e61add5b62f435ac4739a
This commit is contained in:
Neels Hofmeyr 2024-02-05 07:43:31 +01:00
parent 3cd26dc53b
commit 333f586578
2 changed files with 10 additions and 5 deletions

View File

@ -458,9 +458,8 @@ int sdp_audio_codec_add_to_bearer_cap(struct gsm_mncc_bearer_cap *bearer_cap, co
int added = 0;
codec_mapping_foreach(m) {
int i;
if (strcmp(m->sdp.subtype_name, codec->subtype_name))
if (sdp_audio_codec_cmp(&m->sdp, codec, true, false))
continue;
/* TODO also match rate and fmtp? */
for (i = 0; i < m->speech_ver_count; i++)
added += bearer_cap_add_speech_ver(bearer_cap, m->speech_ver[i]);
}
@ -613,7 +612,7 @@ int sdp_audio_codecs_to_gsm0808_channel_type(struct gsm0808_channel_type *ct, co
bool dup;
idx++;
codec_mapping_foreach(m) {
if (strcmp(m->sdp.subtype_name, codec->subtype_name))
if (sdp_audio_codec_cmp(codec, &m->sdp, true, false))
continue;
switch (m->perm_speech) {
@ -675,7 +674,7 @@ enum mgcp_codecs sdp_audio_codec_to_mgcp_codec(const struct sdp_audio_codec *cod
{
const struct codec_mapping *m;
codec_mapping_foreach(m) {
if (!sdp_audio_codec_cmp(&m->sdp, codec, false, false))
if (!sdp_audio_codec_cmp(&m->sdp, codec, true, false))
return m->mgcp;
}
return NO_MGCP_CODEC;

View File

@ -2165,7 +2165,13 @@ int gsm48_tch_rtp_create(struct gsm_trans *trans)
/* Populate the legacy MNCC codec elements: payload_type and payload_msg_type */
codec = &codecs->codec[0];
m = codec_mapping_by_subtype_name(codec->subtype_name);
codec_mapping_foreach (m) {
if (!m->mncc_payload_msg_type)
continue;
if (sdp_audio_codec_cmp(&m->sdp, codec, true, false))
continue;
break;
}
mncc_payload_msg_type = m ? m->mncc_payload_msg_type : 0;
rtp_cn_local = call_leg_local_ip(cl, RTP_TO_CN);