chan_sip: SDP: Reject audio streams correctly.
This completes the fix for ASTERISK_24543. Only when the call is an outgoing call, consult and append the configured format capabilities (p->caps). When all audio formats got rejected the negotiated format capabilities (p->jointcaps) contain no audio formats for incoming calls. This is required when there are other accepted media streams. ASTERISK-29258 Change-Id: I8bab31c7f3f3700dce204b429ad238a524efebb9
This commit is contained in:
parent
e78239e6f5
commit
7dc0cded86
|
@ -13607,10 +13607,11 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
|
|||
ast_format_cap_append_from_cap(tmpcap, p->jointcaps, AST_MEDIA_TYPE_UNKNOWN);
|
||||
}
|
||||
|
||||
/* Check if we need audio */
|
||||
if (ast_format_cap_has_type(tmpcap, AST_MEDIA_TYPE_AUDIO)
|
||||
|| ast_format_cap_has_type(p->caps, AST_MEDIA_TYPE_AUDIO)) {
|
||||
needaudio = TRUE;
|
||||
/* Check if we need audio in this call */
|
||||
needaudio = ast_format_cap_has_type(tmpcap, AST_MEDIA_TYPE_AUDIO);
|
||||
if (!needaudio && p->outgoing_call) {
|
||||
/* p->caps are added conditionally, see below "Finally our remain..." */
|
||||
needaudio = ast_format_cap_has_type(p->caps, AST_MEDIA_TYPE_AUDIO);
|
||||
}
|
||||
|
||||
/* Check if we need video in this call */
|
||||
|
|
Loading…
Reference in New Issue