Hey I trying to run a local instance of ejabberd and connect to it using Adium - I am able to do so, but run into issues when trying to join a group chat.
I've tried creating a room by running ejabberdctl create_room room1 localhost localhost
and connecting through Adium but here are the error messages I get:
2018-10-19 22:48:51.550 [debug] <0.2234.0>@xmpp_socket:parse:374 (tcp|<0.2234.0>)
Received XML on stream = <<"
<presence to='room1@localhost/dan'>
<c xmlns='http://jabber.org/protocol/caps'
node='http://pidgin.im/' hash='sha-1'
ver='DdnydQG7RGhP9E3k9Sf+b+bF0zo='/>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>
">>
and:
#presence{id = <<>>,type = available,lang = <<"en">>,
from = #jid{user = <<"danmiller">>,server = <<"localhost">>,
resource = <<"8c859086572c">>,luser = <<"danmiller">>,
lserver = <<"localhost">>,
lresource = <<"8c859086572c">>},
to = #jid{user = <<"room1">>,server = <<"localhost">>,
resource = <<"dan">>,luser = <<"room1">>,
lserver = <<"localhost">>,lresource = <<"dan">>},
show = undefined,status = [],priority = undefined,
sub_els = [#xmlel{name = <<"c">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/caps">>},
{<<"node">>,<<"http://pidgin.im/">>},
{<<"hash">>,<<"sha-1">>},
{<<"ver">>,
<<"DdnydQG7RGhP9E3k9Sf+b+bF0zo=">>}],
children = []},
#xmlel{name = <<"x">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/muc">>}],
children = []},
#vcard_xupdate{hash = <<>>}],
meta = #{ip => {0,0,0,0,0,0,0,1}}}
2018-10-19 22:48:51.552 [debug] <0.2234.0>@ejabberd_local:do_route:141 local route:
#presence{id = <<>>,type = available,lang = <<"en">>,
from = #jid{user = <<"danmiller">>,server = <<"localhost">>,
resource = <<"8c859086572c">>,luser = <<"danmiller">>,
lserver = <<"localhost">>,
lresource = <<"8c859086572c">>},
to = #jid{user = <<"room1">>,server = <<"localhost">>,
resource = <<"dan">>,luser = <<"room1">>,
lserver = <<"localhost">>,lresource = <<"dan">>},
show = undefined,status = [],priority = undefined,
sub_els = [#xmlel{name = <<"c">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/caps">>},
{<<"node">>,<<"http://pidgin.im/">>},
{<<"hash">>,<<"sha-1">>},
{<<"ver">>,
<<"DdnydQG7RGhP9E3k9Sf+b+bF0zo=">>}],
children = []},
#xmlel{name = <<"x">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/muc">>}],
children = []},
#vcard_xupdate{hash = <<>>}],
meta = #{ip => {0,0,0,0,0,0,0,1}}}
2018-10-19 22:48:51.552 [debug] <0.2234.0>@ejabberd_sm:do_route:651 processing packet to full JID:
#presence{id = <<>>,type = available,lang = <<"en">>,
from = #jid{user = <<"danmiller">>,server = <<"localhost">>,
resource = <<"8c859086572c">>,luser = <<"danmiller">>,
lserver = <<"localhost">>,
lresource = <<"8c859086572c">>},
to = #jid{user = <<"room1">>,server = <<"localhost">>,
resource = <<"dan">>,luser = <<"room1">>,
lserver = <<"localhost">>,lresource = <<"dan">>},
show = undefined,status = [],priority = undefined,
sub_els = [#xmlel{name = <<"c">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/caps">>},
{<<"node">>,<<"http://pidgin.im/">>},
{<<"hash">>,<<"sha-1">>},
{<<"ver">>,
<<"DdnydQG7RGhP9E3k9Sf+b+bF0zo=">>}],
children = []},
#xmlel{name = <<"x">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/muc">>}],
children = []},
#vcard_xupdate{hash = <<>>}],
meta = #{ip => {0,0,0,0,0,0,0,1}}}
2018-10-19 22:48:51.553 [debug] <0.2234.0>@ejabberd_sm:do_route:664 dropping presence to unavailable resource:
#presence{id = <<>>,type = available,lang = <<"en">>,
from = #jid{user = <<"danmiller">>,server = <<"localhost">>,
resource = <<"8c859086572c">>,luser = <<"danmiller">>,
lserver = <<"localhost">>,
lresource = <<"8c859086572c">>},
to = #jid{user = <<"room1">>,server = <<"localhost">>,
resource = <<"dan">>,luser = <<"room1">>,
lserver = <<"localhost">>,lresource = <<"dan">>},
show = undefined,status = [],priority = undefined,
sub_els = [#xmlel{name = <<"c">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/caps">>},
{<<"node">>,<<"http://pidgin.im/">>},
{<<"hash">>,<<"sha-1">>},
{<<"ver">>,
<<"DdnydQG7RGhP9E3k9Sf+b+bF0zo=">>}],
children = []},
#xmlel{name = <<"x">>,
attrs = [{<<"xmlns">>,
<<"http://jabber.org/protocol/muc">>}],
children = []},
#vcard_xupdate{hash = <<>>}],
meta = #{ip => {0,0,0,0,0,0,0,1}}}
I believe that I have configuration set up correctly, with modules.mod_muc.access: all
What am I missing?
I found the answer by paying closer attention to the documentation for the mod_muc
module:
Module options:
host: HostName: This option defines the Jabber ID of the service. If the host
option is not specified, the Jabber ID will be the hostname of the virtual host
with the prefix ‘conference.’. The keyword “@HOST@” is replaced at start time with
the real virtual host name.
I was trying to connect and create a room at room1@localhost
when I need to either connect instead to room1@conference.localhost
or add host: localhost
to my configuration under mod_muc
section