Asterisk RealTime Static




Внимание: Вы можете для одного файла конфигурации использовать только один метод: либо статическая конфигурация, либо конфигурация в режиме реального времени. Вы не можете, например, получать конфигурацию файла sip.conf из базы данных в статическом режиме и использовать конфигурацию SIP пиров из базы в режиме реального времени.

Замечание: Если Вы, например, храните настройки SIP из файла sip.conf в базе данных RealTime, то Вам необходимо удалить или переименовать текстовый файл, иначе настройки из текстового файла конфигурации будут перекрывать полученные из базы.

Настройки в файле Extconfig.conf

Добавьте в этот файл нижеприведенную строку заменяя название полей на те значения, которые Вам надо (пример приведен для файла sip.conf):


sip.conf => mysql,asterisk,ast_config


Вы можете заменить mysql на odbc, если вы мспользуете odbc.
Вы можете заменить поле asterisk на имя базы данных, которое у Вас используется.
Вы можете заменить поле ast_config на то имя таблицы, которая у Вас используется для хранения данных.

Примечание: Вы можете указать одно и тоже имя таблицы для нескольких файлов конфигураци.

Таблица базы данных

Просто создадим необходимую нам таблицу:

Примечание: Вы можете использовать любое имя таблицы по Вашему желанию. Только проверяйте, чтоб имя таблицы соответствовало тому конфигурационному файлу, вместо которого Вы хотите ее использовать.


#
# Table structure for table `ast_config`
#

CREATE TABLE `ast_config` (
`id` int(11) NOT NULL auto_increment,
`cat_metric` int(11) NOT NULL default '0',
`var_metric` int(11) NOT NULL default '0',
`commented` int(11) NOT NULL default '0',
`filename` varchar(128) NOT NULL default '',
`category` varchar(128) NOT NULL default 'default',
`var_name` varchar(128) NOT NULL default '',
`var_val` varchar(128) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `filename_comment` (`filename`,`commented`)
) TYPE=MyISAM;



Примечание: В этой таблице создан индекс для полей 'filename' и 'commented' потому что RealTime , делая запрос SELECT, всегда использует эти 2 поля для выборки записи. Естественно, что поле id должно иметь уникальное значение.

Самый простой способ "запихнуть" содержимое Вашего *.conf файла в базу данных - это воспользоваться перловым скриптом от bwk.

http://www.krisk.org/asterisk/ast2sql.pl

Проверка работоспособности


Занесите необходимые данные в созданную Вами таблицу и выполните команды asterisk: 'asterisk reload'. При этом, вместо Вашего *.conf файла, настройки должны быть получены из базы данных. Если возникли проблемы, то для их детализации можно воспользоваться содержимым файла /var/log/asterisk/debug .




Смотри также: