res_pjsip_sdp_rtp: Skip formats without SDP details.

When producing an outgoing SDP we iterate through the configured
formats and produce SDP information. It is possible for some
configured formats to not have SDP information available. If this
is the case we skip over them to allow the SDP to still be
produced.

ASTERISK-29185

Change-Id: I3e37569aa4ca341260e6ca5904dc2f75e46a1749
This commit is contained in:
Joshua C. Colp 2022-08-30 10:01:29 -03:00 committed by Friendly Automation
parent 393b903adc
commit 1ad22c33cd
1 changed files with 10 additions and 0 deletions

View File

@ -1820,6 +1820,16 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
continue;
}
/* It is possible for some formats not to have SDP information available for them
* and if this is the case, skip over them so the SDP can still be created.
*/
if (!ast_rtp_lookup_sample_rate2(1, format, 0)) {
ast_log(LOG_WARNING, "Format '%s' can not be added to SDP, consider disallowing it on endpoint '%s'\n",
ast_format_get_name(format), ast_sorcery_object_get_id(session->endpoint));
ao2_ref(format, -1);
continue;
}
/* If this stream is not a transport we need to use the transport codecs structure for payload management to prevent
* conflicts.
*/