_di0
(usa FreeBSD)
Enviado em 26/02/2013 - 14:55h
detoniks escreveu:
Não entendo muito por isso estou usando shellscript.
Pode me explicar melhor o que essa soluçao faz? '$hashref->{channel}->{'CallerID'};'
Utilizando-se do módulo referente à Interface Asterisk, você tem acesso a determinados métodos, tais como channels() e sip_peers(), os quais representam os comandos "core show channels verbose" e "sip show peers", respectivamente. Quando são invocados, esses métodos retornam de forma estruturada as mesmas informações que se obtém através do console do Asterisk.
Por exemplo, uma chamada para obter informações de um ou mais peers, poderia ser executada da seguinte maneira:
my $resposta = $manager->sip_peers();
a variável $resposta, em caso de sucesso, receberá uma referência para um estrutura hash com todas a informações de um canal(ramal).
Tendo essas informações acessíveis através da referência atribuída à variável $resposta, fica simples manipular os dados desejados.
Por exemplo, se deseja obter o IP do ramal 4000 que está registrado em seu servidor, bastaria o seguinte:
print $resposta->{'4000'}->{'IPaddress'};
, e se ela pegar o valor da coluna, como faço para inserir no banco?
Se for isso mesmo parece bem interessante
Simples! Linguagens como o Perl, disponibiliza métodos que são capazes de conectar e manipular dados que estão em seu banco de dados, seja ele qual for. A documentação do Perl traz informações simples, de como trabalhar com um SGDB como o MySQL, por exemplo.
Tratar de inserções ou remoções de dados no banco, nesse script, deixaria-o
mais coeso e organizado em um só local.
Dio, tava dando uma lida sobre AMI como vc citou, porem soh roda a partir do asterisk 1.8+ neh?
Não, está disponível em versões anteriores do Asterisk, contudo, algumas funcionalidades foram
adaptadas ou implantadas ao longo do lançamento de cada versão, sendo que a versão 1.8, por se recente, possui funcionalidades maiores, portanto, sendo a mais indicada.
Mesmo assim, acredito que não encontrará problemas em trabalhar com essas funcionalidades em versões como a 1.4 ou a 1.6.
Todavia, consulte a documentação para maiores detalhes.