diff --git a/lib/NGCP/Panel/Controller/API/CFMappings.pm b/lib/NGCP/Panel/Controller/API/CFMappings.pm
index 40298c7bb1..62dd8d0d23 100644
--- a/lib/NGCP/Panel/Controller/API/CFMappings.pm
+++ b/lib/NGCP/Panel/Controller/API/CFMappings.pm
@@ -15,7 +15,7 @@ sub allowed_methods{
}
sub api_description {
- return 'Specifies callforward mappings of a subscriber, where multiple mappings can be specified per type (cfu, cfb, cft, cfna, cfs) ' .
+ return 'Specifies callforward mappings of a subscriber, where multiple mappings can be specified per type (cfu, cfb, cft, cfna, cfs, cfr) ' .
'Each mapping consists of a destinationset name (see CFDestinationSets), a timeset name ' .
'(see CFTimeSets), a sourceset name (see CFSourceSets), ' .
'and a bnumberset name (see CFBnumberSets).';
@@ -38,6 +38,7 @@ sub documentation_sample {
cft_ringtimeout => "200",
cfu => [],
cfs => [],
+ cfr => [],
} ;
}
diff --git a/lib/NGCP/Panel/Controller/API/CallForwards.pm b/lib/NGCP/Panel/Controller/API/CallForwards.pm
index 11e9c681fe..7e711859dc 100644
--- a/lib/NGCP/Panel/Controller/API/CallForwards.pm
+++ b/lib/NGCP/Panel/Controller/API/CallForwards.pm
@@ -16,7 +16,7 @@ sub allowed_methods{
sub api_description {
return 'Specifies basic callforwards of a subscriber, where a number of destinations, times and sources ' .
- ' can be specified for each type (cfu, cfb, cft, cfna, cfs). For more complex configurations with ' .
+ ' can be specified for each type (cfu, cfb, cft, cfna, cfs, cfr). For more complex configurations with ' .
' multiple combinations of Timesets, Destinationsets and SourceSets see CFMappings.';
};
@@ -39,6 +39,7 @@ sub documentation_sample {
cft => { "ringtimeout" => "199" },
cfu => {},
cfs => {},
+ cfr => {},
};
}
diff --git a/lib/NGCP/Panel/Controller/API/CallLists.pm b/lib/NGCP/Panel/Controller/API/CallLists.pm
index 5cd0ced918..f8aa27541b 100644
--- a/lib/NGCP/Panel/Controller/API/CallLists.pm
+++ b/lib/NGCP/Panel/Controller/API/CallLists.pm
@@ -126,7 +126,7 @@ sub query_params {
},
{
param => 'type',
- description => 'Filter for calls with a specific type. One of "call", "cfu", "cfb", "cft", "cfna", "cfs".',
+ description => 'Filter for calls with a specific type. One of "call", "cfu", "cfb", "cft", "cfna", "cfs", "cfr".',
query => {
first => sub {
my $q = shift;
@@ -139,7 +139,7 @@ sub query_params {
},
{
param => 'type_ne',
- description => 'Filter for calls not having a specific type. One of "call", "cfu", "cfb", "cft", "cfna", "cfs".',
+ description => 'Filter for calls not having a specific type. One of "call", "cfu", "cfb", "cft", "cfna", "cfs", "cfr".',
query => {
first => sub {
my $q = shift;
diff --git a/lib/NGCP/Panel/Controller/API/SubscriberProfiles.pm b/lib/NGCP/Panel/Controller/API/SubscriberProfiles.pm
index 291f732c32..98d6b752d5 100644
--- a/lib/NGCP/Panel/Controller/API/SubscriberProfiles.pm
+++ b/lib/NGCP/Panel/Controller/API/SubscriberProfiles.pm
@@ -176,7 +176,7 @@ sub POST :Allow {
expose_to_customer => 1,
},
{
- attribute => { -in => [qw/cfu cft cfna cfb cfs/] },
+ attribute => { -in => [qw/cfu cft cfna cfb cfs cfr/] },
},
],
});
diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm
index 150b784189..96690952a0 100644
--- a/lib/NGCP/Panel/Controller/Subscriber.pm
+++ b/lib/NGCP/Panel/Controller/Subscriber.pm
@@ -608,7 +608,7 @@ sub preferences :Chained('base') :PathPart('preferences') :Args(0) {
my $prov_subscriber = $c->stash->{subscriber}->provisioning_voip_subscriber;
my $cfs = {};
- foreach my $type(qw/cfu cfna cft cfb cfs/) {
+ foreach my $type(qw/cfu cfna cft cfb cfs cfr/) {
my $maps = $prov_subscriber->voip_cf_mappings
->search({ type => $type });
$cfs->{$type} = [];
@@ -713,7 +713,7 @@ sub preferences :Chained('base') :PathPart('preferences') :Args(0) {
$c->stash->{pref_groups} = \@newprefgroups;
my $special_prefs = { check => 1 };
- foreach my $pref(qw/cfu cft cfna cfb cfs
+ foreach my $pref(qw/cfu cft cfna cfb cfs cfr
speed_dial reminder auto_attendant
voice_mail fax_server/) {
my $preference = $c->model('DB')->resultset('voip_preferences')->find({
@@ -858,6 +858,10 @@ sub preferences_callforward :Chained('base') :PathPart('preferences/callforward'
$cf_desc = $c->loc('Call Forward SMS');
last SWITCH;
};
+ /^cfr$/ && do {
+ $cf_desc = $c->loc('Call Forward Rerouting');
+ last SWITCH;
+ };
# default
NGCP::Panel::Utils::Message::error(
c => $c,
@@ -999,7 +1003,6 @@ sub preferences_callforward :Chained('base') :PathPart('preferences/callforward'
new_aa => ($d eq 'autoattendant'),
);
-
NGCP::Panel::Utils::Subscriber::create_cf_destination(
c => $c,
subscriber => $c->stash->{subscriber},
@@ -1090,6 +1093,10 @@ sub preferences_callforward_advanced :Chained('base') :PathPart('preferences/cal
$cf_desc = $c->loc('Call Forward SMS');
last SWITCH;
};
+ /^cfr$/ && do {
+ $cf_desc = $c->loc('Call Forward Rerouting');
+ last SWITCH;
+ };
# default
NGCP::Panel::Utils::Message::error(
c => $c,
@@ -2886,7 +2893,7 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet
if(keys %old_profile_attributes) {
my $cfs = $c->model('DB')->resultset('voip_preferences')->search({
id => { -in => [ keys %old_profile_attributes ] },
- attribute => { -in => [qw/cfu cfb cft cfna cfs/] },
+ attribute => { -in => [qw/cfu cfb cft cfna cfs cfr/] },
});
$prov_subscriber->voip_usr_preferences->search({
attribute_id => { -in => [ keys %old_profile_attributes ] },
diff --git a/lib/NGCP/Panel/Controller/SubscriberProfile.pm b/lib/NGCP/Panel/Controller/SubscriberProfile.pm
index ec3d5a2625..f7ccc383c1 100644
--- a/lib/NGCP/Panel/Controller/SubscriberProfile.pm
+++ b/lib/NGCP/Panel/Controller/SubscriberProfile.pm
@@ -513,7 +513,7 @@ sub profile_edit :Chained('profile_base') :PathPart('edit') :Does(ACL) :ACLDetac
if(keys %old_attributes) {
my $cfs = $c->model('DB')->resultset('voip_preferences')->search({
id => { -in => [ keys %old_attributes ] },
- attribute => { -in => [qw/cfu cfb cft cfna cfs/] },
+ attribute => { -in => [qw/cfu cfb cft cfna cfs cfr/] },
});
my @subs = $c->model('DB')->resultset('provisioning_voip_subscribers')
->search({
diff --git a/lib/NGCP/Panel/Form/CFSimpleAPI.pm b/lib/NGCP/Panel/Form/CFSimpleAPI.pm
index 7768320a23..d5cdf453b2 100644
--- a/lib/NGCP/Panel/Form/CFSimpleAPI.pm
+++ b/lib/NGCP/Panel/Form/CFSimpleAPI.pm
@@ -83,6 +83,20 @@ has_field 'cfs' => (
},
);
+has_field 'cfr' => (
+ type => '+NGCP::Panel::Field::CFSimpleAPICompound',
+ do_wrapper => 1,
+ do_label => 0,
+ required => 0,
+ element_attr => {
+ rel => ['tooltip'],
+ title => ['Call Forward Rerouting, Contains the keys "destinations", "times" and "sources". "destinations" is an Array of Objects ' .
+ 'having a "destination", "priority" and "timeout" field. "times" is an Array of Objects having the fields ' .
+ '"minute", "hour", "wday", "mday", "month", "year". "times" can be empty, then the CF is applied always. ' .
+ '"sources" is an Array of Objects having one field "source". "sources" can be empty.'],
+ },
+);
+
has_field 'cft.ringtimeout' => (
type => 'PosInteger',
do_wrapper => 1,
@@ -92,7 +106,7 @@ has_field 'cft.ringtimeout' => (
has_block 'fields' => (
tag => 'div',
class => [qw(modal-body)],
- render_list => [qw(cfu cfb cft cfna cfs)],
+ render_list => [qw(cfu cfb cft cfna cfs cfr)],
);
1;
diff --git a/lib/NGCP/Panel/Form/Call/Reseller.pm b/lib/NGCP/Panel/Form/Call/Reseller.pm
index a67f182097..c831fdd01d 100644
--- a/lib/NGCP/Panel/Form/Call/Reseller.pm
+++ b/lib/NGCP/Panel/Form/Call/Reseller.pm
@@ -437,10 +437,11 @@ has_field 'call_type' => (
{ label => 'cft', value => 'cft' },
{ label => 'cfna', value => 'cfna' },
{ label => 'cfs', value => 'cfs' },
+ { label => 'cfr', value => 'cfr' },
],
element_attr => {
rel => ['tooltip'],
- title => ['The type of call, one of call, cfu, cfb, cft, cfna, cfs.']
+ title => ['The type of call, one of call, cfu, cfb, cft, cfna, cfs, cfr.']
},
);
diff --git a/lib/NGCP/Panel/Form/CallForward/CFMappingsAPI.pm b/lib/NGCP/Panel/Form/CallForward/CFMappingsAPI.pm
index 156a2426fb..a3d021dad3 100644
--- a/lib/NGCP/Panel/Form/CallForward/CFMappingsAPI.pm
+++ b/lib/NGCP/Panel/Form/CallForward/CFMappingsAPI.pm
@@ -73,6 +73,19 @@ has_field 'cfs' => (
},
);
+has_field 'cfr' => (
+ type => 'Repeatable',
+ do_wrapper => 1,
+ do_label => 0,
+ required => 0,
+ element_attr => {
+ rel => ['tooltip'],
+ title => ['Call Forward Rerouting, Number of Objects, each containing the keys ' .
+ '"destinationset", "timeset" and "sourceset". The values must be the name of ' .
+ 'a corresponding set which belongs to the same subscriber.'],
+ },
+);
+
has_field 'cfu.destinationset' => (
type => 'Text',
do_wrapper => 1,
@@ -299,6 +312,50 @@ has_field 'cft_ringtimeout' => (
do_label => 0,
);
+has_field 'cfr.destinationset' => (
+ type => 'Text',
+ do_wrapper => 1,
+ do_label => 0,
+);
+
+has_field 'cfr.destinationset_id' => (
+ type => 'PosInteger',
+ do_label => 0,
+);
+
+has_field 'cfr.timeset' => (
+ type => 'Text',
+ do_wrapper => 1,
+ do_label => 0,
+);
+
+has_field 'cfr.timeset_id' => (
+ type => 'PosInteger',
+ do_label => 0,
+);
+
+has_field 'cfr.sourceset' => (
+ type => 'Text',
+ do_wrapper => 1,
+ do_label => 0,
+);
+
+has_field 'cfr.sourceset_id' => (
+ type => 'PosInteger',
+ do_label => 0,
+);
+
+has_field 'cfr.bnumberset' => (
+ type => 'Text',
+ do_wrapper => 1,
+ do_label => 0,
+);
+
+has_field 'cfr.bnumberset_id' => (
+ type => 'PosInteger',
+ do_label => 0,
+);
+
1;
# vim: set tabstop=4 expandtab:
diff --git a/lib/NGCP/Panel/Form/CallList/Subscriber.pm b/lib/NGCP/Panel/Form/CallList/Subscriber.pm
index aa9c477e17..8fc134b987 100644
--- a/lib/NGCP/Panel/Form/CallList/Subscriber.pm
+++ b/lib/NGCP/Panel/Form/CallList/Subscriber.pm
@@ -90,10 +90,11 @@ has_field 'type' => (
{ label => 'cft', value => 'cft' },
{ label => 'cfna', value => 'cfna' },
{ label => 'cfs', value => 'cfs' },
+ { label => 'cfr', value => 'cfr' },
],
element_attr => {
rel => ['tooltip'],
- title => ['The type of call, one of call, cfu, cfb, cft, cfna, cfs.']
+ title => ['The type of call, one of call, cfu, cfb, cft, cfna, cfs, cfr.']
},
);
diff --git a/lib/NGCP/Panel/Form/Conversation/API.pm b/lib/NGCP/Panel/Form/Conversation/API.pm
index f97f5c040c..88a53e6440 100644
--- a/lib/NGCP/Panel/Form/Conversation/API.pm
+++ b/lib/NGCP/Panel/Form/Conversation/API.pm
@@ -17,7 +17,7 @@ has_field 'call_id' => (
has_field 'call_type' => (
type => 'Text',
- label => 'One of the "call","cfu","cft","cfb","cfna".',
+ label => 'One of the "call","cfu","cft","cfb","cfna","cfs","cfr".',
required => 1,
);
diff --git a/lib/NGCP/Panel/Form/SubscriberProfile/Profile.pm b/lib/NGCP/Panel/Form/SubscriberProfile/Profile.pm
index 17542c052c..c81d72d77a 100644
--- a/lib/NGCP/Panel/Form/SubscriberProfile/Profile.pm
+++ b/lib/NGCP/Panel/Form/SubscriberProfile/Profile.pm
@@ -80,7 +80,7 @@ sub field_list {
expose_to_customer => 1,
},
{
- attribute => { -in => [qw/cfu cft cfna cfb cfs/] },
+ attribute => { -in => [qw/cfu cft cfna cfb cfs cfr/] },
}
],
});
diff --git a/lib/NGCP/Panel/Role/API/CFMappings.pm b/lib/NGCP/Panel/Role/API/CFMappings.pm
index 4655f076ac..cf0ced8440 100644
--- a/lib/NGCP/Panel/Role/API/CFMappings.pm
+++ b/lib/NGCP/Panel/Role/API/CFMappings.pm
@@ -24,7 +24,7 @@ sub hal_from_item {
my ($self, $c, $item, $type) = @_;
my $form;
- my $resource = { subscriber_id => $item->id, cfu => [], cfb => [], cfna => [], cft => [], cfs => []};
+ my $resource = { subscriber_id => $item->id, cfu => [], cfb => [], cfna => [], cft => [], cfs => [], cfr => []};
my $b_subs_id = $item->id;
my $p_subs_id = $item->provisioning_voip_subscriber->id;
@@ -154,7 +154,7 @@ sub update_item {
my $ssets_rs = $c->model('DB')->resultset('voip_cf_source_sets');
my $bsets_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets');
- for my $type ( qw/cfu cfb cft cfna cfs/) {
+ for my $type ( qw/cfu cfb cft cfna cfs cfr/) {
if (ref $resource->{$type} ne "ARRAY") {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Invalid field '$type'. Must be an array.");
return;
@@ -256,7 +256,7 @@ sub update_item {
$autoattendant_count += NGCP::Panel::Utils::Subscriber::check_dset_autoattendant_status($map->destination_set);
}
$mappings_rs->delete;
- for my $type ( qw/cfu cfb cft cfna cfs/) {
+ for my $type ( qw/cfu cfb cft cfna cfs cfr/) {
$cf_preferences{$type}->delete;
}
for my $mapping ( @new_mappings ) {
diff --git a/lib/NGCP/Panel/Role/API/CallForwards.pm b/lib/NGCP/Panel/Role/API/CallForwards.pm
index 128efed0a9..b4337e62cb 100644
--- a/lib/NGCP/Panel/Role/API/CallForwards.pm
+++ b/lib/NGCP/Panel/Role/API/CallForwards.pm
@@ -50,9 +50,9 @@ sub hal_from_item {
my $allowed_prefs = NGCP::Panel::Utils::Preferences::get_subscriber_allowed_prefs(
c => $c,
prov_subscriber => $prov_subs,
- pref_list => [qw/cfu cfb cft cfna cfs/],
+ pref_list => [qw/cfu cfb cft cfna cfs cfr/],
);
- @resource{qw/cfu cfb cft cfna cfs/} = ({}) x 5;
+ @resource{qw/cfu cfb cft cfna cfs cfr/} = ({}) x 5;
for my $item_cf ($item->provisioning_voip_subscriber->voip_cf_mappings->all) {
next unless ($allowed_prefs->{$item_cf->type});
$resource{$item_cf->type} = $self->_contents_from_cfm($c, $item_cf, $item);
@@ -73,7 +73,7 @@ sub hal_from_item {
run => 0,
);
- for my $cf_type (qw/cfu cft cfb cfna cfs/) {
+ for my $cf_type (qw/cfu cft cfb cfna cfs cfr/) {
unless ($allowed_prefs->{$cf_type}) {
delete $resource{$cf_type};
}
@@ -129,7 +129,7 @@ sub update_item {
my $allowed_prefs = NGCP::Panel::Utils::Preferences::get_subscriber_allowed_prefs(
c => $c,
prov_subscriber => $prov_subs,
- pref_list => [qw/cfu cfb cft cfna cfs/],
+ pref_list => [qw/cfu cfb cft cfna cfs cfr/],
);
return unless $self->validate_form(
@@ -139,7 +139,7 @@ sub update_item {
run => 1,
);
- for my $type (qw/cfu cfb cft cfna cfs/) {
+ for my $type (qw/cfu cfb cft cfna cfs cfr/) {
next unless "ARRAY" eq ref $resource->{$type}{destinations};
next unless ($allowed_prefs->{$type});
for my $d (@{ $resource->{$type}{destinations} }) {
@@ -172,7 +172,7 @@ sub update_item {
}
}
- for my $type (qw/cfu cfb cft cfna cfs/) {
+ for my $type (qw/cfu cfb cft cfna cfs cfr/) {
next unless ($allowed_prefs->{$type});
my $mapping = $c->model('DB')->resultset('voip_cf_mappings')->search_rs({
subscriber_id => $prov_subscriber_id,
diff --git a/lib/NGCP/Panel/Role/API/SubscriberProfiles.pm b/lib/NGCP/Panel/Role/API/SubscriberProfiles.pm
index 8560eaac09..a2e1e0e546 100644
--- a/lib/NGCP/Panel/Role/API/SubscriberProfiles.pm
+++ b/lib/NGCP/Panel/Role/API/SubscriberProfiles.pm
@@ -156,7 +156,7 @@ sub update_item {
expose_to_customer => 1,
},
{
- attribute => { -in => [qw/cfu cft cfna cfb cfs/] },
+ attribute => { -in => [qw/cfu cft cfna cfb cfs cfr/] },
},
],
});
@@ -174,7 +174,7 @@ sub update_item {
if(keys %old_attributes) {
my $cfs = $c->model('DB')->resultset('voip_preferences')->search({
id => { -in => [ keys %old_attributes ] },
- attribute => { -in => [qw/cfu cfb cft cfna cfs/] },
+ attribute => { -in => [qw/cfu cfb cft cfna cfs cfr/] },
});
my @subs = $c->model('DB')->resultset('provisioning_voip_subscribers')
->search({
diff --git a/lib/NGCP/Panel/Role/API/Subscribers.pm b/lib/NGCP/Panel/Role/API/Subscribers.pm
index 17b773382e..641015a83e 100644
--- a/lib/NGCP/Panel/Role/API/Subscribers.pm
+++ b/lib/NGCP/Panel/Role/API/Subscribers.pm
@@ -701,7 +701,7 @@ sub update_item {
if(keys %old_profile_attributes) {
my $cfs = $schema->resultset('voip_preferences')->search({
id => { -in => [ keys %old_profile_attributes ] },
- attribute => { -in => [qw/cfu cfb cft cfna cfs/] },
+ attribute => { -in => [qw/cfu cfb cft cfna cfs cfr/] },
});
$prov_subscriber->voip_usr_preferences->search({
attribute_id => { -in => [ keys %old_profile_attributes ] },
diff --git a/lib/NGCP/Panel/Utils/InvoiceTemplate.pm b/lib/NGCP/Panel/Utils/InvoiceTemplate.pm
index 767d894e7d..f61213784f 100644
--- a/lib/NGCP/Panel/Utils/InvoiceTemplate.pm
+++ b/lib/NGCP/Panel/Utils/InvoiceTemplate.pm
@@ -292,7 +292,7 @@ sub get_dummy_data {
start_time => time,
source_customer_cost => int(rand(100000)),
duration => int(rand(7200)) + 10,
- call_type => (qw/cfu cfb cft cfna cfs/)[int(rand 4)],
+ call_type => (qw/cfu cfb cft cfna cfs cfr/)[int(rand 4)],
zone => "Zone $_",
zone_detail => "Detail $_",
}}(1 .. 50)
diff --git a/lib/NGCP/Panel/Widget/Dashboard/SubscriberCFOverview.pm b/lib/NGCP/Panel/Widget/Dashboard/SubscriberCFOverview.pm
index 0668390110..dfdcf8cea0 100644
--- a/lib/NGCP/Panel/Widget/Dashboard/SubscriberCFOverview.pm
+++ b/lib/NGCP/Panel/Widget/Dashboard/SubscriberCFOverview.pm
@@ -22,7 +22,8 @@ sub _get_cf_type_descriptions {
cfb => $c->loc("Call Forward Busy"),
cft => $c->loc("Call Forward Timeout"),
cfna => $c->loc("Call Forward Unavailable"),
- cfs => $c->loc("Call Forward SMS"), };
+ cfs => $c->loc("Call Forward SMS"),
+ cfr => $c->loc("Call Forward Rerouting"), };
}
sub cfs {
@@ -32,7 +33,7 @@ sub cfs {
my $cfs = {};
my $descriptions = $self->_get_cf_type_descriptions($c);
- foreach my $type (qw/cfu cfna cft cfb cfs/) {
+ foreach my $type (qw/cfu cfna cft cfb cfs cfr/) {
my $maps = $prov_subscriber->voip_cf_mappings
->search({ type => $type });
my @mappings = ();
diff --git a/share/templates/subscriber/preferences.tt b/share/templates/subscriber/preferences.tt
index 8c42aebdac..8acb221ba5 100644
--- a/share/templates/subscriber/preferences.tt
+++ b/share/templates/subscriber/preferences.tt
@@ -118,7 +118,8 @@ $( document ).ready(function() {
{ type = "cfb", desc = c.loc("Call Forward Busy") },
{ type = "cft", desc = c.loc("Call Forward Timeout") },
{ type = "cfna", desc = c.loc("Call Forward Unavailable") },
- { type = "cfs", desc = c.loc("Call Forward SMS") } ] -%]
+ { type = "cfs", desc = c.loc("Call Forward SMS") },
+ { type = "cfr", desc = c.loc("Call Forward Rerouting") } ] -%]
[% IF c.user.roles == "subscriber" || c.user.roles == "subscriberadmin" -%]
[% NEXT IF special_prefs.check && !special_prefs.callforward.${cf.type} -%]
[% END -%]
diff --git a/t/api-rest/api-callforwards.t b/t/api-rest/api-callforwards.t
index 41fc13e7e8..577dfe08ec 100644
--- a/t/api-rest/api-callforwards.t
+++ b/t/api-rest/api-callforwards.t
@@ -96,7 +96,7 @@ SKIP:{
#check cf structure
delete $cf1single->{_links};
is(ref $cf1single, "HASH", "cf should be hash");
- my @valid_types = (qw/cfu cfb cft cfna cfs/);
+ my @valid_types = (qw/cfu cfb cft cfna cfs cfr/);
my %valid_types;
@valid_types{@valid_types} = ( 1 ) x @valid_types;
foreach my $type(@valid_types){
diff --git a/t/api-rest/api-events.t b/t/api-rest/api-events.t
index 4b8bcca945..1537d00836 100644
--- a/t/api-rest/api-events.t
+++ b/t/api-rest/api-events.t
@@ -295,6 +295,7 @@ my %customer_map = ();
cfu => [{ destinationset => $destinationset_2->{name},
timeset => $timeset->{name}}],
cfs => [],
+ cfr => [],
});
#1. update destination set:
diff --git a/t/api-rest/api-journals.t b/t/api-rest/api-journals.t
index 6410413822..098dd597cb 100644
--- a/t/api-rest/api-journals.t
+++ b/t/api-rest/api-journals.t
@@ -886,6 +886,8 @@ sub test_callforwards {
times => $cftimeset->{times}},
cfs => { destinations => $cfdestinationset->{destinations},
times => $cftimeset->{times}},
+ cfr => { destinations => $cfdestinationset->{destinations},
+ times => $cftimeset->{times}},
}));
$res = $ua->request($req);
is($res->code, 200, _get_request_test_message("PUT test callforwards"));
@@ -949,6 +951,8 @@ sub test_cfmapping {
timeset => $cftimeset->{name}}],
cfs => [{ destinationset => $cfdestinationset->{name},
timeset => $cftimeset->{name}}],
+ cfr => [{ destinationset => $cfdestinationset->{name},
+ timeset => $cftimeset->{name}}],
}));
$res = $ua->request($req);
is($res->code, 200, _get_request_test_message("PUT test cfmappings"));
diff --git a/t/api-rest/api-subscriber-cf.t b/t/api-rest/api-subscriber-cf.t
index f27f35ca7d..ca77da9117 100644
--- a/t/api-rest/api-subscriber-cf.t
+++ b/t/api-rest/api-subscriber-cf.t
@@ -141,6 +141,7 @@ my $cf_map = $test->resource(
cft => [],
cfna => [],
cfs => [],
+ cfr => [],
cft_ringtimeout => undef,
}
);