Asterisk - подправить контекст
Есть контекст, в который приходят входящие звонки:
[from-trunk044]
exten => _X.,1, Set (CALLERID (num)=${CALLERID (num)})
;same => n, Set (CALLERID (name)=044); имя транка + номер сессии
same => n, Set (CDR (userfield)=${EXTEN})
same => n, Set (CDR (accountcode)=${CALLERID (dnid)})
same => n, GotoIf (${DB_EXISTS (vipclient/${CALLERID (num)})}?nashel); Поиск по базе
same => n, NoOp (== Номер не найден ==)
same => n, Goto (ne-nashel)
same => n (nashel), Set (vnutr-nomer=${DB (vipclient/${CALLERID (num)})}); Получаем внутренний номер
same => n, NoOp (== ${vnutr-nomer} ==)
same => n, Dial (IAX2/${vnutr-nomer},14, Tt, g)
same => n, Goto (ext-group,601,1)
same => n (ne-nashel), Goto (from-trunk,${EXTEN},1)
Нужно сделать такую логику:
1. сначала срабатывает та логика, что уже прописана — тоесть если человека набирали (он есть в базе), то звонок сразу идет тому, кто набирал,
2. если этот новый звонок — делается рандомный выбор из номеров sip 2011 — 2020
должен звонить один из телефонов в случайном порядке, причем телефон должен быть онлайн
если в течении 10 секунд человек не ответил на звонок — все падает на ринг-группу 601 (как сейчас и прописано)