Bruno,
Veja se esse link te ajuda.
http://www.helviojunior.com.br/voip/asterisk-callerid-netfone-oi/
Att,
Hélvio Junior
SafeId - Gestão de identidades e Acessos
+55 41 | 9893-2694, single-sign-on.com.br
helvio.jun...@safetrend.com.br
On 18/05/2015 16:36, Bruno Correia wrote:
Seguinte pessoal, estou com um problema que vi ser bastante comum uns
3 anos atrás (pelo menos em meados de 2011~2013) pela data dos
comentários na lista. Já li de tudo e não consegui resolver a questão
de recebimento do callerid.
Tenho uma placa TDM410P com 4 FXO e uma linha analógica da GVT.
Pesquisando sobre os tipos de sinalização, vi que aqui no Brasil as
operadoras utilizam quase que na totalidade DTMF e somente a GVT
utilizaria FSK, então em tese o Asterisk não deveria ter problemas em
me exibir o valor do parâmetro ${CALLERID(num)} já que o dahdi não
teria problemas em identificar o mesmo (Utilizo a versão 2.10.0.1 do
Dahdi com Asterisk 11.17.1).
Connected to Asterisk 11.17.1 currently running on asterisk (pid = 2686)
asterisk*CLI> dahdi show version
DAHDI Version: 2.10.0.1 Echo Canceller: MG2
Então encontrei esse Troubleshooting no site da Digium ->
http://kb.digium.com/articles/Configuration/Troubleshooting-missing-caller-ID-on-Analog-calls
. Capturei a entrada no canal correspondente e ao escutar percebe-se
nitidamente que o CALLERID é enviado (tinha confirmado com a operadora
mas mesmo assim não estava confiando) e que é enviando imediatamente
antes do primeiro ring, aparentemente sem nenhuma sinalização prévia
(audível para nós).
Lendo em alguns lugares vi que esse padrão faz parte da sinalização
DTMF, o que fiz? Para resolver de uma vez por todas meus problemas
comprei um conversor DTMF -> FSK (sendo mais específico, este ->
http://www.lojamatel.com.br/produto/conversor-dtmf-operadora-amp-gt-fsk-equipamento/554)
e para minha surpresa comecei a capturar o CALLERID "esporadicamente",
o intrigante é que ao capturar o áudio do canal de comunicação, o
padrão continua da mesma maneira, o CALLERID sendo recebido
imediatamente antes do primeiro ring e sem nenhuma "aviso prévio" (não
sei se escutaria alguma coisa com relação a inversão de polaridade).
Minha configuração no chan_dahdi.conf está:
[channels]
...
usecallerid=yes
cidsignalling=bell
cidstart=ring
...
OBS.: Essa é a única configuração que consigo enxergar o CALLERID
algumas vezes, já percebi que ele só é mostrado quando a URA atende a
ligação no segundo ring (do ponto de vista do chamador), antes disso
(quando uso bell/pollatiry por exemplo) ele atende após o primeiro
ring (do ponto de vista do chamador) e simplesmente não exibe, as
vezes no terceiro ring e também não exibe. E ainda por vezes no
segundo ring, mas ocorre o seguinte erro:
-- Starting simple switch on 'DAHDI/1-1'
[May 18 12:57:56] ERROR[3302][C-00000028]: callerid.c:566
callerid_feed: No start bit found in fsk data.
[May 18 12:57:56] WARNING[3302][C-00000028]: chan_dahdi.c:1833
my_get_callerid: Failed to decode CallerID
[May 18 12:57:56] WARNING[3302][C-00000028]: sig_analog.c:2575
__analog_ss_thread: CallerID returned with error on channel 'DAHDI/1-1'
Mesmo praticamente em toda informação da GVT sobre sinalização
afirmando que ela utiliza FSK (a maioria antiga, como essa ->
http://jefferson-ryan.blogspot.com.br/2009/12/o-servico-identificador-de-chamadas-da.html)
estou balançado sobre estarem utilizando DTMF. Digo isso, porque
peguei o fluxo capturado no dahdi_monitor, converti em WAV e o rodar
no multimon
(http://skoroneos.blogspot.com.br/2009/12/solving-asterisk-dtmf-callerid-issues.html)
para extrair as informações do áudio, utilizei os parâmetros para
sinalização DTMF e consegui ver o CALLERID em texto plano corretamente.
Muito se fala sobre o problema em detectar CALLERID em DTMF no
Asterisk desde a época do Zaptel, o Dahdi ainda tem esse problema?
Lendo encontrei o link abaixo, mas as informações são antigas.
https://issues.asterisk.org/jira/browse/DAHLIN-4
Ainda sem me conformar comprei um identificador de chamada para testar
se a origem é sempre reconhecida já que poderia ser algum problema na
minha operadora, (sendo mais específico, este ->
http://www.lojamatel.com.br/produto/identificador-de-chamadas-maxtel-zk20/335)
mas para minha não surpresa, a resposta foi afirmativa para o
recebimento, em todas as chamadas aparece o CALLERID corretamente, ou
seja, de alguma maneira deve ter como idenficá-lo sem erros no
Asterisk, agradeceria muito se alguém que conhece a solução ou que já
passou por isso pudesse me ajudar.
Resumindo:
Asterisk -> 11.17.1
DAHDI -> 2.10.0.1
Placa -> TDM410P 4FXO Similar
(http://www.lojamundi.com.br/tdm410p-fxo-placa-asterisk.html)
Módulo -> wctdm24xxp
Captura do Canal, CALLERID aparece na variável ${CALLERID(num)}
https://colaborar.us/FUNCIONOU.wav
Captura do Canal, CALLERID NÃO aparece na variável ${CALLERID(num)}
https://colaborar.us/NAO_FUNCIONOU.wav
OBS.: No áudio que funcionou, você nota um ruído após o segundo ring e
logo antes do atendimento pela URA, SEMPRE que o CALLERID aparece, o
perfil do áudio é desta maneira, segue parte com "visual" de ambos no
Audacity e destaque da parte que comentei:
https://colaborar.us/comparacao_func_nfunc.png
--- Arquivos de configuração
--/etc/modprobe.d/dahdi.conf--
# You should place any module parameters for your DAHDI modules here
# Example:
#
# options wctdm24xxp latency=6
options wctdm24xxp opermode=BRAZIL
--/etc/modprobe.d/dahdi.conf--
--/etc/asterisk/chan_dahdi.conf--
[channels]
language=pt_BR
usecallerid=yes
usercallingpress=yes
cancallforward=yes
hidecallerid=no
callreturn=yes
echocancel=yes
callwaiting=yes
transfer=yes
canpark=yes
rxgain=0.0
txgain=0.0
cidsignalling=bell
cidstart=ring
#include /etc/asterisk/dahdi-channels.conf
--/etc/asterisk/chan_dahdi.conf--
--/etc/asterisk/dahdi-channels.conf--
; Span 1: WCTDM/0 "Wildcard TDM410P" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
;callerid=
;group=
context=default
...
--/etc/asterisk/dahdi-channels.conf--
--/etc/dahdi/system.conf--
# Autogenerated by /usr/sbin/dahdi_genconf on Fri Jan 9 03:51:31 2009
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCTDM/0 "Wildcard TDM410P" (MASTER)
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
--/etc/dahdi/system.conf--
_______________________________________________
WORKOFFEE KHOMP: em Junho serão 2 edições do workshop
gratuito da Khomp: dia 11 em Brasília, e dia 18 em Curitiba
Aproveite e conheça os lançamentos: EBS Server PRO e UMG 100
Garanta sua vaga e saiba mais em: www.workoffee.com.br
_______________________________________________
DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM,
FXO e FXS para Asterisk e Elastix. Temos Cursos de Telefonia IP e
Asterisk.
Construa soluções de PABX IP com produtos DigiVoice - visite
www.digivoice.com.br
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco
para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
_______________________________________________
WORKOFFEE KHOMP: em Junho serão 2 edições do workshop
gratuito da Khomp: dia 11 em Brasília, e dia 18 em Curitiba
Aproveite e conheça os lançamentos: EBS Server PRO e UMG 100
Garanta sua vaga e saiba mais em: www.workoffee.com.br
_______________________________________________
DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM, FXO e FXS
para Asterisk e Elastix. Temos Cursos de Telefonia IP e Asterisk.
Construa soluções de PABX IP com produtos DigiVoice - visite
www.digivoice.com.br
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org