Это кросспост моей записи из хаброблога
Jabber, also
в сообществе ru_jabber То
там, то
здесь в течение последнего полугода возникают сообщения о том, что люди не могут подключить к их jabber-аккаунту на Google Talk новые транспорты. Как показал
анализ трафика и
несколько обсуждений в списке рассылки
jabber-operators, дело в том, что GTalk «не любит» JIDы в формате srv.example.org, а предпочитает исключительно node@example.org и поэтому честные транспорты не могут запросить у пользователя авторизацию.
Если количество ссылок вас еще не утомило, то ниже я в двух словах расскажу, что с этим можно сделать, пока инженеры Google полгода чинят этот лютый баг.
Решение напрашивается само собой - надо сделать транспорт srv.example.org доступным по адресу вида node@example.org. И желательно это сделать не модифицируя код каждого транспорта, т.к. костыль этот явно временный[1]. Также, желательно, чтоб этот мета-транспорт был простым как топор и позволял использовать любой публичный транспорт, а не толко транспорты того сервера, где установлен мета-транспорт. Запутались? Отлично, идём дальше.
[1] - Увы, нет ничего более постоянного, чем временное.
Администраторы публичных сервисов могут взять
код pymeta-t на github, если, конечно, они хотят помочь несчастным gmail-юзерам использовать те самые публичные сервисы. Несмотря на свою тривиальность код вполне может быть не без багов, и будет здорово, если бы кто-нибудь с опытом работы с twisted его прокомментирует.
Пользователи публичных jabber-транспортов же могут поступить следующим образом. Допустим, вы ходите подключить к своей учётке на GTalk транспорт srv.remote.org, тогда в service-discovery своего клиента вам следует обозреть сервисы JIDа srv.remote.org@meta.example.org, где meta.example.org - адрес мета-транспорта. Поскольку единственная копия pymeta-t установлена сейчас на meta.darkk.net.ru, то обозревать стоит, соответственно, srv.remote.org@meta.darkk.net.ru, и регистрироваться там же.
Да, и еще. Gajim тоже не особо блюдёт RFC и не предоставляет возможности зарегистрироваться на транспорте с JID вида node@example.org, попросту не отрисовывая соответствующую кнопку в интерфейсе. С
Psi всё работает как положено.