Asterisk Module and Build Option Selection - XXX cel_pgsql
Olá a todos, depois de muito tempo, venho trazer uma treta bacana que peguei no Asterisk® SCF™, por algum motivo no método normal de instalação das dependências do Asterisk® SCF™ não ocorreu o atendimento da dependência para que o Asterisk Module and Build Option Selection identifica-se o PGSQL(E) para o modulo cdr_pgsql e cel_pgsql. Observe a imagem a seguir:
Para entender o que está ocorrendo, entre no fonte do Asterisk® SCF™ e execute o teste pelo script install_prereq:
# cd /usr/local/src/asterisk-13.35.0/
# contrib/scripts/install_prereq test
Neste caso, que estamos expondo, a resposta foi essa:
yum install --skip-broken --assumeyes speexdsp-devel postgresql-devel mysql-devel iksemel-devel hoard gmime.x86_64 gmime-devel.x86_64
Observe que entre a resposta do teste, esta sendo informado que postgresql-devel não foi encontrado para atender os módulos do Asterisk® SCF™.
Executando o comando do RPM para validar os pacotes instalados obtemos a seguinte resposta:
# rpm -qa | grep postgres
postgresql11-libs-11.13-1PGDG.rhel7.x86_64
postgresql11-server-11.13-1PGDG.rhel7.x86_64
postgresql11-devel-11.13-1PGDG.rhel7.x86_64
postgresql11-11.13-1PGDG.rhel7.x86_64
postgresql11-contrib-11.13-1PGDG.rhel7.x86_64
Ou seja, temos o PostgreSQL 11 instalado, e logo sabemos que o PostgreSQL11-Devel se encontra instalado, mas o Asterisk® SCF™ não sabe. Então para ter certeza que ter certeza de qual versão se encontra ativo e funcional no Sistema Operacional use esse comando:
# psql --version | awk '{print $3}' | awk -F '.' '{print $1}'
11
Obtivemos o resultado sendo 11, então execute o configure para essa versão do postgresql-devel, deste modo:
# ./configure --prefix=/usr --with-postgres=/usr/pgsql-11/.
Entre novamente no Menu Select do Asterisk Module and Build Option Selection:
# make menuselect
E observe que agora temos os modulos ativos para serem copilados, veja as figuras a seguir:
*CLI> module show like cel_pgsql.so
Module Description Use Count Status Support Level
cel_pgsql.so PostgreSQL CEL Backend 0 Running extended
1 modules loaded
*CLI> module show like cdr_pgsql.so
Module Description Use Count Status Support Level
cdr_pgsql.so PostgreSQL CDR Backend 0 Running extended
1 modules loaded
Pronto, a partir deste ponto, a sua comunicação com o banco de dados PostgreSQL via conector nativo do Asterisk® SCF™ funcionando.Tire a prova de conexão com o CORE/PBX:
*CLI> cel show status
CEL Logging: Enabled
CEL Tracking Event: HANGUP
CEL Tracking Event: ANSWER
CEL Tracking Event: BRIDGE_ENTER
CEL Tracking Event: ATTENDEDTRANSFER
CEL Tracking Event: USER_DEFINED
CEL Tracking Event: LINKEDID_END
CEL Event Subscriber: CEL Custom CSV Logging
CEL Event Subscriber: ODBC CEL backend
CEL Event Subscriber: CEL PGSQL backend
Se executar o comando cdr show status, vais ver que também está tudo funcional entre o modulo e CORE/PBX.
Lembrando que não é mais recomendado usar o modulo nativo para MySQL e PostgreSQL. É altamente recomendado usar a conexão com Banco de Dados via UnixODBC.
Deixe um comentário