[AsteriskBrasil] Fwd: Asterisk enviando e obtendo audio da placa de som e porta serial
Carlos Delfino
consultoria em carlosdelfino.eti.br
Sexta Junho 27 09:07:31 BRT 2014
Obrigado a todos pelas respostas.
Realmente Eder, vai dar um trabalho danado, por isso vou dividir em etapas,
até mesmo para o aprendizado.
Jefferson e Rafael, acredito que o proposto não irá me atender, ou me levam
por caminhos que não são bem o que desejo.
Eder, eu tenho uma linha serial que com certeza irá funcionar a mais de
19200 bauds, portanto tenho certeza que posso enviar amostragens de 8Khz a
10ˆ2 de resolução sem problemas, e é também o que conseguirei gerar para o
caminho inverso.
Bem indo por etapas resolvi primeiro enviar apenas caracteres, isso é o que
mais importa agora, ou seja, ao receber uma ligação em um determinado ramal
este envia para a porta serial os dados da ligação, e se houver
atendimento, envia as sequências DTMFs geradas pela respetiva serial.
Em segunda etapa, envio o audio caso seja necessário. Havia pensado em
enviar o audio em primeiro instante devido o sinal DTMF, mas depois percebi
que o próprio Asterisk pode interpretar o DTMF e reenviar em formato ASCII.
O plano de discagem seria este:
[arduinisk]
exten => s, 1, NoOp
exten => s, 2, Set (RegX = "([a-zA-Z0-9] +)")
exten => s, 3, Set (CCIDNAME = $ ["$ {CALLERIDNAME}" $ {RegX}])
exten => s, 4, Set (RegX = "([0-9] +)")
exten => s, 5, Set (CCIDNUM = $ ["$ {CALLERIDNUM}" $ {RegX}])
exten => s, 6, ComunicaSerial ("$ {DATETIME}, $ {CCIDNAME}, $ {CCIDNUM}")
Mais uma vez obrigado a todos.
--
Carlos Delfino
Consultor
Tel: (31) 8406-9811 (claro) (31) 9838-7171 (vivo)
Conheça o Curso Arduino Minas: http://www.carlosdelfino.eti.br/cursoarduino
Sobre mim: http://about.me/CarlosDelfino
Em 26 de junho de 2014 14:48, Eng Eder de Souza <eder.souza em bsd.com.br>
escreveu:
> Uma alternativa é ter acesso ao canal diretamente no servidor Asterisk, o
> áudio pode ser acessado diretamente via file descriptor e para cada canal
> aberto durante uma ligação o sinal pode ser simplesmente extraÃdo frame a
> frame e despejado em um buffer paralelo, ou seja você poderia transmitir
> via stream dentro de pacotes UDP ou cuspir o sinal por uma porta serial,
> vai depender somente da sua necessidade.
>
> Existem alguns pontos para se pensar e estudar, eu sei que a porta serial
> trabalha em uma velocidade especifica, de modo geral 9,600 bits, cada bloco
> capturado do Asterisk vai estar amostrado em 16 bits a 8000Hz, wow seus
> problemas só estão começando perceba que a largura de banda da sua porta
> serial vai provocar algum atraso de aproximadamente o dobro do executado,
> uma solução é ver se a comunicação de sua porta serial suporta velocidades
> maiores como por exemplo 19,200 bits e mesmo assim com esse valor você vai
> estar muito perto do limite. lembre que ainda tem o tempo gasto no
> processamento de captura do frame, a velocidade vai estar explicitamente
> ligado com a sincronia dos frames extraÃdos, ou seja ou você dá banda para
> o sinal trafegar ou crie um método de enfileiramento para não perder algum
> frame durante o despejo em sua porta serial ...
>
> Sempre observei que portas seriais interpretam código ASCII, não sei se
> isso é regra, se for vai depender que você converta cada sample de seu
> frame para o valor equivalente (serialização), eu sei que o formato de
> áudio raw do Asterisk está em 16bits e em short int ou seja cada sample
> pode estar entre este range −32768 até 32767, você converte cada valor
> para o seu equivalente em ASCII e cruze os dedos para o seu arduino fazer o
> processo inverso ou seja converter novamente de ASCII para short int
> encodar os valores recebidos e tocar em algum speaker!
>
>
> Ou seja vai dar um trabalhinho lol
>
>
>
>
>
>
>
>
>
>
> Em 26 de junho de 2014 08:30, Jefferson B. Limeira <jbl em internexxus.com.br
> > escreveu:
>
>> linphone também tem uma interface console.
>>
>> Não tinha pensado em usar um softphone para uma solução destas, mas é uma
>> ótima saÃda...
>>
>> Em 2014-06-25 23:19, Rafael dos Santos Saraiva escreveu:
>>
>> Boa Noite Carlos
>>
>> Dê uma olhada no projeto sipcmd <http://sipcmd.sourceforge.net/>, é um
>> softphone em linha de comando, creio que seja a melhor forma de trabalhar
>> com saÃdas e entradas diretamente no servidor para o Asterisk.
>>
>>
>> Att,
>> *Rafael dos Santos Saraiva*
>>
>> --
>> []'s Jefferson B. Limeirajbl em internexxus.com.br(41) 9928-8628
>>
>>
>> _______________________________________________
>>
>> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu
>> conhecimento na tecnologia e portfólio Khomp. Próxima edição
>> em BELO HORIZONTE, 26 de junho. Inscrições GRATUITAS.
>> Garanta a sua vaga e saiba mais em: www.workoffee.com.br
>> _______________________________________________
>> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia
>> IP .
>> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
>> Banco de Canais Analógicos – Appliance Asterisk
>> Acesse www.aligera.com.br
>> _______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>
>
>
> _______________________________________________
>
> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu
> conhecimento na tecnologia e portfólio Khomp. Próxima edição
> em BELO HORIZONTE, 26 de junho. Inscrições GRATUITAS.
> Garanta a sua vaga e saiba mais em: www.workoffee.com.br
> _______________________________________________
> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia
> IP .
> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Banco de Canais Analógicos – Appliance Asterisk
> Acesse www.aligera.com.br
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20140627/f62a9a3f/attachment.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil