diff --git a/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c b/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c index 71908b36f0..9fe1fbef42 100644 --- a/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c +++ b/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c @@ -380,6 +380,12 @@ static int parse_exten(switch_core_session_t *session, switch_caller_profile_t * if ((all && !fail) || (!all && pass)) { anti_action = SWITCH_FALSE; } + if (all && total != pass) { + proceed = 1; + pass = 0; + fail++; + anti_action = SWITCH_TRUE; + } } switch_safe_free(field_expanded);