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

2006-04-06 Por tôpico Paulino Kenji Sato
Se querem mesmo uma solução de FXO feito em casa, que tal tentar assim:
Ingredientes:
1 modem com TAD ou Jack para fones/mic
1 Placa de som Full Duplex, ou duas half duplex
1 Conjunto de cabos para ligar o modem a(s) placa(s) de som.
Um software/driver para fazer tudo isso parece uma FXO pro asterisk.

O modem faz a interface eo controle da Linha, a(s) placa(s) de som
fazem a conversão ADC/DAC, eo software trata de dar sentido a tudo
isso.



--
Paulino Kenji Sato
http://www.nobel.com.br/


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

2006-04-06 Por tôpico Andre Ruiz
Praticamente isto.

andre

On 4/6/06, Alex Robertson  wrote:
> Agora entendi.
>
> > Existem "comandos" via serial para isto, que fazem a conversao de
> > "RS-232 para Fax", no protocolo hayes.
> > No caso de microfone e altofalante, pelo que entendo, sao as tais opcoes
> > de voice modem onde o modem tem um tipo de "vamos gravar em memoria e
> > passar via RS232 algo", e onde o prompt e' passado provavelmente de
> > maneira similar, o CPU do PC nao tem realmente acesso direto ao canal de
> > voz PCM e a sinalizacao da interface RJ11 (a do 'telefone' propriamente
> > dito).
>
> Este "vamos gravar em memória e passar via RS2332" deve ser o tal
> CODEC propietário do modem que o André citou, certo?
>
> []s
> --
> Alex G Robertson
> ___
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
> ___
> Acesse o  wiki AsteriskBrasil.org:
> http://www.asteriskbrasil.org
>


--
Andre Ruiz  
Curitiba, PR, Brasil


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

2006-04-06 Por tôpico Alex Robertson
Agora entendi.

> Existem "comandos" via serial para isto, que fazem a conversao de
> "RS-232 para Fax", no protocolo hayes.
> No caso de microfone e altofalante, pelo que entendo, sao as tais opcoes
> de voice modem onde o modem tem um tipo de "vamos gravar em memoria e
> passar via RS232 algo", e onde o prompt e' passado provavelmente de
> maneira similar, o CPU do PC nao tem realmente acesso direto ao canal de
> voz PCM e a sinalizacao da interface RJ11 (a do 'telefone' propriamente
> dito).

Este "vamos gravar em memória e passar via RS2332" deve ser o tal
CODEC propietário do modem que o André citou, certo?

[]s
--
Alex G Robertson


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

2006-04-06 Por tôpico Alex Robertson
Agora me convenceu.
Obrigado pela explicação.

[]s
Alex Robertson

Em 06/04/06, Andre Ruiz escreveu:
> 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  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


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

2006-04-06 Por tôpico Andre Ruiz
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  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  
Curitiba, PR, Brasil


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

2006-04-06 Por tôpico Alex Robertson
Desculpe Julio,

Acho que por não ter entendido muito bem o que você explicou continuo
"esperançoso".
Acho que vamos ter que desenhar para eu entender. :-)
É sério!

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?

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.


Andei brincando (brincando mesmo. muito iniciante) com programação (em
C) das portas paralelas e seriais do computador, na faculdade, há uns
2 ou 3 anos atras.
Muito simplificadamente, fazíamos a comunicação de devices fora do
computador lendo e escrevendo nos endereços de memória certos.
Primeiro tentamos fazer um driver MUITO SIMPLES de impressão.
Conseguimos imprimir "hello world" (eheh), mas como o grupo era um
pouco limitado na programação paramos por aí e passamos apenas a
interagir com outros devices menos exigentes no que diz respeito a
tempos, handshakes etc.


Por isso ainda acredito que seja possível (re)programar o driver de
determinada placa de Fax/MODEM.

É claro que não vai ser fácil. Estudar como ela interage com o sistema
operacional e fazer isto acontecer não é tarefa para programador de
final de semana. Por isso mesmo, não sou eu que vou programar. ;-)


[]s
Alex Robertson


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

2006-04-06 Por tôpico Alex Robertson
Concordo com o Andre.
Acho que é só (como se fosse fácil) questão de programação.


Afinal, já existem programas que recebem e envian fax usando placas de
FAX/Modem "normais", mesmo as que não são windmodem. Se não fosse
assim, elas nã teriam a função que tem!

Acredito que só falta fazer a interface entre o asterisk e o driver do
MODEM X ou Y.

Será que o código do Hylafax não ajudaria neste caso?
http://www.hylafax.org

[]s
Alex Robertson


Em 06/04/06, Andre Ruiz escreveu:
> Já se discutiu muito sobre extender esse suporte aos Lucent (também
> winmodems), já que o código quase completo para o chipset dele está
> disponível (existe até um programa pronto pra fazer secretária
> eletrônica com um lucent no linmodens.org). Só falta alguém meter a
> mão :-)
>
> Outros winmodems também poderiam funcionar bem, mas o maior problema
> seria ter acesso às especificações necessárias.
>
> Esses drivers normalmente vem de americanos, já que eles chegam no
> problema antes da gente (geralmente, por uma questão de timing apenas,
> não desmerecendo ninguém aqui) e tem bom conhecimento pra escrever os
> drivers. Mas, hoje, um americano compra uma placa da digium com 4 FXOs
> por algumas centenas de dolares, com cancelador de eco por hardware...
> pra que perder tempo escrevendo driver pra winmodem? O jeito vai ser
> fazer isso por aqui mesmo...
>
> andre
>
>
>
> On 4/5/06, Hermann Wecke  wrote:
> > Itamar Reis Peixoto wrote:
> > > Acho que o que falta mesmo é um cara bom de programacao para fazer
> > > isto.
> >
> > quando as primeiras placas clones começaram a ser usadas, era necessário
> > modificar o código fonte para que o asterisk "permitisse" o
> > reconhecimento e aceitasse a placa. Depois de alguns meses (talvez pouco
> > mais de um ano), o código foi oficialmente "incorporado" ao asterisk e
> > hoje você pode colocar uma clone da X100P sem precisar alterar o fonte.
> >
> > --++
> >Em 2006, faça um político trabalhar: não o reeleja.
> > ___
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
> > ___
> > Acesse o  wiki AsteriskBrasil.org:
> > http://www.asteriskbrasil.org
> >
>
>
> --
> Andre Ruiz  
> Curitiba, PR, Brasil
> ___
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
> ___
> Acesse o  wiki AsteriskBrasil.org:
> http://www.asteriskbrasil.org
>


--
Alex G Robertson


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

2006-04-06 Por tôpico Andre Ruiz
Já se discutiu muito sobre extender esse suporte aos Lucent (também
winmodems), já que o código quase completo para o chipset dele está
disponível (existe até um programa pronto pra fazer secretária
eletrônica com um lucent no linmodens.org). Só falta alguém meter a
mão :-)

Outros winmodems também poderiam funcionar bem, mas o maior problema
seria ter acesso às especificações necessárias.

Esses drivers normalmente vem de americanos, já que eles chegam no
problema antes da gente (geralmente, por uma questão de timing apenas,
não desmerecendo ninguém aqui) e tem bom conhecimento pra escrever os
drivers. Mas, hoje, um americano compra uma placa da digium com 4 FXOs
por algumas centenas de dolares, com cancelador de eco por hardware...
pra que perder tempo escrevendo driver pra winmodem? O jeito vai ser
fazer isso por aqui mesmo...

andre



On 4/5/06, Hermann Wecke  wrote:
> Itamar Reis Peixoto wrote:
> > Acho que o que falta mesmo é um cara bom de programacao para fazer
> > isto.
>
> quando as primeiras placas clones começaram a ser usadas, era necessário
> modificar o código fonte para que o asterisk "permitisse" o
> reconhecimento e aceitasse a placa. Depois de alguns meses (talvez pouco
> mais de um ano), o código foi oficialmente "incorporado" ao asterisk e
> hoje você pode colocar uma clone da X100P sem precisar alterar o fonte.
>
> --++
>Em 2006, faça um político trabalhar: não o reeleja.
> ___
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
> ___
> Acesse o  wiki AsteriskBrasil.org:
> http://www.asteriskbrasil.org
>


--
Andre Ruiz  
Curitiba, PR, Brasil