switch_set_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_SEND);
switch_set_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_RECV);
switch_set_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_MITM);
- rtp_session->zrtp_mitm_tries = 0;
if (zrtp_status_ok == zrtp_session_get(rtp_session->zrtp_session, &zrtp_session_info)) {
if (zrtp_session_info.sas_is_ready) {
switch_clear_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_SEND);
switch_clear_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_RECV);
switch_clear_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_MITM);
+ rtp_session->zrtp_mitm_tries = 0;
break;
case ZRTP_EVENT_NO_ZRTP:
break;
if (zrtp_on && switch_test_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_MITM) && switch_test_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_RECV)) {
frame->extra_data = rtp_session->zrtp_ctx;
switch_set_flag(frame, SFF_ZRTP);
- if (rtp_session->zrtp_mitm_tries > 1) {
+ if (rtp_session->zrtp_mitm_tries > 10) {
switch_clear_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_MITM);
rtp_session->zrtp_mitm_tries = 0;
}
#ifdef ENABLE_ZRTP
if (zrtp_on && switch_test_flag(frame, SFF_ZRTP) && switch_test_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_SEND)) {
zrtp_resolve_mitm_call(frame->extra_data, rtp_session->zrtp_ctx);
- switch_clear_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_MITM);
- rtp_session->zrtp_mitm_tries = 0;
+ if (rtp_session->zrtp_mitm_tries > 10) {
+ switch_clear_flag(rtp_session, SWITCH_ZRTP_FLAG_SECURE_MITM);
+ rtp_session->zrtp_mitm_tries = 0;
+ }
+ rtp_session->zrtp_mitm_tries++;
}
#endif