mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	Add extended properties to rtp_engine for RTP retransmission support.
A couple of additional properties are needed in rtp_engine to enable support for packet retransmission: AST_RTP_PROPERTY_RETRANS_RECV and AST_RTP_PROPERTY_RETRANS_SEND. These will both be enabled automatically if an endpoint has the webrtc option enabled. While this adds no functionality currently, it will serve as a building block for future changes for RTP retransmission support. For more information, refer to the wiki page: https://wiki.asterisk.org/wiki/display/AST/WebRTC+User+Experience+Improvements Change-Id: Ic598acd042a045f9d10e5bdccb66f4efc9e587cc
This commit is contained in:
		
				
					committed by
					
						 Benjamin Keith Ford
						Benjamin Keith Ford
					
				
			
			
				
	
			
			
			
						parent
						
							d6d520a040
						
					
				
				
					commit
					0be1c388e4
				
			| @@ -122,6 +122,10 @@ enum ast_rtp_property { | ||||
| 	AST_RTP_PROPERTY_RTCP, | ||||
| 	/*! Enable Asymmetric RTP Codecs */ | ||||
| 	AST_RTP_PROPERTY_ASYMMETRIC_CODEC, | ||||
| 	/*! Enable packet retransmission for received packets */ | ||||
| 	AST_RTP_PROPERTY_RETRANS_RECV, | ||||
| 	/*! Enable packet retransmission for sent packets */ | ||||
| 	AST_RTP_PROPERTY_RETRANS_SEND, | ||||
|  | ||||
| 	/*! | ||||
| 	 * \brief Maximum number of RTP properties supported | ||||
|   | ||||
| @@ -219,10 +219,13 @@ static int create_rtp(struct ast_sip_session *session, struct ast_sip_session_me | ||||
| 			(session->endpoint->media.tos_audio || session->endpoint->media.cos_audio)) { | ||||
| 		ast_rtp_instance_set_qos(session_media->rtp, session->endpoint->media.tos_audio, | ||||
| 				session->endpoint->media.cos_audio, "SIP RTP Audio"); | ||||
| 	} else if (session_media->type == AST_MEDIA_TYPE_VIDEO && | ||||
| 			(session->endpoint->media.tos_video || session->endpoint->media.cos_video)) { | ||||
| 		ast_rtp_instance_set_qos(session_media->rtp, session->endpoint->media.tos_video, | ||||
| 				session->endpoint->media.cos_video, "SIP RTP Video"); | ||||
| 	} else if (session_media->type == AST_MEDIA_TYPE_VIDEO) { | ||||
| 		ast_rtp_instance_set_prop(session_media->rtp, AST_RTP_PROPERTY_RETRANS_RECV, session->endpoint->media.webrtc); | ||||
| 		ast_rtp_instance_set_prop(session_media->rtp, AST_RTP_PROPERTY_RETRANS_SEND, session->endpoint->media.webrtc); | ||||
| 		if (session->endpoint->media.tos_video || session->endpoint->media.cos_video) { | ||||
| 			ast_rtp_instance_set_qos(session_media->rtp, session->endpoint->media.tos_video, | ||||
| 					session->endpoint->media.cos_video, "SIP RTP Video"); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	ast_rtp_instance_set_last_rx(session_media->rtp, time(NULL)); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user