В исходном файле Freeswitch switch_ivr_originate. c вы можете увидеть реализацию этого.
Переменная retries
инициализируется со значением 1.
Когда вы Исходящий вызов проверит, если значение больше 0 и меньше 101.
if ((var_val = switch_event_get_header(var_event, "originate_retries")) &&
switch_true(var_val)) {
int32_t tmp;
tmp = atoi(var_val);
/* allow large number of retries if timeout is set */
if (tmp > 0 && (retry_timelimit_sec > 0 || tmp < 101)) {
retries = tmp;
} else {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING,
"Invalid originate_retries setting of %d ignored, value must be
between 1 and 100\n", tmp);
}
}
Так что, если вы установите originate_retries=0
, оно будет фактически установлено на 1.
И наконец, он будет выполняться origin l oop retries
раз.
for (try = 0; try < retries; try++) {
...