7

I'm using Smack to develop an internal dashboard in Java/Spark that would start a Google Talk conference between a LDAP user group. When I run

MultiUserChat.isServiceEnabled(connection, "user@mydomain.com")

it returns false. I know that via the GMail client, one can start a group conversation. Could this be returning false because of something in my Google Apps domain, or does Google use some other means for group chat in Google Talk?

berwyn
  • 986
  • 7
  • 23

3 Answers3

8

So as it turns out, GTalk actually does support MUC. With Smack and Java, it's as simple as the following code:

 UUID uid = UUID.randomUUID();
 String chatRoomName = String.format("private-chat-%1s@%2s", uid, "groupchat.google.com");
 MultiUserChat muc = new MultiUserChat(connection, chatRoomName);
 muc.join("My username");

From there, it's just a matter of adding users like

 muc.invite("someguy@somedomain.tld", "Some reason");
berwyn
  • 986
  • 7
  • 23
  • Oh interesting. But since google doesn't announce that MUC component I would rely on it. It could get removed at some point in the future. – Flow Feb 24 '13 at 09:26
  • Yeah, I actually hope they remove it in favor of putting in traditional XEP-0045 Multi-user chat. For now though, this is a workable solution. – berwyn Feb 25 '13 at 20:43
1

No, as of today no Google Talk client does support XEP-45 Multi User Chat (MUC), nor does Google Talk announce a XMPP MUC component.1

All Google Talk clients from Google do not support MUC, which is what you check with MultiUserChat.isServiceEnabled(). However, if a user is using a third party XMPP Client (e.g. Gajim) with Google Talk, then he can join MUC rooms like any other XMPP User.

See also this questions on Google productforums: http://productforums.google.com/forum/#!topic/chat/HLyMGBxJM7Q

1But there is one. See this answer.

Community
  • 1
  • 1
Flow
  • 23,572
  • 15
  • 99
  • 156
0

I find this:Google Talk multi-user chat specifications

It shows several differences between Talk and XMPP specifications. Third-party clients wishing to create or join private MUC rooms on the talk.google.com service need to follow these specifications.

  1. Room names must follow a specific format of private-chat-GUID@groupchat.google.com.

  2. Presence broadcasts from the client to talk.google.com must include an entity capability element.

  3. If a user wishes to change their nickname within the room, the client must set the old nickname as unavailable before sending a presence stanza with the new nickname.

Sure Talk supports XMPP.

Coillu
  • 1
  • 1