Здравствуйте. Сейчас все входящие звонки направляем в отдельный контекст, который вызывает agi скрипт для поиска во внешней базе. Результат этого скрипта - внутренний номер, на который должен быть направлен этот входящий снаружи вызов. Вот как это выглядит.
[client-in]
exten => s,1,AGI(2manager)
exten => s,n,Set(VOLUME(TX)=5)
exten => s,n,Set(VOLUME(RX)=5)
exten => s,n,Goto(from-internal,${EXTEN2},1)
Все работает, все хорошо.
Но часто бывает так, что недоступен сотрудник ${EXTEN2} - занят, отсутствует и т.п.
В таких случаях звонок нужно направить коллегам по его отделу. И вроде бы все просто - делаем или followme или сразу звонок посылаем в группу, а не конкретному сотруднику. Но.
Эти отделы постоянно меняются, расформировываются, создаются новые. Поэтому нужно на этапе exten => s,1,AGI(2manager) получать список номеров отдела. Это получим. Проблема в том, что после направления в from-internal с первым номером из списка - звонок там и останется со всей логикой from-internal. Рассматривал вариант вместо направления в from-internal делать dial на первый номер массива, через пять секунд на второй и т.д. Но в таком случае не отрабатывают стандартные freepbx скрипты - начать запись разговора, закончить, после разговора записать в базу результат звонка и т.д.
Можно ли как-то на ходу сформировать ринггруппу и направить вызов во from-internal уже в нее?