msc_a_up_call_assignment_complete(): handle all CSD modes

Change-Id: I92f7ab11ebc2e53700b27c38e91679c2c6f72050
This commit is contained in:
Vadim Yanitskiy 2024-02-06 16:58:28 +07:00 committed by fixeria
parent f09832a395
commit b03001199a
1 changed files with 8 additions and 2 deletions

View File

@ -1465,12 +1465,18 @@ static void msc_a_up_call_assignment_complete(struct msc_a *msc_a, const struct
const struct codec_mapping *codec_assigned; const struct codec_mapping *codec_assigned;
/* Check for unexpected codec with CSD */ /* Check for unexpected codec with CSD */
if (cc_trans->bearer_cap.transfer == GSM48_BCAP_ITCAP_UNR_DIG_INF && switch (cc_trans->bearer_cap.transfer) {
codec_if_known->type != GSM0808_SCT_CSD) { case GSM48_BCAP_ITCAP_FAX_G3:
case GSM48_BCAP_ITCAP_3k1_AUDIO:
case GSM48_BCAP_ITCAP_UNR_DIG_INF:
if (codec_if_known->type == GSM0808_SCT_CSD)
break; /* we're good */
LOG_TRANS(cc_trans, LOGL_ERROR, "Unexpected codec in Assignment Complete for CSD: %s\n", LOG_TRANS(cc_trans, LOGL_ERROR, "Unexpected codec in Assignment Complete for CSD: %s\n",
gsm0808_speech_codec_type_name(codec_if_known->type)); gsm0808_speech_codec_type_name(codec_if_known->type));
call_leg_release(msc_a->cc.call_leg); call_leg_release(msc_a->cc.call_leg);
return; return;
default:
break;
} }
/* For 2G: /* For 2G: