我想知道是否有人可以帮助我调试我遇到的这个问题。我正在尝试使用 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 使用的是通配符,但我不确定如何确定。关于如何调试它的任何想法都会非常有帮助。
更新:我直接在星号配置文件中调整了一些 URI,现在我已经克服了不合适的传输错误。新的错误正如我所担心的那样:
ERROR[524] pjproject: RFC 5922 (section 7.2) does not allow TLS wildcard certificates. Advise your SIP provider, please!
关于如何解决这个问题的任何想法?
与 Twilio 支持通话后,加密的 SIP 中继仅在 PJSIP 2.5.5 或更高版本上受支持。我在运行 2.5.5 的 FreePBX Distro 的 Alpha 版本上对其进行了测试,它仍然抱怨通配符证书,但它允许调用通过。
当然,旧版 chan_sip 模块适用于任何现代版本的 FreePBX 上的加密中继。