@ -9114,8 +9114,12 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
nextm = get_sdp_iterate ( & next , req , " m " ) ;
/* Search for audio media definition */
if ( ( sscanf ( m , " audio %30u/%30u RTP/%4s %n " , & x , & numberofports , protocol , & len ) = = 3 & & len > 0 & & x ) | |
( sscanf ( m , " audio %30u RTP/%4s %n " , & x , protocol , & len ) = = 2 & & len > 0 & & x ) ) {
if ( ( sscanf ( m , " audio %30u/%30u RTP/%4s %n " , & x , & numberofports , protocol , & len ) = = 3 & & len > 0 ) | |
( sscanf ( m , " audio %30u RTP/%4s %n " , & x , protocol , & len ) = = 2 & & len > 0 ) ) {
if ( x = = 0 ) {
ast_log ( LOG_WARNING , " ignoring 'audio' media offer because port number is zero " ) ;
continue ;
}
if ( ! strcmp ( protocol , " SAVP " ) ) {
secure_audio = 1 ;
} else if ( strcmp ( protocol , " AVP " ) ) {
@ -9142,12 +9146,16 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
}
if ( debug )
ast_verbose ( " Found RTP audio format %d \n " , codec ) ;
ast_rtp_codecs_payloads_set_m_type ( & newaudiortp , NULL , codec ) ;
}
/* Search for video media definition */
} else if ( ( sscanf ( m , " video %30u/%30u RTP/%4s %n " , & x , & numberofports , protocol , & len ) = = 3 & & len > 0 & & x ) | |
( sscanf ( m , " video %30u RTP/%4s %n " , & x , protocol , & len ) = = 2 & & len > = 0 & & x ) ) {
} else if ( ( sscanf ( m , " video %30u/%30u RTP/%4s %n " , & x , & numberofports , protocol , & len ) = = 3 & & len > 0 ) | |
( sscanf ( m , " video %30u RTP/%4s %n " , & x , protocol , & len ) = = 2 & & len > 0 ) ) {
if ( x = = 0 ) {
ast_log ( LOG_WARNING , " ignoring 'video' media offer because port number is zero " ) ;
continue ;
}
if ( ! strcmp ( protocol , " SAVP " ) ) {
secure_video = 1 ;
} else if ( strcmp ( protocol , " AVP " ) ) {
@ -9178,8 +9186,12 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_rtp_codecs_payloads_set_m_type ( & newvideortp , NULL , codec ) ;
}
/* Search for text media definition */
} else if ( ( sscanf ( m , " text %30u/%30u RTP/AVP %n " , & x , & numberofports , & len ) = = 2 & & len > 0 & & x ) | |
( sscanf ( m , " text %30u RTP/AVP %n " , & x , & len ) = = 1 & & len > 0 & & x ) ) {
} else if ( ( sscanf ( m , " text %30u/%30u RTP/AVP %n " , & x , & numberofports , & len ) = = 2 & & len > 0 ) | |
( sscanf ( m , " text %30u RTP/AVP %n " , & x , & len ) = = 1 & & len > 0 ) ) {
if ( x = = 0 ) {
ast_log ( LOG_WARNING , " ignoring 'text' media offer because port number is zero " ) ;
continue ;
}
if ( p - > offered_media [ SDP_TEXT ] . order_offered ) {
ast_log ( LOG_WARNING , " Multiple text streams are not supported \n " ) ;
res = - 3 ;
@ -9204,8 +9216,12 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_rtp_codecs_payloads_set_m_type ( & newtextrtp , NULL , codec ) ;
}
/* Search for image media definition */
} else if ( ( ( sscanf ( m , " image %30u udptl t38%n " , & x , & len ) = = 1 & & len > 0 & & x ) | |
( sscanf ( m , " image %30u UDPTL t38%n " , & x , & len ) = = 1 & & len > 0 & & x ) ) ) {
} else if ( ( ( sscanf ( m , " image %30u udptl t38%n " , & x , & len ) = = 1 & & len > 0 ) | |
( sscanf ( m , " image %30u UDPTL t38%n " , & x , & len ) = = 1 & & len > 0 ) ) ) {
if ( x = = 0 ) {
ast_log ( LOG_WARNING , " ignoring 'image' media offer because port number is zero " ) ;
continue ;
}
if ( initialize_udptl ( p ) ) {
continue ;
}