xmppjs / xmpp.js

XMPP for JavaScript
ISC License
2.19k stars 372 forks source link

MUC-create room(service-unavailable) #845

Closed pidongqianqian closed 4 years ago

pidongqianqian commented 4 years ago

I use a public server and wss service: wss://jabber.hot-chilli.net:443/xmpp-websocket

When I used iqCaller.requests to create a muc room, i continued to encounter the following error message: <iq type='error' xmlns='jabber:client' from='test1234@conference.jabber.hot-chilli.net/aliceNice' to='alice@jabber.hot-chilli.net/example' id='create1'><query xmlns='http://jabber.org/protocol/muc#owner'><x type='submit' xmlns='jabber:x:data'/></query><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

I tried deleting the node_modules file and reinstalling @xmpp/client and @xmpp/debug using yarn, i also tried to see the implementation of other posts, but I could not solve this error.

My code: const to =${data.room}@${domain}/${data.nick}; let message = xml('presence', { from: from, to: to }, xml('x', {xmlns: NS}) ) client.send(message); message = xml('iq', {id: 'create1',from, to, type: 'set'}, xml('query', {xmlns: NS_OWNER}, xml('x', {xmlns: 'jabber:x:data', type: 'submit'}))) await client.iqCaller.request(message).then(stanza => console.log('iqCaller stanza:', stanza) );

Below is my log: [send]<presence from="alice@jabber.hot-chilli.net/example" to="test1234@conference.jabber.hot-chilli.net/aliceNice" xmlns="jabber:client"><x xmlns="http://jabber.org/protocol/muc"/></presence>

[send] <iq id="create1" from="alice@jabber.hot-chilli.net/example" to="test1234@conference.jabber.hot-chilli.net/aliceNice" type="set" xmlns="jabber:client"><query xmlns="http://jabber.org/protocol/muc#owner"><x xmlns="jabber:x:data" type="submit"/></query></iq>

[receive] <presence xmlns='jabber:client' to='alice@jabber.hot-chilli.net/example' from='test1234@conference.jabber.hot-chilli.net/aliceNice'><x xmlns='vcard-temp:x:update'><photo>df19366b14fd123715340e996b380ea62984fbdf</photo></x><x xmlns='http://jabber.org/protocol/muc#user'><item role='moderator' affiliation='owner' jid='alice@jabber.hot-chilli.net/example'/><status code='110'/></x></presence>

[receive] <message type='groupchat' xmlns='jabber:client' to='alice@jabber.hot-chilli.net/example' from='test1234@conference.jabber.hot-chilli.net'><subject/></message>

[receive]<presence xmlns='jabber:client' to='alice@jabber.hot-chilli.net/example' from='test1234@conference.jabber.hot-chilli.net'><x xmlns='vcard-temp:x:update'><photo/></x></presence>

[receive]<r xmlns='urn:xmpp:sm:3'/> [send]<a xmlns="urn:xmpp:sm:3" h="6"/>

[receive]<iq type='set' xmlns='jabber:client' id='YWxpY2VAamFiYmVyLmhvdC1jaGlsbGkubmV0L2V4YW1wbGUAY3JlYXRlMQANKnxCZL08EdeazyjryfDx' to='alice@jabber.hot-chilli.net/example' from='test1234@conference.jabber.hot-chilli.net/aliceNice'><query xmlns='http://jabber.org/protocol/muc#owner'><x type='submit' xmlns='jabber:x:data'/></query></iq>

[send]<iq to="test1234@conference.jabber.hot-chilli.net/aliceNice" from="alice@jabber.hot-chilli.net/example" id="YWxpY2VAamFiYmVyLmhvdC1jaGlsbGkubmV0L2V4YW1wbGUAY3JlYXRlMQANKnxCZL08EdeazyjryfDx" type="error" xmlns="jabber:client"><query xmlns="http://jabber.org/protocol/muc#owner"><x type="submit" xmlns="jabber:x:data"/></query><error type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>

[receive]<r xmlns='urn:xmpp:sm:3'/> [send]<a xmlns="urn:xmpp:sm:3" h="7"/>

[receive]<iq type='error' xmlns='jabber:client' from='test1234@conference.jabber.hot-chilli.net/aliceNice' to='alice@jabber.hot-chilli.net/example' id='create1'><query xmlns='http://jabber.org/protocol/muc#owner'><x type='submit' xmlns='jabber:x:data'/></query><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

i am not familiar with xmpp, please help me.

pidongqianqian commented 4 years ago

Now I use strophejs to solve my needs, but i still hope that one day i can use xmppjs and contribute some code, have a good day