让带有 TLS 的 PJSIP 与 FreePBX 上的 Twilio SIP 中继配合使用

让带有 TLS 的 PJSIP 与 FreePBX 上的 Twilio SIP 中继配合使用

我想知道是否有人可以帮助我调试我遇到的这个问题。我正在尝试使用 PJSIP 堆栈在我的 FreePBX 服务器和 Twilio 之间建立安全中继设置。

未加密的中继在 UDP 上工作正常。但是,当我尝试启用 TLS/SRTP 时,似乎无法使其工作。一旦我将中继更新为使用 5061 和 TLS 传输,我在 Asterisk 日志中就会收到以下内容。

WARNING[5268] pjproject: tsx0x27c4cd8 .Failed to send Request msg OPTIONS/cseq=28056 (tdta0x26d3af0)! err=171064 (Unsuitable transport selected (PJSIP_ETPNOTSUITABLE))
ERROR[5268] res_pjsip.c: Error 171064 'Unsuitable transport selected (PJSIP_ETPNOTSUITABLE)' sending OPTIONS request to endpoint Twilio

我认为问题可能是 PJSIP 不支持通配符 SSL 证书,而 Twilio 使用通配符 SSL 证书,但我不确定如何确定。任何有关如何调试此问题的想法都将非常有帮助。

更新:我直接在 asterisk 配置文件中调整了一些 URI,现在我已经解决了不合适的传输错误。新的错误正如我所担心的那样:

ERROR[524] pjproject: RFC 5922 (section 7.2) does not allow TLS wildcard certificates. Advise your SIP provider, please!

关于如何解决这个问题有什么想法吗?

答案1

与 Twilio 支持人员沟通后,发现加密 SIP 中继仅支持 PJSIP 2.5.5 或更高版本。我在运行 2.5.5 的 FreePBX Distro 的 Alpha 版本上对其进行了测试,它仍然抱怨通配符证书,但它允许呼叫通过。

当然,较旧的 chan_sip 模块可与任何现代版本的 FreePBX 上的加密中继一起使用。

相关内容