{ my $freepbx = $DB->get('freepbx') || $DB->new_record('freepbx', {type => 'service'}); my $dbpass = $freepbx->prop('DbPassword') || $freepbx->set_prop('DbPassword', `/usr/bin/openssl rand -base64 40 | /usr/bin/tr -c -d '[:graph:]'`); my $managerpass = $freepbx->prop('ManagerPassword') || $freepbx->set_prop('ManagerPassword', `/usr/bin/openssl rand -base64 10 | /usr/bin/tr -c -d '[:alnum:]'`); my $aripass = $freepbx->prop('AriPassword') || $freepbx->set_prop('AriPassword', `/usr/bin/openssl rand -base64 10 | /usr/bin/tr -c -d '[:alnum:]'`); # FOP not compatible with latest astersisk my $fop = $DB->get("fop"); $fop->delete if $fop; # with freepbx 13, we have a new port my $UDPPorts = $freepbx->prop('UDPPorts') || '5060,5061,5160,5161,4569,10000:20000'; my @UDPlist= split(',',$UDPPorts); unless ('5061' ~~ @UDPlist){ $UDPPorts = "$UDPPorts,5061"; $freepbx->set_prop('UDPPorts',$UDPPorts); } unless ('5160' ~~ @UDPlist){ $UDPPorts = "$UDPPorts,5160"; $freepbx->set_prop('UDPPorts',$UDPPorts); } unless ('5161' ~~ @UDPlist){ $UDPPorts = "$UDPPorts,5161"; $freepbx->set_prop('UDPPorts',$UDPPorts); } if ('10000-20000' ~~ @UDPlist){ $UDPPorts =~ s/,10000-20000//; $UDPPorts = "$UDPPorts,10000:20000"; $freepbx->set_prop('UDPPorts',$UDPPorts); } if ('1000-2000' ~~ @UDPlist){ $UDPPorts =~ s/,1000-2000//; $freepbx->set_prop('UDPPorts',$UDPPorts); } } #remove DeviceAndUser property my $DeviceAndUser = $freepbx->prop('DeviceAndUser'); $frepbx->delete_prop('DeviceAndUser') if defined $DeviceAndUser;