From d271189eb141af0ca8a6b219af6fbe3950ce70d2 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Tue, 30 Jul 2019 15:11:24 +0200 Subject: [PATCH] TT#63542 API/SubscriberRegistrations respect redis usrloc * _item_by_aor search now includes redis usrloc state as well as ignore_auth_realm (multidomain) to build correct search queries in both redis and db locations Change-Id: I5c08a299c88592c63f3778dd0cf384a56cde3316 (cherry picked from commit 4db31270b2c923a244caf02a6fcfa0385b32b1de) --- lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm b/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm index 51af4347bc..457c238a53 100644 --- a/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm +++ b/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm @@ -175,13 +175,18 @@ sub subscriber_from_id { sub _item_by_aor { my ($self, $c, $sub, $contact) = @_; + my $domain = $sub->provisioning_voip_subscriber->domain->domain; + return $self->item_rs($c)->search({ 'me.contact' => $contact, 'me.username' => $sub->provisioning_voip_subscriber->username, - '-or' => [ - 'me.domain' => $sub->provisioning_voip_subscriber->domain->domain, - 'me.domain' => undef, - ], + $c->config->{redis}->{usrloc} + ? ($c->config->{features}->{multidomain} + ? ('me.domain' => $domain) + : ()) + : ($c->config->{features}->{multidomain} + ? ('me.domain' => $domain) + : ('me.domain' => undef)) })->first; }