Почему RTP пакеты в Asterisk проходят только в одну сторону?
На VMWARE стояла виртуальная машина с asterisk, все работало на ней отлично, решил поставить еще одну. VMWARE выступает в роли NAT, через нее пробрасываются порты. Но со второй машиной rtp-пакеты уходят только в одну стороны, от машины, но не приходят к ней, конфиг такой же за исключением bind-port и extern-ip, где указаны другие порты, отличные от 5060. Ну и соответственно открыты разные порты для rtp.conf на разных машинах. В чем может быть загвоздка? VMWARE стоит на windows server 2012 r2, может стоит копаться в настройках службы удаленного доступа и маршрутизации?
Не совсем так, VMWARE создает виртуальный NAT, к нему подключаются все его машины. Проблему решил созданием правила в брандмауэре виндовс, раньше делал правило только для udp-портов одной машины, а теперь добавил udp-порты второй машины и заработало. Просто забыл про брандмауэр. Спасибо за участие.
RTP-соединение НАТится в несовпадающие порты до и после ната. Вам нужен SIP/RTP-прокси, который умеет изменять на лету SIP-пакеты и открывать соответствующие согласованным порты NAT для проксируемого астериска. С первым вам просто повезло, что по умолчанию (поведение наблюдал на CentOS7) при попытке НАТить соединение, проверяется, можно ли не изменять порт, и если да, в него и НАТится. Как альтернативу, укажите другой диапазон RTP-портов на втором астериске, и выделите проброс портов на НАТе в неизменном виде до этой ВМ, то же с SIP-портом, может даже сработать.