mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	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:
		| @@ -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); | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user