MT#12813 fix calllist subscriber retrieval

get it directly without accessing provisioning.voip_subscriber
and notify about terminated subscribers

Change-Id: Ife6d936c052b3dcda0f03013ee53bafa34b9f19b
changes/54/1854/5
Gerhard Jungwirth 11 years ago
parent ffa327bfbf
commit 53ee3a32a8

@ -130,6 +130,8 @@ sub resource_from_item {
}
my ($src_sub, $dst_sub);
my $billing_src_sub = $item->source_subscriber;
my $billing_dst_sub = $item->destination_subscriber;
if($item->source_subscriber && $item->source_subscriber->provisioning_voip_subscriber) {
$src_sub = $item->source_subscriber->provisioning_voip_subscriber;
}
@ -209,13 +211,13 @@ sub resource_from_item {
}
my $own_sub = ($resource->{direction} eq "out")
? $src_sub
: $dst_sub;
? $billing_src_sub
: $billing_dst_sub;
if($resource->{own_cli} !~ /^\d+$/) {
$resource->{own_cli} .= '@'.$own_domain;
} elsif($own_normalize) {
$resource->{own_cli} = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $sub // $own_sub->voip_subscriber,
c => $c, subscriber => $sub // $own_sub,
number => $resource->{own_cli}, direction => "caller_out"
);
}
@ -226,10 +228,13 @@ sub resource_from_item {
$resource->{other_cli} .= '@'.$other_domain;
} elsif($other_normalize) {
$resource->{other_cli} = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $sub // $own_sub->voip_subscriber,
c => $c, subscriber => $sub // $own_sub,
number => $resource->{other_cli}, direction => "caller_out"
);
}
if (($sub // $own_sub)->status eq "terminated") {
$resource->{own_cli} .= " (terminated)";
}
$resource->{status} = $item->call_status;
$resource->{type} = $item->call_type;

@ -1049,6 +1049,11 @@ sub apply_rewrite {
my ($field, $direction) = split /_/, $dir;
$dir = "rewrite_".$dir."_dpid";
unless ($subscriber && $subscriber->provisioning_voip_subscriber) {
$c->log->warn('could not apply rewrite: subscriber might have been terminated.');
return $callee;
}
my $rwr_rs = NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c, attribute => $dir,
prov_subscriber => $subscriber->provisioning_voip_subscriber,

Loading…
Cancel
Save