[Bug 62557] New: MUC: service-unavailable is mapped to Channel_Full which ain't necessarily so
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Mar 20 14:37:01 CET 2013
https://bugs.freedesktop.org/show_bug.cgi?id=62557
Priority: medium
Bug ID: 62557
Assignee: telepathy-bugs at lists.freedesktop.org
Summary: MUC: service-unavailable is mapped to Channel_Full
which ain't necessarily so
QA Contact: telepathy-bugs at lists.freedesktop.org
Severity: normal
Classification: Unclassified
OS: All
Reporter: will.thompson at collabora.co.uk
Hardware: Other
Status: NEW
Version: git master
Component: gabble
Product: Telepathy
case WOCKY_XMPP_ERROR_SERVICE_UNAVAILABLE:
tp_error = g_error_new (TP_ERROR, TP_ERROR_CHANNEL_FULL,
"room is full");
reason = TP_CHANNEL_GROUP_CHANGE_REASON_BUSY;
break;
Sure enough XEP-0045 http://xmpp.org/extensions/xep-0045.html#enter-maxusers
says:
> If the room has reached its maximum number of occupants, the service SHOULD deny access to the room and inform the user of the restriction; this is done by returning a presence stanza of type "error" specifying a <service-unavailable/> error condition:
The example given there has type='wait':
<error by='coven at chat.shakespeare.lit' type='wait'>
<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
I've never seen by='' on <error> before, but it is defined in XMPP Core to be
the JID of the entity which generated the error. Actually pretty useful,
potentially. The error a user was seeing when trying to join a room is:
* presence xmlns='jabber:client' from='test at conference.collabora.co.uk/Iain
Holmes' to='iains at jid.com/69c77204' type='error'
* status
* x xmlns='http://jabber.org/protocol/muc'
* x xmlns='vcard-temp:x:update'
* photo
* error code='503' type='cancel'
* service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'
which I happen to know was generated by his server being unable to open an S2S
connection to conference.collabora.co.uk because he didn't have xmpp-server SRV
records on his domain so dialback would fail.
I bet we can't reliably expect to see by='' on <error>s generated by real MUC
servers so it's not that obvious how we could distinguish the two. Possibly by
type='wait' vs. type='cancel'?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list