Freeswitch - 如何为每个新的拨出电话强制建立新的 TCP/TLS 连接?

Freeswitch - How to force new TCP/TLS connection for every new outgoing call?

我正在向具有两个节点的负载平衡 SBC 发出传出呼叫。由于 freeswitch 为每个传出呼叫重复使用 SBC 的相同开放 TCP/TLS 套接字,因此负载不会分布在 SBC 的两个节点上。所有调用都转到同一个节点。

如果我可以强制每个新调用使用不同的 TCP 连接,负载将得到平均分配。是否有任何配置使这成为可能?

我查看了相关的 conf 文件设置,看起来没有任何希望。

我最终找到了答案,但不记得我曾在此处发布问题。虽然答案不是很有用。

Freeswitch 每次都会使用 sip_profiles 下网关定义中的 "reuse-connections" 字段来使用新连接。

<gateway name="{{unique_gw_name}}">
    <param name="username" value="test"/>
    <param name="password" value="test"/>
    <param name="proxy" value="{{ip_address}};transport=tcp"/>
    <param name="realm" value="*"/>
    <param name="register" value="false" />
    <param name="reuse-connections" value="false"/>
    <param name="auth-calls" value="false"/>
    <param name="caller-id-in-from" value="true"/>
</gateway>

然而,这将收效甚微。 SIP 呼叫将包含至少两个 SIP 对话,一个用于 INVITE,另一个用于 BYE。如果使用不同的连接,INVITE 可能会转到一个 SBC,而 BYE 可能会转到另一个 SBC。所以整个事情都会失败。这不是实现负载均衡的正确方法。