Xmpp connect troubleshooting
Проблемы при подключении к jabber-серверу
Ниже рассматривается ситуация, когда доступ к интернету имеется, по крайней мере браузер и почтовый клиент функционируют, а подключиться к jabber-серверу не удается.
Прежде всего нужно ответить на вопрос, не из корпоративной сети вы пытаетесь подключиться? Это это так, то ситуация может усложнятся настройками сетевого оборудования, которое управление доступом к интернет. Об работе из локальной сети предприятия будет сказано ниже.
В любом случае надо выполнить следующие действия:
- Запустить консоль, щелкнув по кнопке Пуск(Start) и выбрав пункт Выполнить(Run).
- В открывшемся окне наберите telnet имя_сервера 5222 и нажмите Enter.
telnet jabber.ru 5222
После этих действия окно должно стать полностью черным и только на верхней строке будет загораться и гаснуть курсор. Далее нажмите любую букву, но на экране вы ее не увидите (таковы особенности работы telnet-клиента в Windows), а затем Enter. Появится текст похожий на приведенный ниже.
<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='none' from='jabber.ru' version='1.0'><stream:error><xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error></stream:stream> Connection to host lost.
С доступностью сервера все в порядке и причина в неверной настройке клиента, либо проблемами, которые препятствуют самому подключению. Например, неверный пароль или попытка получить новую учетную запись, когда она уже существует на сервере. Ознакомьтесь с документацией на клиент или задайте вопрос на форуме.
Если же на экране отображается около минуты
Connecting To jabber.ru...
А затем
Could not open a connection to host on port 5222 : Connect failed
Это значит, что действительно по какой-то причине нет соединения с сервером. Попробуйте выполнить тоже самое, указав другой сервер. Например, jabber.org.
Работа из корпоративной сети
В некоторых компаниях осуществляется фильтрация соединений по нестандартным портам. К "нестандартным" при этом относят всё что не 80 (HTTP), 25 (SMTP) и 110 (POP).
Тест с telnet (описанный выше) в таком случае окончится неудачей. Модифицируйте его, указав в качестве сервера allports.jabber.ru , а для порта - 80 или 25.
telnet allports.jabber.ru 80
Если соединения удасться достичь в этом случае, то в настройках подключения клиента нужно произвести соответствующие изменения. Т.е. явно указать порт (Port) и хост (Host).
Если ваша учетная запись находится не на jabber.ru, то возможны следующие варианты:
- завести учетную запись на jabber.ru
- найти другой сервер, который позволяет соединятся по произвольным портам и использовать его
- связаться с администратором вашего jabber-сервера и объяснив ему ситуацию, попосить настроить сервер соответствующим образом