У меня есть приложение для iphone, где я хочу использовать чаты. Я установил сервер XMPP (ejabberd) и загрузил платформу XMPP для iOS из кода Google (http://code.google.com/p/xmppframework/). Сервер и клиент работают должным образом, поскольку я могу войти в систему и отправить сообщения чата между двумя пользователями.
Однако, когда я пытаюсь создать комнату чата, используя метод createOrJoinRoom класса XMPPRoom (в XEP-0045), я не получаю никакого ответа от сервера, и комната чата не создается.
Я отладил, чтобы посмотреть, какой пакет отправляется на сервер, и выглядит это так:
<presence from="test2@beta.bogus.net/mynick" to="muumit15@conference.beta.bogus.net">
<x xmlns="http://jabber.org/protocol/muc"/>
</presence>
Я не получаю сообщение об ошибке, но чат-комната (muumit15) не создана. В то же время я могу использовать, например, Adium клиент для создания чата и это удается. Сервер настроен так, что каждый пользователь имеет право создавать чаты.
Есть идеи? Я даже пытался прослушать трафик TCP / IP, отправленный клиентом Adium, но он был зашифрован / сжат / двоичен, поэтому я не мог видеть, какие пакеты он отправляет.