Я пытаюсь настроить ящик Asterisk (Elastix) для приема вызовов SIP от поставщика без необходимости allowguest=yes
быть включенным в sip.conf
.
Обычно провайдер SIP-транка использует несколько IP-адресов для отправки звонков на нашу АТС и поэтому без соответствия host=
поле, вызов сбрасывается. Однако, включив allowguest=yes
, любой желающий может звонить на нашу АТС. Мы могли бы использовать межсетевой экран для УАТС, чтобы разрешить входящий SIP только от нашего провайдера, но это не позволяет нашим SIP-телефонам регистрироваться в любой точке мира.
Это, должно быть, обычная проблема, и я вижу в прошлом, что Asterisk не поддерживал утверждение host={subnet}
или несколько host=
записи. Так ли это до сих пор? Как мне обойти эту проблему?
Правильное решение - запросить у провайдера все ips и добавить все как trunk1-trunk2 ... trunkX
Я думаю ты можешь установить host=dynamic
и ограничить доступ с помощью permit
/deny
статьи, например:
[trunk]
...
host=dynamic
deny=0.0.0.0/0.0.0.0 ; deny access
permit=192.168.0.0/255.255.255.0 ; allow 192.168.0.0/24 subnet
...
Кроме того, вы можете легко настроить цепочку iptables, чтобы ограничить доступ к 5060 port
(или какой у вас порт SIP), что вам в любом случае следует сделать.