USE provisioning; -- audio files for IVR, auto-attendant, etc. CREATE TABLE `voip_audio_files` ( `id` int(11) unsigned NOT NULL auto_increment, `subscriber_id` int(11) unsigned REFERENCES `voip_subscribers` (`id`), `domain_id` int(11) unsigned REFERENCES `voip_domains` (`id`), `handle` varchar(63) NOT NULL, `description` text, `audio` longblob, PRIMARY KEY (`id`), UNIQUE KEY `subhand_idx` (`subscriber_id`, `handle`), UNIQUE KEY `domhand_idx` (`domain_id`, `handle`), CONSTRAINT `v_a_f_subscriberid_ref` FOREIGN KEY (`subscriber_id`) REFERENCES `voip_subscribers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `v_a_f_domainid_ref` FOREIGN KEY (`domain_id`) REFERENCES `voip_domains` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; -- VSC table CREATE TABLE `voip_vscs` ( `id` int(11) unsigned NOT NULL auto_increment, `domain_id` int(11) unsigned REFERENCES `voip_domains` (`id`), `digits` char(2), `action` varchar(31) NOT NULL, `audio_id` int(11) unsigned NOT NULL REFERENCES `voip_audio_files` (`id`), `description` text, PRIMARY KEY (`id`), UNIQUE KEY `domdig_idx` (`domain_id`, `digits`), UNIQUE KEY `domaction_idx` (`domain_id`, `action`), KEY `audioid_idx` (`audio_id`), CONSTRAINT `v_v_domainid_ref` FOREIGN KEY (`domain_id`) REFERENCES `voip_domains` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `v_v_audioid_ref` FOREIGN KEY (`audio_id`) REFERENCES `voip_audio_files` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE ) ENGINE=InnoDB;