6E64864A-36AF-4B83-8EF5-6E58C4A6117AКогда я пытаюсь создать одну и ту же комнату два раза подряд, я получаю раздел присутствия из службы, содержащий код состояния "201" оба раза.
Это ожидаемое поведение? Из XEP-0045 кажется, что 201 следует отправлять ТОЛЬКО при первом создании комнаты.
Пожалуйста, помогите мне понять это. Почему код состояния 201 отправляется оба раза?
Как я могу отличить черно-белое создание новой комнаты от присоединения к существующей комнате?
Пожалуйста, смотрите ниже последовательность:
--------- Здесь начинается первый запрос
SEND: <presence to="[email protected]/GJ">
<x xmlns="http://jabber.org/protocol/muc"/>
<x xmlns="vcard-temp:x:update"><photo/></x></presence>
RECV: <presence xmlns="jabber:client" from="[email protected]/GJ" to="erik@localhost/imac">
<x xmlns="vcard-temp:x:update"><photo/></x>
<x xmlns="http://jabber.org/protocol/muc#user">
<item jid="erik@localhost/imac" affiliation="owner" role="moderator"/>
<status code="110"/><status code="201"/></x></presence>
// configure the room persistent here //<field type="boolean" var="muc#roomconfig_persistentroom" value="1"/>
SEND: <iq type="set" to="[email protected]" id="6E64864A-36AF-4B83-8EF5-6E58C4A6117A">
<query xmlns="http://jabber.org/protocol/muc#owner"><x .........
RECV: <iq xmlns="jabber:client" from="[email protected]"
to="erik@localhost/imac" id="6E64864A-36AF-4B83-8EF5-6E58C4A6117A" type="result">
<query xmlns="http://jabber.org/protocol/muc#owner"/></iq>
---------Здесь начинается второй запрос
SEND: <presence to="[email protected]/GJ" type="unavailable">
<x xmlns="vcard-temp:x:update"><photo/></x></presence>
SEND: <presence to="[email protected]/GJ">
<x xmlns="http://jabber.org/protocol/muc"/>
<x xmlns="vcard-temp:x:update"><photo/></x></presence>
RECV: <presence xmlns="jabber:client" from="[email protected]/GJ" to="erik@localhost/imac" type="unavailable">
<x xmlns="vcard-temp:x:update"><photo/></x><x xmlns="http://jabber.org/protocol/muc#user"><item affiliation="owner" role="none"/>
<status code="110"/></x></presence>
RECV: <presence xmlns="jabber:client" from="[email protected]/GJ" to="erik@localhost/imac">
<x xmlns="vcard-temp:x:update"><photo/></x>
<x xmlns="http://jabber.org/protocol/muc#user">
<item jid="erik@localhost/imac" affiliation="owner" role="moderator"/><status code="110"/><status code="201"/></x></presence>
----------------------Раздел конфигурации отправлен после первого запроса
SEND: <iq type="set" to="[email protected]" id="C72C4629-B318-4733-884B-B6A8BEAFB50F">
<query xmlns="http://jabber.org/protocol/muc#owner">
<x xmlns="jabber:x:data" type="submit"><field type="hidden" var="FORM_TYPE"><value>http://jabber.org/protocol/muc#roomconfig</value> <field type="boolean" var="muc#roomconfig_enable_logging" value="1"/>
<field type="text-single" var="muc#roomconfig_roomname" value="IdeaFactory"/> <field type="boolean" var="muc#roomconfig_membersonly" value="1"/>
<field type="boolean" var="muc#roomconfig_moderatedroom" value="0"/>
<field type="boolean" var="muc#roomconfig_persistentroom" value="1"/> <field type="boolean" var="muc#roomconfig_publicroom" value="0"/> <field type="text-single" var="muc#roomconfig_maxusers" value="10"/> <field type="jid-multi" var="muc#roomconfig_roomowners" value="erik@localhost"/> <field type="boolean" var="muc#roomconfig_changesubject" value="1"/></field></x> </query></iq>