novembro 2017
D S T Q Q S S
« ago    
 1234
567891011
12131415161718
19202122232425
2627282930  

Suporte a identificador de chamadas padrão Telebrás em placas DAHDI (Digium)

Tenho uma placa Digium TDM421p de 4 canais que utilizo a muito tempo, sempre com um conversor de identificador de chamadas padrão Telebrás para FSK, mas nem sempre funciona, pois o conversor não é muito confiável.

Estes dias estava pesquisando e encontrei no bugtrack do Asterisk um ticket exatamente sobre o suporte ao padrão brasileiro, contendo vários patches, e muitos desatualizados, conflitantes, em resumo, estava bem bagunçado. Utilizando os patches deste ticket, fiz uma versão de patch limpa para a release 1.6 do Asterisk, e já estou utilizando a uns meses, e bem estável.

O padrão Telebrás é um pouco diferente dos outros poucos padrões que utilizam tons DTMF para identificadores de chamada, sendo que o padrão brasileiro não inverte a polaridade da linha para sinalizar o início de uma chamada, ou seja, o equipamento deve manter sempre a monitoria do áudio do canal para identificar tons DTMF. Basicamente o que este patch faz é permitir que o driver DAHDI fique “escutando” a linha enquanto estiver ociosa aguardando por tons DTMF, e processando os mesmos quando identificados e repassando a variável ao Asterisk. Não fiz testes para verificar se este procedimento aumenta o consumo de CPU, mas creio que deva, apesar de não ter idéia se é muito ou pouco.

O patch é aplicado no Asterisk, que já possui o chan_dahdi em seu código. Então, você irá precisar dos seguintes arquivos para compilar o Asterisk:

Lembrando que antes de compilar, você deve ter instalado no seu sistema o dahdi-linux e o dahdi-tools (ambos links para última versão, 2.5.0).

Para compilar, utilize os seguintes comandos:

tar zxvf asterisk-1.6.2.20.tar.gz
zcat asterisk-nopolarity-dahdi-cid.diff_.gz | patch -p0
cd asterisk-1.6.2.20
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64
make
make install

Após instalado, no arquivo /etc/asterisk/chan_dahdi.conf você terá o novo valor dtmf para a variável cidstart, e terá uma nova variável, chamada dtmfcidlevel.

Basta alterar o valor de cidstart para dtmf. Normalmente o valor de dtmfcidlevel para 256 está bom, altere apenas se você tiver problemas.

3 comentários para Suporte a identificador de chamadas padrão Telebrás em placas DAHDI (Digium)

  • Reginaldo

    mas ja usamos uma plataforma asterisk, eu teria que baixar de novo ou somente o Patch DTMF no-polarity

  • Reginaldo,

    a aplicação deste patch requer a compilação do Asterisk e instalação. Isto tem que ser feito de forma manual. Pelo que imagino, tu utiliza algum sistema tipo TrixBox ou similar, o que tornaria um pouco mais complexo o uso de um patch na aplicação.
    Te aconselho, caso não tenha conhecimento mais profundo de Linux, a procurar ajuda de um profissional para avaliar como melhor implementar o patch. Se for muito complicado, tem ainda a opção de utilizar um conversor DTMF para FSK (utilizei por um bom tempo um, e funciona razoavelmente bem).

  • Reginaldo

    na verdade usamos o elastix