PDA

Voir la version complète : Asterisk + GTalk (via Jabber) = <not-authorized>



zedraken
12/01/2014, 12h32
Bonjour à toutes et à tous,

je me permets de poster ici (en espérant ne pas m'être trompé de rubrique) car je cherche à interfacer un Asterisk 1.8.25 avec mon compte GoogleVoice via le module Jabber.
J'ai auparavant parcouru le forum (ou tout du moins une partie) à la recherche d'informations mais n'ayant rien trouvé qui puisse me venir en aide, je poste ici.

La compilation d'Asterisk se passe sans problèmes sur un serveur fonctionnant sous une Debian 7.3 (architecture x86_64 bits). J'ai au préalable pris soin d'installer les paquets de développement suivants :
- libssl-dev
- libiksemel-dev

À la fin de la compilation, j'obtiens un exécutable /usr/sbin/asterisk avec le module /usr/lib/asterisk/modules/res_jabber.so.

Mon fichier de configuration jabber.conf contient ceci :


[general]
debug=yes
autoprune=yes
autoregister=yes

[gtalk_account]
type = client
serverhost = talk.google.com
username = <mon_identifiant>@gmail.com
secret = <mon_mot_de_passe>
port = 5222
usetls = yes
usesasl = yes
statusmessage="Online"
timeout = 100
status = available
priority = 57


Quant au fichier gtalk.conf, il contient ceci :


[general]
allowguest = yes
context = context_gtalk
stunaddr = stun.ippi.fr

[guest]
disallow=all
allow=ulaw
context=context_gtalk
connection=gtalk_account



context=context_gtalk
username = <mon_identifiant>@gmail.com
disallow=all
allow=ulaw
connection=gtalk_account

Dans la console Asterisk, j'affiche les messages de debug Jabber, et je constate qu'il y a bien un échange entre mon serveur Asterisk et le serveur GTalk, mais lorsque mon serveur envoie le mot de passe de mon compte GTalk, la réponse du serveur Gtalk est la suivante :


JABBER: gtalk_account INCOMING: <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl">[B]<not-authorized/></failure>

La première chose que j'ai faite est de vérifier que mes identifiant et mot de passe sont corrects, ce qui est le cas. Je les ai utilisés avec Pidgin pour me connecter sous mon compte GTalk et ça a fonctionné sans soucis. Je vérifié et revérifié le contenu de mon fichier jabber.conf et tout me semble correct.

Malgré tout ceci, en faisant un jabber show connections, je vois ceci :


Jabber Users and their status:
[gtalk_account] <mon_identifiant>@gmail.com - Disconnected
----
Number of users: 1

Tout ceci est très logique. Si mon accès n'a pas été autorisé, je ne suis donc pas connecté.

Chose intéressante, peu après avoir lancé Asterisk, j'ai reçu un email de la part de Google me disant qu'une tentative de connexion à mon compte GTalk avec mon mot de passe avait été tentée, et que cette connexion a été bloquée par Google. Je comprends donc mieux pourquoi mon serveur Asterisk reçoit une réponse de type « not-authorized » ! Ce qui est surprenant ici est que cette connexion a été faite avec mon mot de passe, donc à moins que quelqu'un ne me l'ait « emprunté », il s'agit de la tentative de connexion de mon serveur Asterisk.

Maintenant, comment faire ? De mon côté, tout semble correct. Il faudrait que je puisse dire à Google d'accepter cette connexion… Est-ce que quelqu'un a déjà expérimenté ce problème ?

Merci d'avance pour vos réponses, et n'hésitez pas à me demander des précisions si vous estimez qu'elles sont nécessaires pour m'aider à résoudre de petit problème. De mon côté, je continue à chercher…

Merci.

zedraken
19/01/2014, 08h32
Le problème a été résolu. En fait, ma configuration était correcte. C'était simplement la politique de sécurité de Google qui était un peu trop restrictive. Comme j'initiais une nouvelle connexion depuis une localisation géographique non habituelle, Google la bloquait. J'ai dû me connecter sur mon compte et aller explicitement dire à Google que je reconnaissais cette connexion et qu'elle venait bien de moi.
Après avoir relancé le serveur, tout était rentré dans l'ordre.