LINUX - ASTERISK - dicas

Comando básicos do LINUX (Centos)
 
WebServer
CONFIGURAR TDM 800P / AEX 800P 

A conversão ou migração da telefonia Analógica para Digital é uma realidade, contudo pode parecer um  grande problema para empresas que estruturaram seus sistemas de telefonia baseando-se na tecnologia analógica. A aparente complexidade faz com que projetos de reestruturação sejam evitados por alguns getores, o que deixa suas empresas às margens da evolução dos sistemas de telecomunicações. 

Para atender as mudanças do setor de comunicação, muitas centrais analógicas já apresentam a possiblidade de integração com PBX’s digitais. Mas quando sua central não apresenta esta opção de integração, ou a estrutura funciona com linhas convencionais, disponibilizadas pelas operadoras. O que fazer? Uma solução para integrar linhas analógicas ao Servidor de Telefonia IP (digital) são as placas FXO (Foreign eXchange Office), que recebem as linhas analógicas e convertem em digital para que o servidor possa reconhece-las e então criar os planos de discagem utilizando tais linhas para receber e originar chamadas. 

Agora que conseguimos resolver o problema da migração através de placas FXO, vamos mostrar como é simples realizar a configuração em servidores de telefonia digital Elastix, Snep, Freepbx e vários outros baseados em Asterisk. 

Para este tutorial vamos abordar a configuração das placas FXO TDM 800P e AEX 8000P dois modelos de placas similares em configurações e funcionalidades, mas com encaixes (slots) diferentes. A TDM 410P utiliza barramento PCI, já a placa AEX é conectada através do PCI Express de 1X. Estes dispositivos são similares em funcioinalidades as placas Digium. 

As configurações a seguir servem para ambas as placas.
  • lsdahdi
    Lista todos os canais DAHDI com seus tipos e spans
  • dahdi_genconf
    Gera as configurações padrão para hardware DAHDI.
    Por padrão será criado o system.conf em: /etc/dahdi/
  • dahdi_cfg –v
    Aplica os arquivos gerados pelo comando anterior. Lembrando que –v indica a quantidade de verbose
  • dahdi_tool
    Informa o estado atual dos dispositivos DAHDI conectados ao computador.
    Apresenta valores como Alarmes, SyncSource, Níveis de transferência e recepção ( Tx / Rx) para cada interface.
     
  • Utilize o editor de textos de sua preferência e aplique os seguintes parâmetros:

    nano /etc/asterisk/chan_dahdi.conf

    [channels]
    busydetect=yes
    busycount=6
    usedistinctiveringdetection=yes
    hidecallerid=no
    callerid=asreceived
    usecallerid=yes
    language=pt_BR
    progzone=br
    callwaiting=yes
    threewaycalling=yes
    transfer=yes
    echocancel=yes
    context=from-pstn
    rxgain=3.0
    txgain=2.0
    signalling=fxs_ks
    group=0
    channels= 1-8

     
  • Agora edite o arquivo system.conf e aplique as configurações como descrito a baixo:

    nano /etc/dahdi/system.conf

    fxsks=1
    echocanceller=mg2,1
    fxsks=2
    echocanceller=mg2,2
    fxsks=3
    echocanceller=mg2,3
    fxsks=4
    echocanceller=mg2,4
    # Global data
    loadzone = br
    defaultzone = br

     
  • Para que todas as configurações tenham efeito é preciso reiniciar o servidor asterisk.
    Acesse a CLI do servidor: asterisk -r
    Digite o comando: core restart now

    Espere até que o serviços sejam reiniciados e configure seu plano de discagem.
    Este modelo é aplicado às configurações do Asterisk “puro”, ou seja, sem interação através de interface gráfica. Desta maneira é possível atender as todas distribuições baseadas neste servidor de telefonia IP.
  • Criando os planos de Discagem para receber e realizar ligações através das linhas analógicas conectadas a placa:

    Edite o arquivo e crie as extensões:

    nano /etc/asterisk/extensions.conf

    [teste123]
    exten => _X.,1,Dial(DAHDI/r0/${EXTEN},60,tT) ; -------> qualquer solicitação sairá pela placa FXO
    same => n,Hangup()

    [from-pstn]
    exten => s,1,Progress()
    same => n,Dial(SIP/90,60,tT) -------> Toda chamada que chegar até placa, será direcionada para o ramal 90
    same => n,Hangup()

    Tudo pronto! Agora realize uma chamada e acompanhe os status em seu servidor.