[OpenSIPS-Devel] [OpenSIPS/opensips] 3960f7: rtpproxy: Do not reconnect to all sets at once (do...

Liviu Chircu noreply at github.com
Mon Sep 5 08:56:58 UTC 2022


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 3960f7655e7d4e99bb9c36d75b48ffa784544650
      https://github.com/OpenSIPS/opensips/commit/3960f7655e7d4e99bb9c36d75b48ffa784544650
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
    M modules/rtpproxy/rtpproxy.c
    M modules/rtpproxy/rtpproxy.h

  Log Message:
  -----------
  rtpproxy: Do not reconnect to all sets at once (do it on-demand)

Following an MI reload, each OpenSIPS worker would reconnect to all
rtpproxies in all rtpproxy sets on the first offer/answer/engage
function call.  This behavior scales poorly with the number of rtpproxy
sets, especially if multiple sets are used only for different public IP
address advertising purposes, while reusing the rtpproxy comms socket.

This commit adds on-demand reconnects, such that only the desired set is
reconnected in a SIP worker following the reload.  This allows the sets
in the "rtpproxy_sockets" table to scale freely, without introducing
excessive latencies on the first slew of calls following a reload
operation.

Possible further optimization: do the reconnect at node level!





More information about the Devel mailing list