Статья №233
IVR - Переключение на групповой номер с определением поднявшего трубку
При звонке на групповой номер, необходимо получить информацию кто из пользователей поднял трубку.
Для получения информации о том, какой оператор поднял трубку в случае с групповым номером, нужно воспользоваться SQL запросом. В сценариях IVR нам в этом поможет компонент под названием "SQL запрос".
Рассмотрим данную задачу на примере сценария "(пример)переключение на групповой"

После компонента "Переключение" используем компонент "присвоение", где переменной (в нашем случае idchain) присвоим значение "Id цепочки коммутаций", для дальнейшего анализа.
Следующем шагом используем компонент пауза. Время задержки устанавливаем на 300мс. Эта задержка необходима что бы в таблице появились актуальные строки с данными о звонке.

Затем используем 2 компонента "SQL запрос".В первом SQL запросе по входному параметру idchain получаем iduser и username.
Тело SQL запроса:
"select @x1=u.id, @x2=u.name from a_users u inner join A_Stat_Connections_1x1 conn on conn.buserid=u.id and idChain=@y and BUserId != 'AB000000-0000-0000-0000-000000000000' and AUserId='BF000000-0000-0000-0000-000000000000' order by timeanswer desc"
Во втором SQL запросе по входному параметру iduser получаем номер пользователя — number
Тело SQL запроса:
"select @x=prefix from A_NumberPlan np inner join A_NumberPlanAction npa on np.id=npa.numid and npa.numtype=0 inner join A_RuleRecords rr on rr.ruleid=npa.extraid inner join a_users u on u.id=rr.reactid and rr.reactid=@uid where rr.ruleid in (select ruleid from A_RuleRecords group by ruleid having count(*)=1)"
Затем формируем уведомление, с информацией о том какой именно оператор ответил на входящий звонок.

групповой номер, оператор, уведомление, сотруднику