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

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


Instalando os pacotes libpri, openr2 e Asterisk



1. Instalar o pacote libpri.

Entre no diretório '/usr/src/libpri-1.4.12/' e execute os comando:

# make
# make install


2. Instalar o pacote openr2.

# cd /usr/src/openr2-1.3.0/
# ./configure --prefix=/usr
# make
# make install


Obs.: Tem que ser nesse diretório para não ter problemas futuros.

3. Instalar o pacote do Asterisk.

# cd /usr/src/asterisk-1.6.2.20
# ./configure --prefix=/usr
# make
# make install
# make samples
# make config


Para saber se instalou o suporte a 'MFC/R2' execute:

# ldd channels/chan_dahdi.so | grep openr2

Obs.: Dentro do diretório onde está as fontes do Asterisk.

Se a resposta for: libopenr2.so.3 => /usr/lib/libopenr2.so.3 (0xb7ea9000)

Openr2 instalado, ok. E seu Asterisk com suporte a link r2d.

4. Configurar os canais para o Asterisk

Edite o arquivo:

# vi /etc/asterisk/chan_dahdi.conf

E cole o seguinte:

  [trunkgroups]

  [channels]
  language=pt_BR
  usecallerid=yes
  hidecallerid=no
  callwaiting=> yes
  usecallingpres=> yes
  callwaitingcallerid=yes
  threewaycalling=yes
  transfer=yes
  cancallforward=yes
  callreturn=yes
  immediate=no
  callerid=asreceived
  faxdetect=both
  loglevel=255
  mfcr2_logging=all
  mfcr2_call_files=yes
  mfcr2_accept_on_offer=yes
  dtmfmode=rfc2833

  signalling=mfcr2
  mfcr2_variant=br
  mfcr2_get_ani_first=yes
  mfcr2_max_ani=20
  mfcr2_max_dnis=20
  mfcr2_category=national_subscriber
  mfcr2_allow_collect_calls=yes
  mfcr2_double_answer=no
  mfcr2_logdir=span1
  mfcr2_advanced_protocol_file=/etc/asterisk/mfcr2_1.conf
  rxgain=0.0
  txgain=0.0
  context=TR001
  group=1
  callgroup=1
  pickupgroup=1
  echocancel=no
  echocancelwhenbridged=no
  backwards=no
  mfcr2_call_files=yes
  channel => 1-15,17-31

  signalling=mfcr2
  mfcr2_variant=br
  mfcr2_get_ani_first=yes
  mfcr2_max_ani=20
  mfcr2_max_dnis=20
  mfcr2_category=national_subscriber
  mfcr2_allow_collect_calls=yes
  mfcr2_double_answer=no
  mfcr2_logdir=span2
  mfcr2_advanced_protocol_file=/etc/asterisk/mfcr2_2.conf
  rxgain=0.0
  txgain=0.0
  context=TR002
  group=2
  callgroup=1
  pickupgroup=1
  echocancel=no
  echocancelwhenbridged=no
  backwards=no
  mfcr2_call_files=yes
  channel => 32-46,48-62

  context=TR003
  switchtype=euroisdn
  signalling=pri_net
  echocancel=yes
  echocancelwhenbridged=yes
  disallow=all
  allow=ulaw
  group=3
  callgroup=0
  pickupgroup=0
  canpark=yes
  amaflags=billing
  accountcode=e1test
  callprogress=yes
  progzone=br
  mohinterpret=default
  mohsuggest=default

  context=TR004
  switchtype=euroisdn
  signalling=pri_net
  echocancel=yes
  echocancelwhenbridged=yes
  disallow=all
  allow=ulaw
  group=4
  callgroup=0
  pickupgroup=0
  canpark=yes
  amaflags=billing
  accountcode=e1test
  callprogress=yes
  progzone=br
  mohinterpret=default
  mohsuggest=default
  channel => 94-108,110-124

  signalling=fxs_ks
  context=analogico
  busycount=5
  busydetect=no
  callprogress=no
  pulsedial=no
  echocancel=64
  echocancelwhenbridged=64
  rxgain=0.0
  txgain=0.0
  group=5
  cidsignalling=dtmf
  cidstart=polarity
  relaxdtmf=yes
  channel => 125-132

Depois crie o seguinte arquivo:

# vi /etc/asterisk/mfcr2_1.conf

E cole:

  mf_gb_tones.unallocated_number=7
  mf_gb_tones.reject_collect_call=7
  timers.mf_back_resume_cycle=150
  timers.mf_back_cycle=1500
  timers.mf_fwd_safety=10000
  timers.r2_metering_pulse=200
  timers.r2_seize=8000
  timers.r2_answer=80000

Salve e faça o seguinte:

# cp -p /etc/asterisk/mfcr2_1.conf /etc/asterisk/mfcr2_2.conf

Obs.: Teremos apenas 2 arquivos desses, pois só teremos as 2 primeiras posições como 'R2D'.

Reinicie a máquina.

Ao reiniciar entre no Asterisk.

# asterisk -rvvvvvvvv
CLI> dahdi show channels
   Chan Extension  Context         Language   MOH Interpret
pseudo            default                    default
      1            TR001           pt_BR      default
      2            TR001           pt_BR      default
      3            TR001           pt_BR      default
      4            TR001           pt_BR      default
      5            TR001           pt_BR      default

CLI> mfcr2 show channels
Chan Variant Max ANI Max DNIS ANI First Immediate Accept Tx CAS   Rx CAS
   1 BR      20      10       Yes       No               IDLE     IDLE
   2 BR      20      10       Yes       No               IDLE     IDLE
   3 BR      20      10       Yes       No               IDLE     IDLE
   4 BR      20      10       Yes       No               IDLE     IDLE

Se aparecer isso, aparecerão todos os seus canais, máquina OK para testes com E1.

Obs.1: Realizado testes com um PABX 141 Digital Intelbras com a sinalização R2D e Impacta 220 Intelbras nas 2 sinalizações (R2D e ISDN/RDSI) e testes ok.

Ligação de 5 horas sem quedas. Não foi possível um teste com Link E1 de uma operadora. Se tiver alguém que possa fazer esse cenário e postar pra gente como foi a experiência será muito bom.

Obs.2: Para a Impacta funcionar corretamente em ISDN/RDSI fazer o seguinte, ir em: Portas -> Tronco E1 -> Link 1 (ser for o link 1) -> Programações No item 'Tipo de sincronismo CRC 4', no item Plano de numeração padrão colocar dados e, por fim, no item 'Tipo de numeração padrão', colocar Nacional.
Linux: Instalar placas Intelbras PXE 445 e PSO 800 no CentOS 5.7

Página anterior     Próxima página

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

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

Configuração da função de webcam para a famosa Breeze Cam

Instalando o modem Huawey E1556 no GNU/Linux

Dispositivos no Linux

Leitora SafeSign de e-CPF no Linux

  
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