From c3d571f33581b6b31f82dc3c69d84b43590b0ccb Mon Sep 17 00:00:00 2001 From: Luke Escude Date: Wed, 19 Jan 2022 17:33:51 -0500 Subject: [PATCH] res_pjsip_sdp_rtp.c: Support keepalive for video streams. ASTERISK-28890 #close Change-Id: Iad269a8dc36f892ede90fe8ceb3010560c0f70d1 --- res/res_pjsip_sdp_rtp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/res/res_pjsip_sdp_rtp.c b/res/res_pjsip_sdp_rtp.c index a5e0b78c72..e1d1701411 100644 --- a/res/res_pjsip_sdp_rtp.c +++ b/res/res_pjsip_sdp_rtp.c @@ -2173,7 +2173,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session, ast_rtp_instance_activate(session_media->rtp); /* audio stream handles music on hold */ - if (media_type != AST_MEDIA_TYPE_AUDIO) { + if (media_type != AST_MEDIA_TYPE_AUDIO && media_type != AST_MEDIA_TYPE_VIDEO) { if ((pjmedia_sdp_neg_was_answer_remote(session->inv_session->neg) == PJ_FALSE) && (session->inv_session->state == PJSIP_INV_STATE_CONFIRMED)) { ast_queue_control(session->channel, AST_CONTROL_UPDATE_RTP_PEER); @@ -2205,7 +2205,8 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session, session_media->encryption = session->endpoint->media.rtp.encryption; if (session->endpoint->media.rtp.keepalive > 0 && - session_media->type == AST_MEDIA_TYPE_AUDIO) { + (session_media->type == AST_MEDIA_TYPE_AUDIO || + session_media->type == AST_MEDIA_TYPE_VIDEO)) { ast_rtp_instance_set_keepalive(session_media->rtp, session->endpoint->media.rtp.keepalive); /* Schedule the initial keepalive early in case this is being used to punch holes through * a NAT. This way there won't be an awkward delay before media starts flowing in some -- 2.47.2