Приветствую.
Не очень много работал с механикой очередей, поэтому прошу подсказать знающих людей.
Задачка примерно такая:
Звонит человек, попадает в очередь. Пока он звонит и попадает, идет вызов другому человеку, он авторизуется и должен попасть в эту очередь как агент (chan_agent). Почему как агент - в случае прихода второго вызова, агент не должен класть трубку для его приема, достаточно либо жмакнуть "*", либо собеседнику положить трубку.
При этом всем, все - realtime.
Идея реализации на данный момент:
По входящему звонку создается очередь и туда помещается звонящий. В это же время через originate вызывается вторая сторона, авторизуется (все просто, через Read), через realtime создается queue_member вида Agent/<uuid>, потом вторая сторона делает AgentLogin(<uuid>) и начинает принимать звонки.
Затык в чем. Агенты описываются в файле agents.conf, к которому realtime не прикручен. Можно писать в файл и передергивать конфигурацию, но мне это видится костылем. Можно пытаться лепить через конференции, но это костыль еще хуже, как по мне.
Или может я не в ту сторону копаю?