Merge "res_pjsip_t38: T.38 error correction mode selection at 200 ok received" into 13

13.30
Joshua Colp 6 years ago committed by Gerrit Code Review
commit 032f5d8971

@ -702,12 +702,32 @@ static void t38_interpret_sdp(struct t38_state *state, struct ast_sip_session *s
state->their_parms.rate_management = AST_T38_RATE_MANAGEMENT_TRANSFERRED_TCF;
}
} else if (!pj_stricmp2(&attr->name, "t38faxudpec")) {
if (!pj_stricmp2(&attr->value, "t38UDPRedundancy")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_REDUNDANCY);
} else if (!pj_stricmp2(&attr->value, "t38UDPFEC")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_FEC);
if (session->t38state == T38_LOCAL_REINVITE) {
if (session->endpoint->media.t38.error_correction == UDPTL_ERROR_CORRECTION_FEC) {
if (!pj_stricmp2(&attr->value, "t38UDPFEC")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_FEC);
} else if (!pj_stricmp2(&attr->value, "t38UDPRedundancy")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_REDUNDANCY);
} else {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_NONE);
}
} else if (session->endpoint->media.t38.error_correction == UDPTL_ERROR_CORRECTION_REDUNDANCY) {
if (!pj_stricmp2(&attr->value, "t38UDPRedundancy")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_REDUNDANCY);
} else {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_NONE);
}
} else {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_NONE);
}
} else {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_NONE);
if (!pj_stricmp2(&attr->value, "t38UDPRedundancy")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_REDUNDANCY);
} else if (!pj_stricmp2(&attr->value, "t38UDPFEC")) {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_FEC);
} else {
ast_udptl_set_error_correction_scheme(session_media->udptl, UDPTL_ERROR_CORRECTION_NONE);
}
}
}

Loading…
Cancel
Save