@ -2650,9 +2650,15 @@ static int __rtp_sendto(struct ast_rtp_instance *instance, void *buf, size_t siz
# ifdef HAVE_PJPROJECT
if ( transport_rtp - > ice ) {
enum ast_rtp_ice_component_type component = rtcp ? AST_RTP_ICE_COMPONENT_RTCP : AST_RTP_ICE_COMPONENT_RTP ;
pj_status_t status ;
struct ice_wrap * ice ;
/* If RTCP is sharing the same socket then use the same component */
if ( rtcp & & rtp - > rtcp - > s = = rtp - > s ) {
component = AST_RTP_ICE_COMPONENT_RTP ;
}
pj_thread_register_check ( ) ;
/* Release the instance lock to avoid deadlock with PJPROJECT group lock */
@ -2661,8 +2667,7 @@ static int __rtp_sendto(struct ast_rtp_instance *instance, void *buf, size_t siz
if ( instance = = transport ) {
ao2_unlock ( instance ) ;
}
status = pj_ice_sess_send_data ( ice - > real_ice ,
rtcp ? AST_RTP_ICE_COMPONENT_RTCP : AST_RTP_ICE_COMPONENT_RTP , temp , len ) ;
status = pj_ice_sess_send_data ( ice - > real_ice , component , temp , len ) ;
ao2_ref ( ice , - 1 ) ;
if ( instance = = transport ) {
ao2_lock ( instance ) ;