KAZOO, FreeSWITCH и NAT-to-NAT
В современных облаках типичной ситуацией является использование приватных адресов на экземплярах машин и отображение (трансляция) «реального» публичного адреса. В случае SIP это регулярно приводит к ситуации NAT-to-NAT, когда есть и near-end и far-end трансляция. В результате нередки ошибки при отправке SDP.
FreeSWITCH не будет использовать код для NAT и не будет подставлять корректный адрес из ext-rtp-ip в строки «c» предложения SDP так как в качестве списка доступа (ACL) local-network-acl используется список по-умолчанию localnet.auto. Так как Kamailio находится в этой же сети, FreeSWITCH считает что это не тот случай чтобы заморачиваться с NAT. Чтобы это исправить нужно написать другой ACL, который не будет включать локальную сеть в облаке.
<configuration name="acl.conf" description="Network Lists"> <network-lists> <list name="localnet.custom" default="allow"> <node type="deny" cidr="xx.xx.xx.xx/yy"/> </list> </network-lists> </configuration>
Также нужно быть аккуратными с настройкой ext-sip-ip и ext-rtp-ip в SIP-интерефейсе