Asterisk 是否绝对需要 Twilio 的对称 RTP?

Asterisk 是否绝对需要 Twilio 的对称 RTP?

问题如上所述。我找不到让 Twilio 和 Asterisk (v.20.7) 实现双向音频的方法;除非启用它们的 SymmetricRTP 开关。我怀疑问题出在 SDP 握手上,但一切看起来都很好。

我的设置如下。

电话 -- Twilio -- 防火墙 -- Asterisk -- 软件电话(Twinkle)

目前,如果我在 Twillio 内部启用 SymmetricRTP,那么一切都会正常。但由于问题范围之外的原因,我无法依赖 Twilio 提供的交换机来解决可能的 NAT 问题。

这让我想到,Asterisk 在通过防火墙协商 Twilio 和自身之间的 SDP 连接时,错误地(或不正确地)重写了某些内容。防火墙具有与之关联的静态 IP 和域,我尝试将所有内容指向该 IP 和域,但似乎没有任何效果。

如果没有对称 RTP 交换机(电话发起的呼叫),我只能获得单向音频(软电话 -> 电话)。

我在星号配置中尝试过的开关包括:

  • external_media_address=mydomain.com
  • external_signaling_address=mydomain.com
  • rtp_symmetric=是&否
  • force_rport=yes & no
  • rewrite_contact=是 & 否

当前配置如下:
pjsip.conf(不包括:auth 和 localuser 组件)

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.64.0/22
external_media_address=mydomain.com
external_signaling_address=mydomain.com

[transport-tcp]
type=transport
protocol=tcp
bind=0.0.0.0
local_net=192.168.64.0/22
external_media_address=mydomain.com
external_signaling_address=mydomain.com

[twilio-trunk]
type=aor
contact=sip:mydomain.pstn.twilio.com

[twilio-trunk]
type=identify
endpoint=twilio-trunk
match=mydomain.pstn.twilio.com

[twilio-trunk]
type=endpoint
context=from-twilio
disallow=all
allow=ulaw
aors=twilio-trunk
outbound_auth=twilio-trunk-auth
from_domain=mydomain.pstn.twilio.com
rtp_symmetric=no
force_rport=no
rewrite_contact=no

rtp配置文件

[general]
rtpstart=6000
rtpend=60000

其余内容均为默认或未更改。Asterisk 从源代码安装到 ubuntu 22.04 系统上。

相关内容