Does Google Talk support XMPP Multi-User Chat?
Asked Answered
C

3

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, "[email protected]")

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?

Cowbird answered 15/2, 2013 at 21:34 Comment(0)
C
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("[email protected]", "Some reason");
Cowbird answered 20/2, 2013 at 22:4 Comment(2)
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.Feckless
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.Cowbird
F
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.

Feckless answered 16/2, 2013 at 0:3 Comment(2)
Thanks for the answer. Really sucks that Google doesn't support the full XMPP spec :(Cowbird
Well, it's an optional XMPP extension. XMPP-CORE and -IM is supported by Google Talk.Feckless
C
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 [email protected].

  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.

Christiansen answered 26/6, 2018 at 3:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.