У меня нет автоматизированного сценария миграции, но суть - то, что Вы делаете с extconfig.conf файлом, который отображает традиционное название файла конфигурации к имени таблицы (и набор MySQL или учетных данных ODBC/DB), и затем ряд таблиц с немного нормализованным (но почти строка для строки) эквиваленты тому, что было бы в локальном файле конфигурации. http://www.voip-info.org/wiki/view/Asterisk+RealTime имеет больше.
Другой способ сделать поддержанную базой данных маршрутизацию вызова в реальном времени использует AGI или Быстрый AGI. Мы рекомендуем AGI нашим клиентам хостинга Звездочки, потому что он отделяет логику маршрутизации вызова от функциональности телефона/PBX, что-то, что это нисколько не верно со Звездочкой dialplan (Звездочка RealTime или не). Ваш dialplan затем использует команду AGI (с agi://URL) вместо того, чтобы звонить, встроил команды dialplan.
Это также позволяет Вам записать, что логика/маршрутизация вызова на любом языке программирования делает задание лучше всего, которое редко является AEL. help.cloudvox.com имеет набор больше документов AGI.
Троя
Я искал то же самое и закончил тем, что написал свой собственный быстрый и грязный сценарий с использованием модулей Asterisk :: config из CPAN, надеюсь, что это спасет когда-нибудь кого-нибудь еще:
#!/usr/bin/perl
use Asterisk::config;
my $rc = new Asterisk::config(file=>$ARGV[0]);
my $cols="";
my $vals="";
$parsed = $rc->fetch_sections_hashref();
foreach my $sec (sort keys %{$parsed})
{
$cols="name";
$vals="'$sec'";
while ( my ($c, $v) = each(%{$parsed->{$sec}}) )
{
$cols.= ",$c";
$vals.= ",'".join(',',@{$v})."'";
}
print "insert into mytable($cols) values($vals);\n";
}
print "\n\n";