New in ViciBox v.4.0 is a PERL-based installer that creates and stores server and cluster information in a table called 'vicibox' on the primary database. This table coordinates all new server installations and will be used for other functions in the future. If you have an older version for ViciBox or a non-ViciBox install you can create compatibility by creating and populating the table yourself. Below is the 'vicibox' table schema as well as the field definitions for the various server roles:
Vicibox table schema:
CREATE TABLE IF NOT EXISTS `vicibox` (
`server_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`server` varchar(32) NOT NULL,
`server_ip` varchar(32) NOT NULL,
`server_type` enum('Database','Web','Telephony','Archive') NOT NULL DEFAULT 'Telephony',
`field1` varchar(64) NOT NULL,
`field2` varchar(64) NOT NULL,
`field3` varchar(64) NOT NULL,
`field4` varchar(64) NOT NULL,
`field5` varchar(64) NOT NULL,
`field6` varchar(64) NOT NULL,
`field7` varchar(64) NOT NULL,
`field8` varchar(64) NOT NULL,
`field9` varchar(64) NOT NULL
PRIMARY KEY (`server_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Named Field Types:
server_id = Numerical number for the server entry and the primary key, not used for anything other then internal DB reference
server = The name given to the server, this is taken from the systems Hostname when installed but may not always match
server_ip = The IP address used by that server to talk to other ViciDial servers, usually this is the internal IP address
server_type = The role that the server has installed on it. If the server performs multiple roles then it will be listed multiple times, once for each role
DB field types:
field1 = mysql server ID, use 0 for Master, 1 for first slave, 2 for 2nd slave, etc, up to 9
field2 = DB name, default is asterisk
field3 = svn revision of DB
field4 = regular user
field5 = regular pass
field6 = custom user
field7 = custom pass
field8 = slave user, only relevant to primary DB
field9 = slave pass, same as above
Web field types:
field1 = external IP
field2 = audiostore directory
Telephony field type:
field1 = external IP
Archive field type: Auto-Configuration only works on a single archive server, other things have to be done manually
field1 = FTP user
field2 = FTP pass
field3 = FTP Port
field4 = FTP directory
field5 = URL Path
The schema and field definitions are documented at the top of vicibox-install.pl on the installation CDs. The above definitions were taken from vicibox-install.pl v.120920-1502. While all new version will try to maintain backwards compatibility, there may be new features that will require upgrading the schema. I guess we will handle that when we come to it. Currently I only envision broadening the dynamic field list for using more fields or possibly adding additional server roles. Will probably build something into the installer to automatically apply vicibox schema updates when necessary.
To add support for ViciBox v.4.0, you need to run the schema SQL listed above on the primary database server and then populate the table with the appropriate data. If your server does not have a defined field, for example a Slave User or External IP, then leave the field Blank. This will signify that the field or option enabled by that field is not available. All other fields must be filled in.
If you are unsure or do not have the skills to populate this table then it would be best to post up your config in your own post for help or contact the ViciDial Group for support. We do have a vicibox-edit on the project list to be completed but it is a few notches below some other priorities such as the "restore" option.
If anyone feels like helping write a PERL-based vicibox-edit let me know. I am always willing to share the load as long as the end result is maintainable and works.
[tiny typo fix = williamconley]