1 (edited by nanard51 21-08-2006 11:52:57)

Topic: Jabber & VoIP (Asterisk)

Bonjour tout le monde,

Ici, nous avons un serveur Jabber et un serveur Asterisk pour nos téléphones. On souhaiterait pouvoir basculer le satut de Jabber en fonction du téléphone. Un petit exemple:
Le téléphone sonne; on décroche -> l'utilisateur passe de disponible à indisponible.
L'utilisateur racroche -> il est à nouveau dispo !

Dans le principe, c'est pas très compliqué, il suffit d'envoyé un peu de XML avec le "téléphone" (Astrisk). Cependant, il existe un pb ! (sinon, c'est pas drôle wink)  En envoyant ce peu de XML, le serveur considère que c'est un nouveau client. Or, on voudrait que ce soit le client Jabber utilisé   qui envoi le statut d'indisponibilité... et c'est là, le souci si j'essaie de me faire passer pour un autre client... Je n'arrive pas à me faire passer pour le client jabber Psi en envoyant, depuis la console XML de Gajim:

<presence id="214" from='mon_jid/Psi'>
   <priority>5</priority>
   <show>away</show>
   <status>Je suis au téléphone sur Psi.</status>
</presence>

Est-ce que quelqu'un a une idée pour voir comment on peut faire...

P.S: Je n'ai pas encore regardé au niveau du serveur pour voir ce qu'il recevait et ce qu'il renvoyait...

Linux a un noyau, Windows a des pépins...

Re: Jabber & VoIP (Asterisk)

Salut nanard51,

Je profite de l'occasion pour dire qu'il existe également un composant Astjab qui permet d'envoyer des notifications entre un serveur Asterisk et un serveur Jabber.

Pour plus d'infos, voici le lien: http://astjab.org/

Cédric.

[img]http://webstatus.kd2.org/signature.php/jid/teb.pavcn.zv..mbyhbohqp/image.png[/img]

Re: Jabber & VoIP (Asterisk)

"Nanard51' wrote:

Je n'arrive pas à me faire passer pour le client jabber Psi en envoyant, depuis la console XML de Gajim

Normal, seuls les serveurs et leurs services peuvent spécifier un from= autre que le leur (et à condition que ça reste de leur domaine)... Il faudrait donc envisager de faire un petit composant dédié à cette tache.

[img]http://in.the.slyp.free.fr/photo/elghinn_est_ridicule.PNG[/img]

Re: Jabber & VoIP (Asterisk)

ah, ça m'intéresse ça ! Merci pour l'info grand Sir wink
Car on a regardé Astjab, mais le petit problème, c'est que c'est un patch à appliquer sur l'Asterisk, donc, on a pas trop envie d'y toucher... Asterisk est plus important que Jabber ! à moins qu'un jour on fasse la hotline via jingle big_smile

Linux a un noyau, Windows a des pépins...

Re: Jabber & VoIP (Asterisk)

Ce matin, j'ai recherché une dernière fois d'usurper la présence d'un client en passant par la console XML d'un autre....
Cette fois, j'y suis arrivé, enfin presque !  Je m'explique:
Avec un même compte sur un serveur jabberd1.4 J'ai Gajim connecté en Online et Psi connecté en invisible.
Avec la console XML de Psi, je suis arrivé à changé le status du client Gajim avec ce code:

<presence from="testa@serveur/Gajim">
<show>away</show>
<status>Je suis indisponible </status>
<priority>5</priority>
</presence>

Les clients recevant bien :

<presence from="testa@serveur/Gajim" to="contacts@serveur" >
<show>away</show>
<status>Je suis indisponible </status>
<priority>5</priority>
</presence>

Par contre, cela ne fonctionne pas avec ejabberd ! En effet, ce dernier vérifie le jid complet (jid/ressource) qui envoie et le remplace au besoin par le vrai. Autre chose, cette usurpation ne change pas le status du client réel (Gajim est toujours resté online, et n'est jamais passé away).

Reste plus qu'à voir si un composant peut faire le changement et coder ça ! Mais, ça ne sera pas pour aujourd'hui, faute de temps wink

P.S: Merci à Sir Mespompes pour avoir testé et confirmé ça avec 2 autres serveurs

Linux a un noyau, Windows a des pépins...

Re: Jabber & VoIP (Asterisk)

Je travaille actuellement sur le même problème, mais avec une autre approche : j'ai écrit un plug-in pour ejabberd qui se connecte à Asterisk pour détecter quand l'utilisateur est en ligne. Le programme marche bien, voici le lien du projet  : https://launchpad.net/ejabberd-mod-client-asterisk.