From e5081856fca3a4b87178e4dfd9400ed7414a5550 Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Mon, 22 Apr 2013 11:45:40 +0000 Subject: [PATCH] Use uuid instead of cli for call list matching. The source_user even for local calls might not be the subscriber's username (in case of "faked" From-usernames), so use the uuid for direction matching. --- lib/admin/Controller/subscriber.pm | 2 +- lib/admin/Utils.pm | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index f501a6f..1f1d66f 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -1364,7 +1364,7 @@ sub call_data : Local { } $c->stash->{cdr_list} = $calls; - $c->stash->{call_list} = admin::Utils::prepare_call_list($c, $$subscriber{username}, $$subscriber{domain}, $calls, $listfilter, $bilprof); + $c->stash->{call_list} = admin::Utils::prepare_call_list($c, $subscriber, $calls, $listfilter, $bilprof); $c->stash->{subscriber}{list_filter} = $listfilter if defined $listfilter; undef $c->stash->{call_list} unless eval { @{$c->stash->{call_list}} }; diff --git a/lib/admin/Utils.pm b/lib/admin/Utils.pm index 0eedd60..e8c8699 100644 --- a/lib/admin/Utils.pm +++ b/lib/admin/Utils.pm @@ -131,7 +131,7 @@ sub get_qualified_number_for_subscriber { # as returned by the prov. interface and returns a reference to an # array suited for TT display sub prepare_call_list { - my ($c, $username, $domain, $call_list, $filter, $bilprof) = @_; + my ($c, $subscriber, $call_list, $filter, $bilprof) = @_; my $callentries = []; my @time = localtime time; @@ -175,9 +175,8 @@ sub prepare_call_list { $callentry{call_fee} = ''; } - if(defined $$call{source_user} - and $$call{source_user} eq $username - and $$call{source_domain} eq $domain) + if(defined $$call{source_user_id} + and $$call{source_user_id} eq $subscriber->{uuid}) { if($$call{call_status} eq 'ok') { $callentry{direction_icon} = 'anruf_aus_small.gif'; @@ -194,9 +193,8 @@ sub prepare_call_list { } $callentry{partner_number} = $callentry{partner}; - } elsif(defined $$call{destination_user} - and $$call{destination_user} eq $username - and $$call{destination_domain} eq $domain) + } elsif(defined $$call{destination_user_id} + and $$call{destination_user_id} eq $subscriber->{uuid}) { if($$call{call_status} eq 'ok') { $callentry{direction_icon} = 'anruf_ein_small.gif';