You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
db-schema/db_scripts/diff/13475.up

86 lines
3.8 KiB

use provisioning;
set autocommit=0;
CREATE TABLE `voip_preference_groups` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
insert into voip_preference_groups(name) values
('Call Forwards'), ('Call Blockings'), ('Access Restrictions'),
('Number Manipulations'), ('NAT and Media Flow Control'),
('Remote Authentication'), ('Session Timers'), ('Internals');
alter table voip_preferences add column voip_preference_groups_id
int(11) unsigned not null after id;
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Call Forwards';
update voip_preferences set voip_preference_groups_id = @pid where attribute in
('cfb', 'cfna', 'cft', 'cfu', 'ringtimeout');
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Call Blockings';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'adm_block_in_clir', 'adm_block_in_list', 'adm_block_in_mode', 'adm_block_out_list',
'adm_block_out_mode', 'adm_block_out_override_pin', 'adm_ncos', 'adm_ncos_id',
'block_in_clir', 'block_in_list', 'block_in_mode', 'block_out_list', 'block_out_mode',
'block_out_override_pin', 'ncos', 'ncos_id'
);
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Access Restrictions';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'allowed_clis', 'allowed_ips', 'allowed_ips_grp', 'allow_out_foreign_domain',
'concurrent_max', 'concurrent_max_out', 'concurrent_max_out_per_account',
'concurrent_max_per_account', 'ignore_allowed_ips',
'lock', 'man_allowed_ips', 'man_allowed_ips_grp', 'reject_emergency', 'unauth_inbound_calls'
);
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Number Manipulations';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'e164_to_ruri', 'emergency_cli', 'emergency_prefix', 'emergency_suffix',
'extension_in_npn', 'inbound_npn', 'inbound_upn', 'inbound_uprn', 'outbound_diversion',
'outbound_from_display', 'outbound_from_user', 'outbound_pai_user', 'outbound_ppi_user',
'rewrite_callee_in_dpid', 'rewrite_callee_out_dpid', 'rewrite_caller_in_dpid',
'rewrite_caller_out_dpid', 'rewrite_rule_set', 'ac', 'cc', 'cli', 'clir', 'user_cli',
'outbound_history_info'
);
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'NAT and Media Flow Control';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'ipv46_for_rtpproxy', 'no_nat_sipping', 'use_rtpproxy', 'sound_set'
);
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Remote Authentication';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'find_subscriber_by_uuid', 'peer_auth_pass', 'peer_auth_realm', 'peer_auth_register',
'peer_auth_user'
);
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Session Timers';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'sst_enable', 'sst_expires', 'sst_max_timer', 'sst_min_timer', 'sst_refresh_method'
);
set @pid = 0;
select id into @pid from voip_preference_groups where name = 'Internals';
update voip_preferences set voip_preference_groups_id = @pid where attribute in (
'account_id', 'ext_contract_id', 'ext_subscriber_id', 'ip_header', 'mobile_push_enable',
'outbound_socket', 'prepaid', 'force_inbound_calls_to_peer', 'force_outbound_calls_to_peer',
'ua_header_mode', 'ua_header_replace'
);
update voip_preferences set voip_preference_groups_id = @pid where voip_preference_groups_id = 0;
alter table voip_preferences add constraint vpgid_ref
foreign key (voip_preference_groups_id) references voip_preference_groups(id)
on update cascade;
commit;