res_pjsip_sdp_rtp.c: Use correct timeout when put on hold.
When a call is put on hold and it has moh_passthrough and rtp_timeout set on the endpoint, the wrong timeout will be used. rtp_timeout_hold is expected to be used, but rtp_timeout is used instead. This change adds a couple of checks for locally_held to determine if rtp_timeout_hold needs to be used instead of rtp_timeout. ASTERISK-30350 Change-Id: I7b106fc244332014216d12bba851cefe884cc25f
This commit is contained in:
parent
4168fa3466
commit
1adefb886a
|
@ -2240,9 +2240,9 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session,
|
|||
* instance itself.
|
||||
*/
|
||||
ast_rtp_instance_set_timeout(session_media->rtp, 0);
|
||||
if (session->endpoint->media.rtp.timeout && !session_media->remotely_held) {
|
||||
if (session->endpoint->media.rtp.timeout && !session_media->remotely_held && !session_media->locally_held) {
|
||||
ast_rtp_instance_set_timeout(session_media->rtp, session->endpoint->media.rtp.timeout);
|
||||
} else if (session->endpoint->media.rtp.timeout_hold && session_media->remotely_held) {
|
||||
} else if (session->endpoint->media.rtp.timeout_hold && (session_media->remotely_held || session_media->locally_held)) {
|
||||
ast_rtp_instance_set_timeout(session_media->rtp, session->endpoint->media.rtp.timeout_hold);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue