Fix early audio handling

Early audio must be indicated with new_msg and not to received message.

Early audio does not matter when connect message is received.
This commit is contained in:
Andreas Eversberg 2023-12-21 18:29:26 +01:00
parent 0d3d1a098f
commit ba3e030bf2
1 changed files with 6 additions and 10 deletions

View File

@ -453,14 +453,10 @@ void cc_message(osmo_cc_endpoint_t *ep, uint32_t callref, osmo_cc_msg_t *msg)
if (ui_autoanswer) {
/* create osmo-cc message */
new_msg = osmo_cc_new_msg(OSMO_CC_MSG_SETUP_CNF);
if (call->telephone_ep->early_audio) {
/* progress */
osmo_cc_add_ie_progress(msg, OSMO_CC_CODING_ITU_T, call->telephone_ep->serving_location, OSMO_CC_PROGRESS_INBAND_INFO_AVAILABLE);
/* sdp */
osmo_cc_add_ie_sdp(new_msg, call->sdp);
free((char *)call->sdp);
call->sdp = NULL;
}
/* sdp */
osmo_cc_add_ie_sdp(new_msg, call->sdp);
free((char *)call->sdp);
call->sdp = NULL;
/* send message to osmo-cc */
osmo_cc_ll_msg(&call->telephone_ep->cc_ep, call->cc_callref, new_msg);
/* change state */
@ -471,7 +467,7 @@ void cc_message(osmo_cc_endpoint_t *ep, uint32_t callref, osmo_cc_msg_t *msg)
new_msg = osmo_cc_new_msg(OSMO_CC_MSG_ALERT_IND);
if (call->telephone_ep->early_audio) {
/* progress */
osmo_cc_add_ie_progress(msg, OSMO_CC_CODING_ITU_T, call->telephone_ep->serving_location, OSMO_CC_PROGRESS_INBAND_INFO_AVAILABLE);
osmo_cc_add_ie_progress(new_msg, OSMO_CC_CODING_ITU_T, call->telephone_ep->serving_location, OSMO_CC_PROGRESS_INBAND_INFO_AVAILABLE);
/* sdp */
osmo_cc_add_ie_sdp(new_msg, call->sdp);
free((char *)call->sdp);
@ -486,7 +482,7 @@ void cc_message(osmo_cc_endpoint_t *ep, uint32_t callref, osmo_cc_msg_t *msg)
new_msg = osmo_cc_new_msg(OSMO_CC_MSG_SETUP_ACK_IND);
if (call->telephone_ep->early_audio) {
/* progress */
osmo_cc_add_ie_progress(msg, OSMO_CC_CODING_ITU_T, call->telephone_ep->serving_location, OSMO_CC_PROGRESS_INBAND_INFO_AVAILABLE);
osmo_cc_add_ie_progress(new_msg, OSMO_CC_CODING_ITU_T, call->telephone_ep->serving_location, OSMO_CC_PROGRESS_INBAND_INFO_AVAILABLE);
/* sdp */
osmo_cc_add_ie_sdp(new_msg, call->sdp);
free((char *)call->sdp);