From b582f7ebc715ee8318e8c8f14d2d26c91de5d40a Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Fri, 6 Mar 2026 17:55:18 +0100 Subject: [PATCH] MT#64589 add rtp_interface sync multi site support * new function sync_rtp_interface() that, when multi site is enabled, adds the site name as a prefix for the generated rtp intefaces names (not their values), enabling the 'rtp_interface' preferences list to contain rtp_interfaces from all sites. Change-Id: I8b4e85541747dc46c76135ab05d4424ea79dcf39 --- helper/sync-db | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/helper/sync-db b/helper/sync-db index 8c0df287..60f21c7a 100755 --- a/helper/sync-db +++ b/helper/sync-db @@ -230,6 +230,38 @@ sub lb_and_extra_sockets_sync { return 1; } +sub rtp_interfaces_sync { + my $rtp_interfaces_config = shift; + my $usr_pref = shift; + my $dom_pref = shift; + my $peer_pref = shift; + my $pref_name = shift; + + my %rtp_interfaces = (); + + my $multi_site_data = get_multi_site_data(); + my ($multi_site, $current_site, $skip_site_prefixes) = + @{$multi_site_data}{qw/sites_enable current_site skip_site_prefixes/}; + + for my $rtp_interface (keys %{$rtp_interfaces_config}) { + my $label = "$rtp_interface"; + if ($multi_site) { + my $site_name = $current_site->{name} // 'unknown'; + $label = "$site_name:$rtp_interface"; + } + $rtp_interfaces{$label} = $rtp_interface; + } + + generic_enum_sync( + \%rtp_interfaces, + $usr_pref, $dom_pref, $peer_pref, + $pref_name, + $skip_site_prefixes, + ); + + return 1; +} + sub generic_enum_sync { my $config_hash = shift; my $usr_pref = shift; @@ -296,7 +328,7 @@ sub sync_lb_and_extra_sockets { ## rtp_* interfaces handling: ############################## sub sync_rtp_interfaces { - return generic_enum_sync(@_, 'rtp_interface'); + return rtp_interfaces_sync(@_, 'rtp_interface'); } # ## smsc_* interfaces handling: ##############################