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 .
Смотри также:
- Asterisk RealTime
- RealTime Static" class="wiki wiki_page">Asterisk Realtime Static
- Asterisk Realtime Sip
- Asterisk Realtime IAX
- Asterisk Realtime Voicemail
- Asterisk Realtime Extensions