Ticket #506 (new melhoria)
Implementar um Cliente Voip Web para Expresso
Reported by: | marciostarke | Owned by: | alexandrecorreia |
---|---|---|---|
Priority: | normal | Milestone: | Backlog do Produto |
Component: | ExpressoMessenger | Version: | |
Severity: | média | Keywords: | Voip, SIP, IAX |
Cc: | WorkGroup: | Inovação |
Description (last modified by niltonneto) (diff)
Objetivo:
Implementar um Cliente Voip Web consiste em inserir um Softphone na interface do Expresso. Para que esse cliente seja bem aproveitado é importante possuir as seguintes características:
– Deverá funcionar integrada ao Expresso Livre;
– Não deverá ser baseada em bibliotecas locais na estação;
– Deverá funcionar independente de plataforma e navegador;
– Deverá funcionar independente de permissões de usuários do sistema operacional;
– Toda a configuração (servidor, usuário, senha e codec) deverá ser integrada à solução;
– Deverá permitir o registro em um servidor asterisk;
– Deverá efetuar e receber chamadas de voz;
– As chamadas de voz poderão ser iniciadas a partir de um teclado numérico ou a partir do Click2Dial do Expresso;
– Emitir aviso de recebimento de chamadas por áudio (ring) e mensagem visual;
– Permitir configuração de áudio da estação (entrada e saída);
– Permitir ao usuário escolher status: conectado/desconectado;
– Suportar envio de dígitos DTMF conforme RFC2833;
– Permitir escolha de codecs (iLBC, GSM, G.711-A, G.711-u) a serem definidos.
– A ferramenta deverá permitir configurações que possibilitem a utilização da solução em diferentes ambientes (redes com NAT por exemplo);
Como o produto desse projeto deve ser executado dentro do browser, sem a necessidade de instalação de programa/biblioteca/driver adicional, ser independente de browser/plataforma/sistema operacional e independente de permissões de usuário foi verificado que a solução se restringe a utilização de flash ou java.
A implementação em Flash utiliza um servidor de streaming RTMP para enviar o audio para o cliente no browser. É no servidor que é realizada a transação SIP/RDP com o serviço de telefonia IP. Isso implica na transparência de configuração do cliente para atravessar redes com NAT e Firewalls. A implementação do uso dos dispositivos multimedia na estação do usuário é facilitada pela natureza das aplicações Flash, que em sua maioria se destina a isso. No entanto, a solução em Flash somente funciona no plugin proprietário da Adobe, sendo que os plugins livres, gnash ou swfdec, não podem ser utilizados por não possuirem suporte a captura de áudio.
Em Java há a possibilidade de implementação do cliente SIP totalmente na estação ou utilizando streaming RTP ou RTMP para se comunicar com um servidor. A implemtentação com cliente SIP totalmente na estação incorrerá nos problemas intrínsicos do SIP para atravessar NAT e Firewalls. A utilização de streaming contornaria esse problema, no entanto a utilização do protocolo RTP é recomentada por ter sua especificação aberta e padronizada pelo IETF. O protocolo RTMP é de propriedade da Adobe. A Adobe anunciou que irá publicar as especificações do RTMP até a medate desse ano.
Diante do estudo realizado por esta equipe e das conclusões apresentadas, tecnicamente a melhor alternativa é a utilização de flash, principalmente devido à qualidade do produto final. Não vemos problema na utilização de um plugin de código fechado nas estações clientes, uma vez que o mesmo é gratuito e tem uma abrangência maior que o run time java
A implementação inicial do Cliente Voip Web será feita pelo Serpro.
Change History
comment:2 in reply to: ↑ description ; follow-up: ↓ 6 Changed 15 years ago by rodsouza
comment:3 Changed 15 years ago by niltonneto
- Description modified (diff)
- Summary changed from Implementar um Cliente Voip Web para Expresso que consiste na possibilidade de realizar ligações telefônicas a partir de um Softphone embutido dentro da interface Web do Expresso. to Implementar um Cliente Voip Web para Expresso
comment:4 follow-up: ↓ 7 Changed 15 years ago by niltonneto
Entendi o porquê de se usar Flash. Realmente o Java pra Multimidia é muito complicado. Mas a idéia é utilizar o JMessenger como módulo-base mesmo assim?
Como vocês pretendem integrar com o JMessenger?
comment:5 Changed 15 years ago by amuller
Já que dá pra integrar o im com javascript, deve dar pra integrar com flash também utilizando o js. Eita que coisa
Vai ser muito bom para o expresso
comment:6 in reply to: ↑ 2 Changed 15 years ago by marciostarke
Replying to rodsouza:
Replying to marciostarke:
– Deverá funcionar integrada ao Expresso Serpro;
Que Expresso que é esse?
Desculpe-me. Copiei o texto de nosso projeto interno e não verifiquei que estava dessa forma. Vi que já está arrumado.
comment:7 in reply to: ↑ 4 ; follow-up: ↓ 8 Changed 15 years ago by marciostarke
Replying to niltonneto:
Entendi o porquê de se usar Flash. Realmente o Java pra Multimidia é muito complicado. Mas a idéia é utilizar o JMessenger como módulo-base mesmo assim?
Como vocês pretendem integrar com o JMessenger?
A idéia é publicar um protocolo, por exemplo tel:, que quando clicado chamasse o softphone para realizar a ligação. Isso poderia estar mesmo dentro de uma e-mail. No JMessenger a idéia e interagir com o browser (provavelmente via js) e esse repassar para o Cliente Voip.
comment:8 in reply to: ↑ 7 Changed 15 years ago by niltonneto
Replying to marciostarke:
Replying to niltonneto:
Entendi o porquê de se usar Flash. Realmente o Java pra Multimidia é muito complicado. Mas a idéia é utilizar o JMessenger como módulo-base mesmo assim?
Como vocês pretendem integrar com o JMessenger?
A idéia é publicar um protocolo, por exemplo tel:, que quando clicado chamasse o softphone para realizar a ligação. Isso poderia estar mesmo dentro de uma e-mail. No JMessenger a idéia e interagir com o browser (provavelmente via js) e esse repassar para o Cliente Voip.
Existem vestígios de que o JETI, cliente Jabber em Java usado no módulo JMessenger do Expresso, possui algo implementado para VoIP. Não vi detalhes, mas quem sabe já é um começo.... Segue o link => http://jeti-im.org/phpBB2/viewtopic.php?t=357
comment:10 Changed 13 years ago by niltonneto
Zapa, eu sei que o Serpro fez esta implementação internamente. Sabe me dizer se é possível disponibilizar dentro da versão 2.2 da comunidade?
comment:11 Changed 13 years ago by niltonneto
- Keywords SIP, IAX added; SIP removed
- Owner changed from marciostarke to alexandrecorreia
- Severity set to média
- Priority changed from média to normal
A solução desenvolvida pelo Serpro deverá ser componentizada para funcionar junto com a versão da comunidade. Além disso, a utilização do softphone WEB dentro do Expresso deverá ter uma maior abrangência, onde o ExpressoMessenger? irá utilizar esse componente, assim como os demais módulos.
comment:12 Changed 13 years ago by eduardoalex
- Version changed from sandbox to trunk
- WorkGroup set to Inovação
- Milestone changed from Expresso 2.2 to Expresso 3.0