quarta-feira, 29 de junho de 2011

Jappix - cliente web para o Openfire


De tempos em tempos sempre aparece alguém na lista Openfire-BR perguntando sobre clientes XMPP web.

Muitos tentam utilizar o SparkWeb e o Tigase Web Messenger que na minha opinião são os mais conhecidos, mas acabam tendo sempre resultados insatisfatórios.

Só que além desses clientes, outro que merece destaque é o Jappix. Desenvolvido em PHP, o Jappix parece ser uma boa alternativa para quem quer disponibilizar um cliente Web de fácil instalação e com uma boa gama de recursos. 

Um dos seus grandes diferenciais é o mini-chat, com uma interface similar a do chat do Facebook, e que pode ser facilmente adicionada a qualquer outro site existente. Além disso ele também possui uma interface mobile para uso nos navegadores dos dispositivos móveis.

Se você achou tudo isso interessante e deseja testar o Jappix, saiba que a boa notícia é que Dele Olajide da comunidade Ignite Realtime, transformou a ferramenta em um plugin para o Openfire, utilizando o Quercus (implementação Java da linguagem PHP).


Testei o plugin, que tem versões para Openfire 3.7.0 e também para 3.6.4 e gostei da performance e da interface (ainda não pude testar o mini-chat). É importante deixar bem claro que não foi feita qualquer alteração no código original e que bugs e solicitação de novas features devem ser encaminhadas aos desenvolvedores do Jappix.

Faça download do plugin agora, leia o post oficial do plugin com as instruções de instalação e teste você mesmo.


UPDATE 08/03/13: Dica do Daniel Gaspary na lista Openfire-BR: o plugin está sendo mantido e atualizado. Link do projeto: http://code.google.com/p/openfire-jappix/

Fim dos releases de manutenção do Asterisk 1.4 e 1.6.2


Foram lançados hoje os últimos releases de manutenção das versões 1.4 e 1.6.2 do Asterisk.

As versões 1.4.42 e 1.6.2.19 trazem a correção de várias questões reportadas pela comunidade e sua instalação é recomendada.

Apesar de ser o release final de manutenção o suporte a atualizações de segurança será mantido para ambas versões até o dia 21 de abril de 2012, como é possível ver no calendário de versões.

Colaboração em listas de e-mail e comunidades FLOSS - o caso OFMonitoringEraser

Fico muito feliz quando vejo que as iniciativas FLOSS dão frutos positivos. 

Quando criei a lista Openfire-BR há alguns anos não imaginava que ela fosse chegar onde chegou. Com mais de 550 membros, a lista virou referência para a ferramenta e também exemplo do espírito do Software Livre/Open Source.

Além das costumeiras dicas e trocas de experiências, a lista também gera contribuições da comunidade na forma de ferramentas.

Um exemplo simples: ontem surgiu novamente na lista uma discussão sobre como apagar as conversas armazenadas no banco de dados (obtidas com o uso do plugin Monitoring Service). 

Após as dicas tradicionais, sugeri, meio de que brincadeira, que seria interessante alguém criar o OFMonitoringEraser, uma interface web onde o administrador do Openfire informasse o nome do usuário e a ferramenta se encarregasse de deletar as mensagens auditadas deste no DB.

Pois bem, menos de 1 hora depois surge a seguinte mensagem na lista:
"Prezados Colegas,
Estou disponibilizando a função escrita em PHP para fazer a exclusão dos registros conforme nosso amigo Marcelo Zola deseja. Basta alterar as credenciais de acesso ao banco de dados e enviar para servidor HTTP. O mesmo foi escrito para o banco MySQL, mais é plenamente possível utilizar qualquer outro banco já que PHP é muito versátil só necessário alterar uma linha. Segue abaixo endereço para download do mesmo.
http://www.cohabbd.com.br/scripts/ofmonitoringeraser.zip
Se me sobrar um tempo talvez eu possa o desenvolver melhor e também fazer uma versão .jar para importação no openfire."
O script é bastante simples e pode ser melhorado (como o próprio desenvolvedor comentou), então se alguém mais se interessar em fazê-lo (poderia ser informado qual período deve ser deletado, os campos do período poderiam ser obtidos diretamente do DB e por aí vai) fiquem à vontade. De qualquer forma creio que a contribuição inicial já deverá ajudar muitos administradores do Openfire que passam por esse dilema.

Obrigado ao Adrielso Pinto Teodoro, membro da lista, que dedicou seu tempo e demonstrou o verdadeiro espírito FLOSS, compartilhando seu trabalho com a comunidade.

Parabéns !!!

terça-feira, 28 de junho de 2011

Instantbird - versão 1.0 é lançada


Lembram do Instantbird, sobre o qual eu já havia postado em 2007? Pois é, hoje, após anos de desenvolvimento, foi lançada a versão 1.0.


Inicialmente o Instantbird parece ser somente mais um cliente de IM, mas ele merece uma atenção especial por utilizar tecnologias de softwares já consagrados, como o Pidgin (libpurple) e Mozilla Firefox, permitindo o uso de múltiplas redes de mensagem instantânea e abrindo espaço para o desenvolvimento de Add-ons que podem enriquecer ainda mais o cliente (veja os Add-ons já disponíveis). 
Além disso, um sistema de Tags para os contatos (ao invés dos tradicionais grupos) e também uma timeline diferenciada para o Twitter chamam a atenção nessa primeira versão do software.
Leia as notas de lançamento aqui.

segunda-feira, 27 de junho de 2011

Enviando SMS interativamente (Asterisk + XMPP + Digivoice ou Khomp)


Ainda falando sobre Asterisk e XMPP e seus usos (veja mais neste post) uma ideia que tive no final de semana e coloquei hoje em testes foi o envio interativo de SMS utilizando para isso um Asterisk integrado com XMPP (e uma placa Digivoice GSM ou uma placa/EBS Khomp GSM).

Objetivo

Enviar SMS de forma interativa utilizando um servidor Asterisk conectado a um servidor XMPP.

Requisitos

Servidor Asterisk integrado com um servidor XMPP (Openfire, ejabberd, Prosody, etc...) e com o Google Talk. Saiba como realizar esta integração aqui.

O procedimento

Novamente o contexto proposto é muito simples e atende somente um ramal (já que envia a mensagem para um usuário específico) ficando aberto para melhorias via  AEL ou AGI de forma a estender o recurso para todos usuários de seu domínio XMPP e todos seus ramais.

O contexto funciona da seguinte maneira: o usuário disca para o número *767* (*SMS*) e recebe uma mensagem em seu cliente XMPP solicitando o destino do SMS. Após informar o número o usuário recebe uma nova mensagem solicitando que seja informado o conteúdo do SMS. Assim que informar o conteúdo o Asterisk envia o SMS para o destino.
[sendsms]

exten => *767*,1,Answer() ;Atende a chamada
same => n,Set(CANAL=${CUT(CHANNEL,,1)}) ;Armazena o canal
same => n,NoOp(Envio de SMS de ${CANAL}) ;Mensagem do Asterisk
same => n,NoOp(Mandando mensagem para ${JABBERDEST}@jabberpriv.propus.com.br) ;Mensagem do Asterisk
same => n,JabberSend(propuspriv,${JABBERDEST}@jabberpriv.propus.com.br,Envio de SMS - Informe a número de destino) ;Solicita o número do destinatário do SMS
same => n,Set(OPCAODEST=${JABBER_RECEIVE(propuspriv,${JABBERDEST}@jabberpriv.propus.com.br,30)}) ;Recebe o número do destinatário do SMS
same => n,JabberSend(propuspriv,${JABBERDEST}@jabberpriv.propus.com.br,Envio de SMS - Digite a mensagem) ;Solicita o conteúdo do SMS
same => n,Set(OPCAOMSG=${JABBER_RECEIVE(propuspriv,${JABBERDEST}@jabberpriv.propus.com.br,30)}) ;Recebe o conteúdo do SMS
same => n,JabberSend(propuspriv,${JABBERDEST}@jabberpriv.propus.com.br,Enviando a mensagem "${OPCAOMSG}" para ${OPCAODEST}) ;Mensagem para o usuário
same => n,DgSendSMS(g1,${OPCAODEST},${OPCAOMSG}) ;Envia o SMS (g1 = grupo de canais GSM)
same => n,HangUp
Finalizando

Novamente um recurso muito útil e facilmente implementável. E como no post anterior, melhorias no contexto são muito bem vindas. Fique à vontade para contribuir !!!

;-)

UPDATE 28/12/12: para enviar o SMS usando uma placa/EBS da Khomp altere a seguinte linha:

same => n,DgSendSMS(g1,${OPCAODEST},${OPCAOMSG}) ;Envia o SMS (g1 = grupo de canais GSM)

para:

same => n,KSendSMS(recurso,${OPCAODEST},${OPCAOMSG}) ;Envia o SMS

onde recurso pode ser tanto a placa (b0, b1) com um canal específico (b0c2, por exemplo).

sábado, 25 de junho de 2011

Discando interativamente para contas Google Talk (Asterisk + XMPP)


Objetivo

Possibilitar a realização de chamadas de voz para contas Google Talk de forma interativa utilizando um servidor Asterisk conectado a um servidor XMPP.

Requisitos

Servidor Asterisk integrado com um servidor XMPP (Openfire, ejabberd, Prosody, etc...) e com o Google Talk. Saiba como realizar esta integração aqui.

O procedimento

O contexto aqui proposto é bastante simples e atende somente um ramal (já que envia a mensagem para um usuário específico). Você pode aprimorá-lo utilizando AEL ou AGI possibilitando assim estender o recurso para todos usuários de seu domínio XMPP.

O contexto funciona da seguinte maneira: o usuário disca para o número *48255* (*GTALK*) e recebe uma mensagem em seu cliente XMPP solicitando o destino da chamada. Após informar o endereço Google Talk do destinatário o Asterisk realiza a "discagem" e o usuário de imediato já passa a escutar o tom de chamada, como em qualquer outra ligação realizada.

O contexto:
[togtalk]
exten => *48255*,1,Answer() ; atende a chamada
same => n,Set(CANAL=${CUT(CHANNEL,,1)}) ; Armazena o canal que efetuou a chamada
same => n,NoOp(Discando Gtalk de ${CANAL}) ; Mensagens no asterisk
same => n,NoOp(Mandando mensagem para marcelo@xmpp.dominio.com.br) ; Mensagens no Asterisk
same => n,JabberSend(xmpp,marcelo@xmpp.dominio.com.br,Discando Google Talk - Informe a conta de destino) ; Envia msg para o usuário solicitando o endereço GTalk do destinatário
same => n,Set(OPCAO=${JABBER_RECEIVE(xmpp,marcelo@xmpp.dominio.com.br,30)}) ; Aguarda 30 segundos pela resposta do usuário
same => n,JabberSend(xmpp,marcelo@xmpp.dominio.com.br,Discando para ${OPCAO}) ; Envia msg para o usuário informando para onde irá discar
same => n,Dial(gtalk/asterisk-gtalk/${OPCAO}) ; Realiza a chamada
same => n,HangUp
Finalizando

Como podemos observar trata-se de um recurso muito útil e de fácil implementação. 

Caso você desenvolva um contexto mais elaborado não deixe de compartilhá-lo através dos comentários.

:-)

UPDATE 30/05/2012

Segue exemplo de configuração do jabber.conf:

[asterisk-gtalk]
type=client
serverhost=talk.google.com
username=myuser@gmail.com/Talk
secret=mysecret
port=5222
usetls=yes
usesasl=yes
statusmessage="Asterisk Server"
timeout=100

phpLDAPadmin - removendo os avisos nas telas de criação e edição

Uma coisa que acho muito inconveniente nas últimas versões do phpLDAPadmin são os avisos exibidos nas telas de criação e edição.


Esse avisos são gerados quando você usa um template que define um objectClass que seu servidor LDAP não reconhece, pois não tem o respectivo schema instalado.

No entanto, remover tais avisos é uma tarefa bastante simples. Basta editar o arquivo config.php e alterar a opção  hide_template_warning para true:
$config->custom->appearance['hide_template_warning'] = true;
Essa opção, disponível apartir da versão 1.2.0.3 acaba com os avisos indesejados:


quinta-feira, 23 de junho de 2011

fisl 12 - É na próxima semana!!!


E o fisl 12 é na próxima semana!!!

Além das presenças clássicas (como Maddog, Chris Hofmann, Simon Phipps, entre outros), o fisl terá também a presença de muitos palestrantes que estarão participando do evento pela primeira vez.

Destaque (na minha opinião) para as palestras sobre Android (muitas ministradas pelos desenvolvedores do Google) e para as presenças de Jeremy Allison (Samba) e de Tobias Oetiker (RRDTool, MRTG e SmokePing).

Veja a grade de programação do evento aqui.

segunda-feira, 20 de junho de 2011

Atualização do layout do site

Como vocês podem perceber o layout do site foi alterado.

Ainda não fiz quaisquer personalizações no modelo, mas me parece mais clean e moderno do que a versão anterior.

E aí ? Ficou melhor ou pior ? Alguma sugestão ?

:-)

terça-feira, 14 de junho de 2011

Openfire 3.6.4 - servidor e plugins compatíveis


Instalei um Openfire 3.6.4 e após configurá-lo percebi que vários plugins já não estavam mais disponíveis para essa versão pois haviam sido atualizados para a versão 3.7.0.

Baixei os plugins de outras instalações existentes e resolvi deixá-los disponíveis para quem ainda possa precisar dos mesmos. Seguem os links abaixo:
Espero que seja útil!

domingo, 12 de junho de 2011

Problemas com Iaxmodem e Khomp

Ainda falando de Asterisk e serviço de "fax virtual", outro problema que enfrentei recentemente foi relacionado ao software iaxmodem.

Após configurar o serviço corretamente pude observar o seguinte: a ligação era recebida, o iaxmodem atendia a mesma, disponibilizava o "sinal de fax", mas o fax não conseguia ser entregue. Até pensei em configurar o Free Fax for Asterisk para o recebimento (já que o envio não apresentava problemas), mas como o mesmo era limitado em apenas um canal simultâneo (é possível adquirir licenças adicionais, é claro) acabei desistindo da ideia.

Foi então que o Marlon Dutra me lembrou de um detalhe: esse era um problema já conhecido no uso do iaxmodem com as placas da Khomp. Para solucionar tal problema a própria Khomp havia disponibilizado um patch para o software.

Apliquei tal patch e o serviço ficou perfeito. Mas, como a Khomp removeu o patch da sua área de downloads, resolvi disponibilizar os fontes do iaxmodem 1.2.0 já devidamente patcheados aqui.

Problemas com Hylafax no Ubuntu 10.04

Deparei-me dia desses com um problema que me deu muita dor de cabeça e que acabou tomando muito do meu tempo com pesquisas e testes até conseguir solucioná-lo.

A tarefa era simples: precisava instalar um Hylafax em um servidor Ubuntu 10.04 para juntamente com o Iaxmodem e o Asterisk disponibilizar um serviço de "fax virtual" para um cliente.

Após a instalação e configuração dos pacotes os problemas começaram: apesar dos faxes serem recebidos com sucesso, "aparentemente" todos apresentavam problemas de conexão e o arquivo não continha muito mais do que a folha de rosto e algumas linhas da página enviada.

Após vários testes e brainstorms, acabei percebendo que a versão do Hylafax que vem com o Ubuntu 10.04 (Hylafax 6.0.3) estava bugada, motivo pelo qual estava tendo tantos problemas.

Fax recebido com o Hylafax 6.0.3 (pacote do Ubuntu 10.04)

Resolvi então testar uma versão mais atual do software e percebi que a versão 6.0.5 disponibilizada pelo Ubuntu 11.04 tinha as mesmas dependências da versão anterior.

Baixei os arquivos .deb da nova versão e instalei-os manualmente. Voilá, o serviço de fax ficou perfeito.

Fax recebido com o Hylafax 6.0.5 (pacote do Ubuntu 11.04)

Ainda não reportei o bug mas pretendo fazê-lo nos próximos dias. Assim, enquanto não sai a correção oficial, espero que este post possa ajudar outras pessoas que estejam passando pelo mesmo problema que tive.