quarta-feira, 1 de agosto de 2007

Finalmente uma solução definitiva para o FAX no Asterisk

Enviar FAX através do Asterisk tem causado grandes problemas para muitas pessoas. O grande causador é diferença no clock entre o servidor Asterisk e os dispositivos Zaptel (hardware da Digium).

Teoricamente, a cada clock é gerado um pacote de voz (PCM) e isto ocorre a cada 1 ms. Devido a falta de sincronização na geração desses clocks, alguns pacotes de informações podem ser perdidos após um determinado tempo de transmissão.

Por exemplo, uma placa pode gerar um pacote de voz (PCM) a cada 1.0001 ms enquanto que outra placa pode receber a cada 1.0000 ms. Esta diferença sempre existe devido a natureza dos componentes eletrônicos nos equipamentos. Após 10.000 pacotes transmitidos (a cada 10s), um pacote de voz (PCM) é perdido neste caso.

Numa transmissão de uma conversa telefônica, isto somente causará uma perda da qualidade da ligação mas no caso de transmissão de dados, como por exemplo FAX, esse dado perdido causará na perda da sincronização e consequentemente o erro na transmissão do FAX.

Para resolver este tipo de problema, todos os dispositivos Zaptel devem ser sincronizados.

O dispositivo Astribank foi projetado com o Phase Locked Loop (PLL). Este circuito eletrônico recebe o clock de referência de um dispositivo Zaptel e compara com o clock do Astribank, e depois ajusta o clock do Astribank para que fique sempre igual ao da placa Zaptel do Asterisk.

Se forem utilizadas diversas placas Zaptel no sistema, o clock do Astribank é utilizado como o clock principal (master) e todos os Asterisk são sincronizados com o Astribank.

Xorcom adicionou algumas modificações no Zaptel para suportar este tipo de sincronismo, da placa Zaptel em relação ao Astribank. O código está disponível no site da Xorcom e possivelmente isto será implementado nas futuras versões do Zaptel.

Fonte: Xorcom

3 comentários:

Wagner Patriota disse...

Olá Alberto!
Eu estou precisando de um sistema de envio de FAX através de VoIP.
Você poderia me sugerir alguma empresa para serviços de VoIP com pacotes bons?
E para enviar um FAX através do VoIP, o que você me sugere? A minha intenção é fazer um programa em C/C++ usando algum protocolo aberto de VoIP, mas suspeitando das perdas de pacotes, estou me informando sobre os impecilhos e suas soluções... você pode me dar uma orientação?
Obrigado
Wagner
wagner.patriota arroba gmail ponto com

Wagner Patriota disse...

Olá Alberto!
Eu estou precisando de um sistema de envio de FAX através de VoIP.
Você poderia me sugerir alguma empresa para serviços de VoIP com pacotes bons?
E para enviar um FAX através do VoIP, o que você me sugere? A minha intenção é fazer um programa em C/C++ usando algum protocolo aberto de VoIP, mas suspeitando das perdas de pacotes, estou me informando sobre os impecilhos e suas soluções... você pode me dar uma orientação?
Obrigado
Wagner
wagner.patriota arroba gmail ponto com

Alberto M. Sato disse...

Wagner

Você pode utilizar o próprio Asterisk como servidor de FAX; tem muitas empresas fazendo isso e obtendo sucesso.

Para transmitir FAX através de uma operadora VoIP é muito complicado, pois qualquer perda de pacote causará num erro de transmissão do FAX, pois o VoIP nunca faz retransmissão de pacotes. Utilizando o Asterisk como servidor de FAX, o Asterisk transforma o FAX num email com arquivo anexado e transmite até o destino, assim não há perda de nenhum dado na transmissão do FAX.

Sato