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

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

Speedtouch USB no Debian

Instalando o OSS4 no Ubuntu 11.04

Instalando o Scanner Scanjet 2300c no Kurumin

Conexão wireless ad-hoc no Ubuntu - relato de experiência

Bioloid Control: Robótica virtual em 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