Есть контекст, в который приходят входящие звонки:

[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 (как сейчас и прописано)

11 лет назад
VVitovt
Тицкий 
42 года
14 лет в сервисе
Был
год назад

Выбранный исполнитель

lstep
37 лет
12 лет в сервисе
Был
5 лет назад
11 лет назад
$50
1 день
Задача выполнена в срок и в полном объеме. Степан всегда был на связи и постоянно держал в курсе дел. По ходу возникло много непредвиденых обстоятельств (отстутсвие доступа на сервер, отключение электричества, неадекватное реагирование сервера на настройки), но несмотря на все это, Степан терпеливо и вежливо держал комуникацию и исправил все доработки. Рекомендую к сотрудничеству.
Приятно иметь дело с человеком обладающим техническими знаниями. Рекомендую Виталия как заказчика, чёткие и подробные ТЗ. Спасибо за сотрудничество.

Заявки фрилансеров

lstep
37 лет
12 лет в сервисе
Был
5 лет назад
11 лет назад