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.724 ]

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

Melhorando a performance das aplicações em redes de longa distância

Endianness - Arquitetura de computadores

O MP3 player e o Ogg Vorbis

Placa de vídeo Nvidia no Ubuntu Hardy

Hardmodem PCI US Robotics

  
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