Ну, я столкнулся с странной проблемой. Я могу создать muc, способный приглашать пользователей, способных присоединиться, но через некоторое время я не могу присоединиться к вновь созданной группе. Это происходит только для некоторых пользователей, в то время как другие пользователи могут создавать/вступать в группы. Я создаю группу MUC как:
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(getConnection());
MultiUserChat chatRoom = manager.getMultiUserChat(groupName+ "@conference." + Constants.XMPP_SERVICE);
chatRoom.createOrJoin(chatGroup.title);
Приглашение пользователя выглядит следующим образом:
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(getConnection());
MultiUserChat chatRoom = manager.getMultiUserChat(groupName+ "@conference." + Constants.XMPP_SERVICE);
chatRoom.changeNickname(FirstName);
chatRoom.invite(invite.UserId + "@" + Constants.XMPP_SERVICE, groupInfo);
И другой конец у меня есть
@Override
public void invitationReceived(XMPPConnection conn, final MultiUserChat room, String inviter, final String reason, String password, final Message message) {
Log.d("XMPPInvitation", "");
try {
room.join(FirstName);
Приведенный выше код работает нормально, но через какое-то время он начинает давать ниже ошибки:
org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: service-unavailable - cancel
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:232)
at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:311)
at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:495)
at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:430)
at com.app.xmpp.GroupChatInvitationListener.invitationReceived(GroupChatInvitationListener.java:45)
Я room.join на GroupChatInvitationListener.java:45 Я также заметил это получил XML
<presence from='[email protected]/A J 33' to='[email protected]/A J 33' type='error' xml:lang='en' id='WC0zt-374'><x xmlns='http://jabber.org/protocol/muc'/><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.igniterealtime.org/projects/smack' ver='os2Kusj3WEOivn5n4iFr/ZEO8ls='/><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></presence>
Он снова начать работать, если перезапустить mod_muc модуль из Ejabberd Admin. Можете ли вы предложить, что может быть проблемой?
я столкнулся такая же проблема. Вы смогли разобраться в проблеме? –