res_pjsip_sdp_rtp: Only do hold/unhold on default audio stream.
When examining a stream to determine hold/unhold information we only care about the default audio stream. Other streams aren't used for hold/unhold. ASTERISK-28784 Change-Id: I7a1f10f07822c4aee1f98a38b9628849b578afe4
This commit is contained in:
parent
ac3a81992a
commit
0b92aa4c49
|
@ -1430,18 +1430,20 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session,
|
|||
/* If ICE support is enabled find all the needed attributes */
|
||||
check_ice_support(session, session_media, stream);
|
||||
|
||||
/* Check if incomming SDP is changing the remotely held state */
|
||||
if (ast_sockaddr_isnull(addrs) ||
|
||||
ast_sockaddr_is_any(addrs) ||
|
||||
pjmedia_sdp_media_find_attr2(stream, "sendonly", NULL) ||
|
||||
pjmedia_sdp_media_find_attr2(stream, "inactive", NULL)) {
|
||||
if (!session_media->remotely_held) {
|
||||
session_media->remotely_held = 1;
|
||||
if (ast_sip_session_is_pending_stream_default(session, asterisk_stream) && media_type == AST_MEDIA_TYPE_AUDIO) {
|
||||
/* Check if incomming SDP is changing the remotely held state */
|
||||
if (ast_sockaddr_isnull(addrs) ||
|
||||
ast_sockaddr_is_any(addrs) ||
|
||||
pjmedia_sdp_media_find_attr2(stream, "sendonly", NULL) ||
|
||||
pjmedia_sdp_media_find_attr2(stream, "inactive", NULL)) {
|
||||
if (!session_media->remotely_held) {
|
||||
session_media->remotely_held = 1;
|
||||
session_media->remotely_held_changed = 1;
|
||||
}
|
||||
} else if (session_media->remotely_held) {
|
||||
session_media->remotely_held = 0;
|
||||
session_media->remotely_held_changed = 1;
|
||||
}
|
||||
} else if (session_media->remotely_held) {
|
||||
session_media->remotely_held = 0;
|
||||
session_media->remotely_held_changed = 1;
|
||||
}
|
||||
|
||||
if (set_caps(session, session_media, session_media_transport, stream, 1, asterisk_stream)) {
|
||||
|
|
Loading…
Reference in New Issue