Asterisk Динамические агенты для очередей
Я хочу улучшить свой IVR за счет использования очередей с динамическими членами. Я провел некоторое исследование, которое привело меня к моему мнению, что это определенно возможно, но я также не могу понять, каков наилучший способ сделать это.
Я работал с queues.conf и agents.conf, чтобы сделать его (test-) функциональным со статическими членами, но я хочу:
Агенты должны войти / выйти в одну очередь через свои телефоны, по номеру и паролю, когда они доберутся до своего рабочего стола.
Итак, как мне обращаться и как должна выглядеть функция в extensions.conf? Вход / выход с несколькими очередями не требуется. Каждый агент имеет только одну очередь, с которой он или она работает одновременно
Я видел некоторые посты, которые определяют AgentLogin(), но также и некоторые, которые вызывают GotoIf($REGEX...) как функцию для использования.
Как относительный новичок я запутался.
Спасибо за помощь
редактировать
<<>>
Редактировать 2
extensions.conf
[test]
exten => *300,1,NoOp(login/logout)
${DB(Queue/PersistentMembers/empfang)}
${REGEX("PJSIP/1001"),${DB(/Queue/PersistentMembers/empfang)}}
same => n,GotoIf(${REGEX("PJSIP/1001",${DB(Queue/PersistentMembers/empfang)})}?*300-logout,1:*300-login,1)
same => n,Hangup
exten => *300-logout,1,NoOp(1001 exists, logout)
same => n,RemoveQueueMember(empfang,PJSIP/1001)
same => n,Playback(beep)
same => n,Hangup()
exten => *300-login,1,NoOp(1001 doesn't exists, login)
same => n,AddQueueMember(empfang,PJSIP/1001)
same => n,Playback(beep)
same => n,Hangup()
Но как, черт возьми, я могу добавить детали из agents.conf??
Редактировать 3
Если бы я работал с кодом из правки 2, как мне динамически изменить очередь? В моей существующей конфигурации у меня 17 очередей, и я не хочу повторять все строки из редактирования 2 для каждой очереди.
заранее спасибо
1 ответ
Пожалуйста, прочитайте документы по адресу https://wiki.asterisk.org/wiki/display/AST/Building+Queues... у них есть хорошее начало для полного входа / выхода из нескольких очередей.