Saiba como solucionar a questão de travamento de linhas analógicas utilizando o adaptador ITC4000 da Intelbras em placas de troncos analógicos no Asterisk.
Tenho um servidor com o Elastix versão 2.4 utilizando duas placas analógicas da Digium de 4 canais FXO cada placa, conectadas a interfaces de celular ITC 4000 da Intelbras. Esporadicamente ocorre um problema ao ser encerrada uma chamada, deixando a linha presa na interface de celular. Posteriormente, o tronco FXO fica bloqueado como se uma ligação estivesse em andamento, apesar da ligação já ter sido encerrada na adaptadora ITC 4000. O canal fica ocupado até que a interface de celular seja desligada e ligada novamente.
Buscando a solução para o problema, após muito pesquisar na Internet e tentar diferentes sugestões, a única que definitivamente (e maravilhosamente bem) resolveu o problema, foi esta, compartilhada por Nicolas Tanski Pavão em uma lista de discussão: http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil.
Segue a solução:
1º) Para detecção do desligamento das chamadas habilitei no aparelho da Intelbras ITC 4000 a inversão de polaridade
2º) Adicionei no arquivo /etc/asterisk/chan_dahdi.conf as variáveis de inversão de polaridade para atendimento e desligamento, ficando o arquivo conforme abaixo:
[trunkgroups]
[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
toneduration=100
loadzone=br
defaulzone=br
progzone=br
;Uncomment these lines if you have problems with the disconection of your analog lines
busydetect=yes
busycount=2
callprogress=yes
relaxdtmf=yes
busypattern=250,250
hanguponpolarityswitch=yes
answeronpolarityswitch=yes
usedistinctiveringdetection = yes
ringtimeout=8000
immediate=yes
#include dahdi-channels.conf
#include chan_dahdi_additional.conf