MT#62546 Fix permanent registration nat flags

Due to changes in how kamailio manage the NAT contacts
and the corresponding natping, the flags that the API
or web interface sets while a permanent registration
is created have to be updated.

Before:
 * Default cflag is set to 0 (natping disabled)
 * If nat option, then cflag is set to 64

New: * Default cflag is set to 256 (netping disabled)
 * If nat option, then cflag is set to 128
Change-Id: I39b1d7a697ef72267fd8a05edf0552d2c1403733
master
Marco Capetta 2 weeks ago
parent 27bdcde3f1
commit 1be3f5a257

@ -4552,8 +4552,8 @@ sub create_registered :Chained('master') :PathPart('registered/create') :Args(0)
try {
my $values = $form->values;
$values->{flags} = 0;
$values->{cflags} = 0;
$values->{cflags} |= 64 if($values->{nat});
$values->{cflags} = 256;
$values->{cflags} |= 128 if($values->{nat});
NGCP::Panel::Utils::Kamailio::create_location($c,
$c->stash->{subscriber}->provisioning_voip_subscriber,
$values

@ -179,7 +179,7 @@ sub resource_from_item {
my $sub = $self->subscriber_from_item($c, $item);
return unless($sub);
$resource->{subscriber_id} = int($sub->id);
$resource->{nat} = $resource->{cflags} & 64;
$resource->{nat} = $resource->{cflags} & 128;
if ($resource->{path}) {
(my ($socket)) = $resource->{path} =~/;socket=([^>]+)>/;
if ($socket) {
@ -325,8 +325,8 @@ sub update_item {
}
my $values = $form->values;
$values->{flags} = 0;
$values->{cflags} = 0;
$values->{cflags} |= 64 if($values->{nat});
$values->{cflags} = 256;
$values->{cflags} |= 128 if($values->{nat});
NGCP::Panel::Utils::Kamailio::create_location($c,
$sub->provisioning_voip_subscriber,

@ -1045,8 +1045,8 @@ sub _init_registrations_context {
push(@{$context->{registrations}}, \%registration);
$registration{flags} = 0;
$registration{cflags} = 0;
$registration{cflags} |= 64 if($registration{nat});
$registration{cflags} = 256;
$registration{cflags} |= 128 if($registration{nat});
}

Loading…
Cancel
Save