segunda-feira, 15 de outubro de 2007

Openfire e o plugin asterisk-IM

Um recurso muito interessante do Openfire é sua "integração" com o asterisk.

O plugin do asterisk, pode ser facilmente instalando usando a aba Plugins do console de administração do Openfire. Após sua instalação, uma nova aba surgirá na barra (Asterisk-IM), onde então devem ser feitas as configurações específicas do mesmo, que são as seguintes:

1) Habilitar o plugin (basta clicar no option button Enabled).

2) Configurar o(s) servidor(ou servidores) asterisk: nesse passo você irá adicionar um servidor clicando na opção Add Server e irá informar os seguintes dados:
Server Address: o nome do servidor (para identificação)
Server IP: ip do servidor
Port: porta de conexão, padrão 5038
Username: nome do usuário que irá conectar no manager do asterisk
Password: senha do usuário

3) Configurar o Phone Manager: o importante aqui é setar o contexto do asterisk (Asterisk Context) somente.

4) Criar os mapeamentos dos telefone: nessa opção você irá mapear seu usuário jabber com um ramal e device de telefone, com os seguintes dados:
Username: nome do usuário Jabber
Device: device do asterisk, ex: SIP/101
Extension: ramal (ex:101)
Caller ID: identificação do ramal (opcional)
Primary: marque sim se o ramal for primário, no caso do usuário ter mais de 1 ramal (opcional em caso de apenas um ramal para o usuário)

Com isso feito, basta agora ligar para o ramal do usuário mapeado e quando ele atender automaticamente seu status mudará para Away com mensagem "On the phone". Ao desligar a chamada, ele irá retornar ao estado anterior.

Bacana e bem útil, esse é um plugin que pode ser instalado e configurado com facilidade e que é uma das features que me faz gostar do Openfire e das quais eu sinto falta no ejabberd.


UPDATE (25/01): Quer trocar idéias com usuários do Openfire ? Cadastre-se na lista Openfire-BR.

14 comentários:

  1. Boa tarde Marcelo!
    Gostei muito do seu post!
    gostaria de saber se é possivel montar um sistema de voz com o openfire sem ser necessario montar um servidor asterisk? Estou com um laboratório de openfire, está tudo ok! ele está funcionando, porém eu estava precisando montar um sistema de voz sobre este serviço! é possivel sem o asterisk?

    grande abraço!

    Felipe Rossi Jaraceski
    felipe@linuxville.com

    ResponderExcluir
  2. Olá.

    O plugin Asterisk-IM não suporta voz. Ele serve para trocar o status dos usuários baseado nos ramais Asterisk. Para o que você quer é preciso usar o plugin SIP Phone, e também usar o cliente Spark.

    Você pode usar qualquer servidor SIP para tal operação, mas o suporte ainda é bastante precário.

    Te aconselho assinar a lista Openfire-BR para trocar mais experiências com o pessoal.

    Atenciosamente,

    ResponderExcluir
  3. Boa noite,

    Estou a tentar colocar o serviço de instant messaging em funcionamento com asterisk.
    Já estou farto de dar voltas e mais voltas com o openfire e não consigo adicionar o servidor asterisk (1.4.21.2) no openfire(3.6.3). Obtenho sempre a "Server created successfully", mas não aparece nenhum adicionado à lista de servidores.
    Tem alguma ideia do que se pode estar a passar?

    Já agora os parabéns pelo blog, pena que em Portugal o pessoal não faça tão bons trabalhos.

    Cumps,
    Cândido

    ResponderExcluir
  4. Candido,

    você tem ciência que esse plugin não permite conversas via SIP correto? Ele somente altera o status dos usuários conforme os eventos do asterisk.

    Se você fizer uma instalação do zero da última versão do Openfire o problema persiste ? |Porque isso me parece problemas no banco de dados.

    []s

    ResponderExcluir
  5. Boa noite,

    Realmente de tudo o que li pensei que daria para esse fim. Isto quer dizer que para usar uma estrutura onde tenho implementado o Asterisk para alem dos softphones que estão em funcionamento, tenho que também instalar outra aplicação em cada cliente para o serviço de chat?
    Se calhar ando à procura do que ainda não existe, mas tenho andado a pesquisar aplicações para os clientes que tentem usar o servidor Asterisk para chamadas SIP e o servidor Openfire para o chat.

    Continuo sem conseguir adicionar o servidor Asterisk ao Openfire, esqueci-me de referir que estou a correr os dois servidores na mesma máquina e estou usando o IP 127.0.0.1 e já experimentei com o IP da rede e mesmo assim não consigo adicioná-lo.
    A base de dados que estou a usar é a base de dados interna do Openfire a partir duma instalação do zero

    Cumps,
    Cândido

    ResponderExcluir
  6. Boa noite,

    Realmente não tinha essa noção.. No entanto o problema de não conseguir adicionar o servidor Asterisk continua, será que ao usar a base de dados interna do OpenFire trás este problema? Será que usar o servidor Asterisk na mesma máquina que o servidor OpenFire está a provocar este problema?

    Entretanto estou a ver se encontro alguma aplicação cliente para usar o chat e SIP sem ter que ter uma aplicação para cada função. Já vi a sua dica sobre o SIP Communicator, estou a ver se acho mais alternativas.

    De qualquer forma obrigado pelas dicas, e mais uma vez os parabéns pelo excelente trabalho com o blog

    Cumps,
    Cândido

    ResponderExcluir
  7. O Spark permite que você usando o plugin Asterisk-IM efetue ligações, mas não sei exatamente como, pois não uso o mesmo.

    Talvez ele te permita discar para um ramal, e chamar em ambos (no teu e no destino).

    Quanto a base de dados, aconselho o uso de um servidor externo, como MYSQL, por questões de segurança, manutenção e e performance.

    []s

    ResponderExcluir
  8. Cândido,

    se achares um software que integre XMPP + SIP de forma eficiente, não esqueça de comentar aqui no blog, ok ? :-)

    []s

    ResponderExcluir
  9. Estou com o mesmo problema do candido .. adiciono o servidor asterisk e ele nao aparece .. fica no servers configured, apesar de o log do asterisk mostrar que houve uma coneccao com sucesso no manager que desconecta em seguida.

    ResponderExcluir
  10. o problema de nao aparecer o dados do servidor galera eh pq vcs nao atualizaram o banco de dados... provavelmente estao usando banco de dados interno. Faça a atualizacao do HSQL e após isso irá funcionar normalmente...

    ResponderExcluir
  11. Só pra adicionar informações, precisa editar uma linha em /plugins/asterisk-im/database/asterisk-im_hsqldb.sql

    só apagar o "unique" que vai add os servers normalmente...

    ResponderExcluir
  12. Para quem esta com problema do Candido em adicionar dados para configuração do plugin e nada ocorrer (Cadastro não ser efetivado...
    Trata-se de um Bug de BANCO de dados, facilmente corrigido, mexendo o script sql em /usr/share/openfire/plugins/database

    O Script Corrigido está aqui...
    http://community.igniterealtime.org/thread/28619
    Embora confuso (Banco Legado em Aplicação instalada en NySQL) faz a correçao que tudo funciona 100%
    @kidvoipman

    ResponderExcluir
  13. Estou fazendo uso do plugin asterik-im no openfire 3.7.0, mas apos os ramais sip não consigo mais abrir
    o link Asterisk-IM (http://im.gruposolar.com.br:9090/plugins/asterisk-im/phone-settings.jsp).
    Alguem tem alguma solução?

    ResponderExcluir
  14. Já verificou se tem algo nos logs do Openfire?

    []s

    ResponderExcluir