Делаю автоотзвон, надо понять, взял ли клиент трубку или оператор ответил типа «Телефон абонента выключен или находится вне зоны действия сети».
Отзвон генерирую через AMI, потом слежу за его статусом.
Если взял трубку, приходит OriginateResponse c reason == 4 (всё хорошо).
Если не взял трубку, приходит OriginateResponse c reason == 3 (всё плохо).
Если сбросил трубку, приходит OriginateResponse c reason == 4, т.к. за меня её берёт оператор и отвечает мол абонент сейчас занят.
Как распознать реальный ответ абонента от ответа оператора? Может быть есть какие-то настройки в gsm шлюзе? Железо neogate tg200.
Причём в случае, если трубку не брать, её возьмёт оператор и попросит оставить сообщение после гудка, но каким-то образом в этом случае reason приходит 3.
Задача вроде простая и распространённая, но ответа нигде не нашёл.