zzuz писал(а):Избавьте от непонятной строки
exten => _900XXXXX,1,Wait(${EXTEN:3:2})
Ваше жонглирование цифрами безусловно впечатляет , но это только усложняет Вам жизнь.
Тогда остальной текст теряет смысл...
Вопрос собственно в другом, как сделать прогресс-серийное искание в астериск на подобие классической атс?
Тоесть нужно звонить скажем секретарю, если нет ответа звоним секретарю и менеджерам, если не отвечают, добавляем еще кого-то...
Для такой задачи есть 2 стандартных решения:
1) вариант описан выше.
Плюсы: Происходит один вызов с последовательным подключением абонентов, а значит пропушенный звонок бкдет у всех один и не будет эфекта множества вызовов.
Минусы: Если первые в списке абоненты отключены, то первый реальный звонок в офисе раздасться через продолжительное время ожидания звонящего.
2)
exten => 111,1,Noop()
same => Dial(SIP/101,15)
same => Dial(SIP/101$SIP/102,15)
same => Dial(SIP/101$SIP/102&SIP103,120)
------//--------
same => hangup()
Минусы: Впринципе это хороший вариант, но есть 2 нюанса, во первых между звонками есть хоть и не большая, но пауза и во вторых у первого абонента будет куча пропущеных вызовов, что не соответствует действительности.
Плюсы: если абонент 101 и 102 не зарегистрированы в сети, звонок сразу попадет абоненту 103.
Как то сумбурно получилось, но надеюсь смысл понятен.
Мне кажется задача объединения обоих способов не нова и достаточно стандартна, однако мне найти решение пока не удалось...
В принципе можно написать внешний скрипт, но очень хочется решить все средствами диалплана. дабы максимально сохранить читабельность...
Заранее благодарен за помощь.