我需要设置一个运行 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
...
而且,这个方法非常有效。