Migrar os arquivos de configuração do asterisco para a configuração do banco de dados

1

Alguém tem documentação ou ferramentas para ajudar a migrar de uma implantação de asterisco baseada em arquivo de configuração para uma implantação de banco de dados?

    
por Bozojoe 30.09.2009 / 05:49

2 respostas

2

Eu não tenho um script de migração automatizado, mas a essência é que você cria um arquivo extconfig.conf que mapeia um nome de arquivo de configuração tradicional para um nome de tabela (e conjunto de credenciais MySQL ou ODBC / DB) e em seguida, um conjunto de tabelas com equivalências ligeiramente normalizadas (mas quase alinhadas por linha) para o que estaria em um arquivo de configuração local. link tem mais.

Outra maneira de fazer roteamento de chamadas em tempo real baseado em banco de dados é usando AGI ou Fast AGI. Recomendamos a AGI aos nossos clientes de hospedagem Asterisk, pois ela dissocia a lógica de roteamento de chamadas da funcionalidade de telefone / PBX, algo que não é verdade com um plano de discagem Asterisk (Asterisk RealTime ou não). Seu dialplan, em seguida, usa o comando AGI (com uma URL agi: //) em vez de chamar os comandos de plano de discagem incorporados.

Isso também permite escrever a chamada lógica / roteamento em qualquer linguagem de programação que o trabalho melhor, que raramente é AEL. help.cloudvox.com tem um monte de documentos AGI.

Troy

    
por 25.06.2010 / 21:51
1

Eu estava procurando a mesma coisa e acabei escrevendo meu próprio script rápido e sujo usando o Asterisk :: config modules do CPAN, espero que ele salve algum tempo de outra pessoa:

#!/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";
    
por 29.03.2013 / 13:43

Tags