Re: [AsteriskBrasil] Dúvida (talvez) básica - MODEMs

Andre Ruiz andre.ruiz em gmail.com
Quinta Abril 6 14:30:25 BRT 2006


Não é possível, esqueça. Pelo menos não do jeito que os da
Intel/Motorola foram feitos. São dois universos completamente
diferentes, não vai dar pra adaptar o driver atual.

Eu mesmo disse há alguns dias que alguém já se meteu a fazer um driver
que funcione com os modems antigos, mas funiona em half-duplex e tem
outros problemas.

Não deixe o fato de o modem passar fax e ser voice enganar você, veja
os motivos do porque abaixo, no seu texto comentado:

On 4/6/06, Alex Robertson <agr.listas em gmail.com> wrote:

> Meu pensamento é assim:
> Como pode um programa para window$ (não conheço outro para linux a nao
> ser o hylafax) enviar e receber fax, fazer e receber chamadas
> utilizando o microfone e o auto-falante do PC e como pode ele
> conseguir gravar as chamadas em uma secretária eletrônica?

Tudo feito via serial, sem acesso direto ao hardware. O modem tem um
fax embutido nele (um dos protocolos V32 ou algo assim). O windows
apenas manda um comando AT+XXX pro modem, senta e fica esperando....
esperando.... esperando... daí a pouco vem uma enxurrada de bytes que
foram a imagem, num formato padrão HAYES, ou as vezes proprietário. O
windows não sabe como modular o sinal de linha do fax... não sabe se
deu erro ou não, o trabalho sujo é feito no modem.

O voice é a mesma coisa. O windows (ou qualquer outro software, como
vgetty por exemplo), manda um AT+XXX pro modem pra colocar ele em modo
voice. Daí pra frente, começa a trocar sequências de áudio (streams)
no formato proprietário do modem (praticamente uma CODEC como as do
asterisk). O modem manda para o micro o audio que ele coleta na linha
e o software manda pra ele o audio que quer que ele toque.

Problemas:
1) os mesmos do fax, o windows nao sabe o que está acontecendo a menos
que o modem avise, ele fica esperando sem ter acesso ao sinal de linha
do telefone.
2) a voz passa em modo half-duplex pro outro lado, porque o modem não
precisa de full-duplex pra fazer secretária eletronica (alguns até
tem... mas é raríssimo).
3) a tal codec *tem* compactação e ainda passa em 8kHz normalmente,
esqueça qualquer tentativa de passar sinal de modem ou fax por ele.
Procure por RMD dos modems USRobotics e vai ver como é feito.

> De alguma forma, o software "fala" com o hardware.
> Essa forma é interface entre entre o sistema operacional e o
> hardware/firmware do modem, o driver.

Não, é interface direta da aplicação com o modem. O sistema
operacional provê apenas a porta serial, que é toda a interface que
eles precisam.

Gaste seu tempo com algo mais promissor, tente portar o driver atual
para o Winmodem Lucent PCI, que ainda é fácil de achar... Vai ter que
lidar com barramento PCI, entrada e saída de dados direto nas portas
de I/O ou memorymapped I/O, etc. O lado bom é que tem muita coisa
pronta já no linmodems.org.

Abraços!
andre







--
Andre Ruiz  <andre.ruiz em gmail.com>
Curitiba, PR, Brasil


Mais detalhes sobre a lista de discussão AsteriskBrasil