Instalar placas Intelbras PXE 445 e PSO 800 no CentOS 5.7

Este artigo tem o objetivo de demonstrar minha experiência e dificuldades em instalar uma placa PXE e PSO da Intelbras na distribuição CentOS.

[ Hits: 24.273 ]

Por: Ivan Paes José em 25/11/2011


Arquivos extensions.conf e sip.conf utilizados nessa atividade



Abaixo segue os arquivos utilizados nos testes:

# vi /etc/asterisk/extensions.conf

[TR001]
  include => default

[TR002]
  include => default

[TR003]
  include => default

[TR004]
  include => default

[analogico]
  include => default

[default]
  include => ramais
  include => 141_Digital
  include => Impacta
  include => ligacoes_cel_local
  include => ligacoes_cel_DDD
  include => locais
  include => ligacoes_DDD
  include => ligacoes_DDI
  include => entrante_analogico

[ramais]
  exten => _6XXX,1,dial(sip/${EXTEN})
  exten => _6XXX.,n,Congestion(10)
  exten => _6XXX.,n,Hangup

[141_Digital]
  exten => _2121XXXX,1,Dial(Dahdi/g1/${EXTEN:4},60)
  exten => _2121XXXX.,n,Congestion(10)
  exten => _2121XXXX.,n,Hangup()

[Impacta]
  exten => _2123XXXX,1,Dial(Dahdi/g4/${EXTEN:4},60)
  exten => _2123XXXX.,n,Congestion(10)
  exten => _2123XXXX.,n,Hangup()

[locais]   exten => _X.,1,Dial(sip/operadora_voip/${EXTEN},60)
  exten => _X.,n,Congestion(10)
  exten => _X.,n,Hangup()

[ligacoes_DDD]
  exten => _0X.,1,Dial(sip/operadora_voip/${EXTEN},60)
  exten => _0X.,n,Congestion(10)
  exten => _0X.,n,Hangup()

[ligacoes_DDI]
  exten => _00X.,1,Dial(sip/operadora_voip/${EXTEN},60)
  exten => _00X.,n,Congestion(10)
  exten => _00X.,n,Hangup()

[ligacoes_cel_local]
  exten => _[7-9].,1,Dial(Dahdi/g5/${EXTEN},60)
  exten => _[7-9].,n,Congestion(10)
  exten => _[7-9].,n,Hangup()

[ligacoes_cel_DDD]
  exten => _0XXXX[7-9].,1,Dial(Dahdi/g5/041${EXTEN:3},60)
  exten => _0XXXX[7-9].,n,Congestion(10)
  exten => _0XXXX[7-9].,n,Hangup()

[entrante_analogico]
  exten => s,1,Dial(Dahdi/g1/2000,60)
  exten => s,n,Congestion(10)
  exten => s,n,Hangup()

# vi /etc/asterisk/sip.conf

[general]
  allowguest=no
  bindaddr=0.0.0.0
  srvlookup=yes
  disallow=all
  allow=alaw
  allow=ulaw
  allow=g726
  allow=gsm
  allow=ilbc
  tos=0x18
  language=pt_BR
  videosupport=yes
  nat=yes
  bindport=5060

[6000]
  type=friend
  context=default
  secret=6000
  host=dynamic
  port=5060
  callerid="6000" <6000>
  call-limit=10
  fromuser=
  fromdomain=
  dtmfmode=auto
  disallow=all
  allow=alaw
  allow=ulaw
  callgroup=
  pickupgroup=
  qualify=no
  canreinvite=no

Atenção: Por algum motivo, que não sei explicar, ao reiniciar a máquina o dahdi não sobe correto, ocorre falha. Para corrigir, tem que parar o asterisk e o dahdi e depois iniciar o dahdi e o asterisk. Abaixo o script 'AjusteFinal.sh' que tenho no arquivo '/etc/rc.local':

# vi /etc/AjusteFinal.sh

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/etc/AjusteFinal.sh

Pronto! Só iniciar os testes.

Referências:
Página anterior    

Páginas do artigo
   1. Preparando a distribuição e instalando o DAHDI
   2. Configurar os canais no DAHDI
   3. Instalando os pacotes libpri, openr2 e Asterisk
   4. Arquivos extensions.conf e sip.conf utilizados nessa atividade
Outros artigos deste autor

Instalação da placa PXE Intelbras

Leitura recomendada

Configurando HD via porta USB no Linux

Utilizar cabo de dados USB LG MG105 (Vibecam) no Linux

Configurando o HP CD-Writer 9100 series

Instalando a placa de rede Realtek 8139D

Configurando disquete e pendrive para boot sem suporte na BIOS

  
Comentários
[1] Comentário enviado por ivan.joose em 25/11/2011 - 14:09h

ATUALIZANDO O ARTIGO.

Instalação no debian Lenny e Squeeze.

Debian Lenny.

Utilizar o dahdi 2.1.0.4 e no arquivo pso800.c modificar a linha 2600 conforme abaixo:

de:

if (request_irq(pdev->irq, pso800_interrupt, SA_SHIRQ, "pso800", wc)) {

para:

if (request_irq(pdev->irq, pso800_interrupt, DAHDI_IRQ_SHARED, "pso800", wc)) {

Após essas modificações a compilação correrá sem problemas.

Debian Squeeze.

Utilizar dahdi 2.3.0 e realizar alterações nos arquivos pxe.c e pso800.

Arquivo pxe.c

de:

Linha 1509: wc->tspans[x]->span.bpvcount += (cnt_tmp>>(8*x))&0xff;
Linha 1512: wc->tspans[x]->span.crc4count += (cnt_tmp>>(8*x))&0xff;
Linha 2152: rw_proc_file->owner = THIS_MODULE;

para:

Linha 1509: wc->tspans[x]->span.count.bpv += (cnt_tmp>>(8*x))&0xff;
Linha 1512: wc->tspans[x]->span.count.crc4 += (cnt_tmp>>(8*x))&0xff;
Linha 2152: comentar ou apagar essa linha.

OBS: Pode ser que as linhas modifiquem, então observe se a informação confere.

Arquivo pso800.c

de:

1 if (request_irq(pdev->irq, pso800_interrupt, SA_SHIRQ, "pso800", wc)) {
2 rw_proc_file->owner = THIS_MODULE;

para:

1 if (request_irq(pdev->irq, pso800_interrupt, DAHDI_IRQ_SHARED, "pso800", wc)) {
2 comentar ou apagar a linha.

Após essas modificações a compilação correrá sem problemas.

[2] Comentário enviado por brunosdf em 04/11/2012 - 13:49h

Olá,

Estou seguindo seu tutorial para tentar instalar as placas da Intelbras, mas infelizmente quando inicio o Asterisk aparecem as seguintes mensagens:
WARNING[1040] loader.c: Error loading module 'chan_dahdi.so': libpri.so.1.4: cannot open shared object file: No such file or directory
WARNING[1040] loader.c: Error loading module 'chan_dahdi.so': libpri.so.1.4: cannot open shared object file: No such file or directory
WARNING[1040] loader.c: Module 'chan_dahdi.so' could not be loaded.

Você sabe o que pode ser isso?
Estou utilizando as mesmas versões que você utilizou no tutorial, também instalei o Centos 5.7 x86_64.
Tudo compilou normalmente, sem nenhuma mensagem de erro. Segui o tutorial na ordem.

Obrigado!

[3] Comentário enviado por ivan.joose em 04/11/2012 - 22:39h

Olá Bruno,


Tente os passos abaixo:

Execute o comando:

# ldd /usr/lib/asterisk/modules/chan_dahdi.so
linux-gate.so.1 => (0xb78d6000)
libtonezone.so.2.0 => /usr/lib/libtonezone.so.2.0 (0xb782b000)
libpri.so.1.4 => /usr/lib/libpri.so.1.4 (0xb77bd000) - Verifique se aparece desta forma ou como not found.
libopenr2.so.3 => /usr/lib/libopenr2.so.3 (0xb77a4000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb778b000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7644000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb761e000)
/lib/ld-linux.so.2 (0xb78d7000)

Caso apareça not found, verifique se a libpri.so.1.4 está no diretório /usr/lib:

# ls -ltrh /usr/lib/libpri.so*
-rwxr-xr-x 1 root root 1,6M Fev 17 2012 libpri.so.1.4
lrwxrwxrwx 1 root root 13 Fev 17 2012 libpri.so -> libpri.so.1.4

Caso não tenha a libpri no diretório, coloque no diretório ou recompile o pacote libpri.

Essa a minha dica.

abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts