Нужно обязательно в messages? Можно например проверять при исходящем звонке агента и сравнивать с предварительно внесенными данными в базу (тот же AstDB подойдет) и при несовпадении банить
Не обязательно. Сейчас по юзерагенту блочит макрос только при исходящем звонки. Хотел блокировать на этапе регистрации.
А может блокировать на этапе iptables, обычно так делают
Я так и хотел сделать через fail2ban, ловить поле User-agent в логах Астериска и банить по IP, если не проходит проверку. Но, как я понял, в лог нельзя вывести поле User-agent.
Есть рабочий вариант через macros, который вешается на исходящий звонок и он потом блокируется, если User-agent не наш. Думал унифицировать инструменты блокировки до одного fail2ban.