如何在 Windows 版 Docker 上设置 Asterisk NAT

如何在 Windows 版 Docker 上设置 Asterisk NAT

我需要设置一个运行 Asterisk PBX 的 docker 容器。

问题是我在 sdp 回复中收到了错误的 IP。事实上,Asterisk 使用的是容器内部 IP。

第二个问题是我必须使用适用于 Windows 的 docker,因此我不能使用 —net=host

因此我尝试在 asterisk 中设置 nat,在 sip.conf 中设置如下:

nat = force_rport,comedia
localnet = 172.17.0.0/16
externaddr = 192.165.10.206

但它似乎什么也没做。

我在这里错过了什么?

PS:我正在使用 Asterisk 15

答案1

我的配置如下:

docker-compose

  asterisk:
    image: asterisk:testing
    ports:
     - "5060:5060/udp"
     - "5060:5060/tcp"
     - "10000-10099:10000-10099/udp"
     - "8088:8088"
     - "8089:8089"
    volumes:
     - "./asterisk/conf:/etc/asterisk"
    labels:
     - "traefik.enable=false"

这使我能够打开必要的端口。

在我的 sip.conf 中,我有以下内容:

[general]
externip = 192.168.1.61
localnet=192.168.0.0/255.255.0.0;
nat=yes

...

而且,这个方法非常有效。

相关内容