Доброго вечера, коллеги.
Подскажите пожалуйста, кто может.
Есть задача - произвести небольшую интеграцию с самописной ЦРМ системой.
Суть интеграции - при входящем звонке на Астериск-сервер открывать карточку звонящего, ориентируясь на номер телефона.
Операторы, принимающие звонок, находятся в очереди. стратегия очереди - ringall, Операторы пользуются SIP телефонами.
С помощью каких средств это делается? Как лучше получить список текущих звонков очереди? Как "на лету" подхватить событие ответа оператора очереди и определить какой конкретный оператор ответил на звонок, чтобы открыть карточку именно ему?
Куда копать? Какими средствами это можно осуществить наиболее оптимизировано в плане стабильности и ресурсозатраности?
Экшен QueueStatus, ивент AgentConnect, становиться в очередь через экшен QueueAdd с указанием в membername id оператора, который в данный момент сидит за конкретным интерфейсом (телефоном). При AgentConnect парсить membername и вытаскивать этот id. Если в канал ставятся какие-то нужные для crm переменные, то эти переменные вытаскивать через action Status после получения agentconnect списком. Это как пример.