Пул из нескольких DID-ов, ротируется между посетителями. Стандартный режим.
Стратегия выбора DID
На каждый запрос посетителя сервер пробует следующие фильтры по порядку (FOR UPDATE SKIP LOCKED):
- Static (если включён
static_mode) → первый DID пула. - Sticky (если включён
sticky_enabled+ есть pin для uid_view) → тот же DID что и в прошлый визит. - Per-UTM (если у посетителя
utm_cmp=calltr_utm_campaignна DID) → точное совпадение. - A/B (если в пуле есть DID с
calltr_ab_variant) → hash(uid_view) % count выбирает вариант. - Перебор стратегий: city+utm_group → region+utm_group → utm_group → city+any → region+any → any.
- В каждой стратегии — LRU (наиболее давно не использованный DID).
- Fallback 1 —
reserve_numberисточника. - Fallback 2 — capacity guard: первый DID тенанта.
Освобождение DID
DID помечен busy на default_timeout минут (по умолчанию 10). По истечении возвращается в available. Чужие просроченные брони чистятся при каждом запросе.