LINUX.ORG.RU

asterisk распределение звонков по динамически создаваемым группам

 


0

1

Здравствуйте. Сейчас все входящие звонки направляем в отдельный контекст, который вызывает 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 уже в нее?


Очевидно сделать регистрацию и смену/проверку статус конкретного оператора. По желанию в случае фейла пометить как недоступного и сделать новую выборку. Ну и вообще пропуск звонков карается очень жоска в коллцентре.

anonymous
()