Jiejing.Zhang | 1 Sep 18:37 2014

XmlRpc failed on some commands, seems require auth, but how?


I have an issue when using ejabberd 14.07 (latest, also 13.02) do some ejabberd and xml_rpc to build my application. 

I can use xmlrpc to list user's roster when I development on Mac(14.07), but when I deployment it to Ubuntu server, I cannot get the correct result back from xmlrpc.

The error message is like:

`2014-08-19 05:15:47.159 [error] <0.545.0> {xmlrpc_http,171,{ejabberd_xmlrpc,handler,{'EXIT',{{badmatch,no_auth_provided},[{ejabberd_commands,check_access,2,[{file,"src/ejabberd_commands.erl"},{line,402}]},{ejabberd_commands,'-check_access_commands/5-fun-0-',5,[{file,"src/ejabberd_commands.erl"},{line,373}]},{lists,'-filter/2-lc$^0/1-0-',2,[{file,"lists.erl"},{line,1271}]},{ejabberd_commands,check_access_commands,5,[{file,"src/ejabberd_commands.erl"},{line,371}]},{ejabberd_commands,execute_command,4,[{file,"src/ejabberd_commands.erl"},{line,308}]},{ejabberd_xmlrpc,do_command,6,[{file,"src/ejabberd_xmlrpc.erl"},{line,350}]},{ejabberd_xmlrpc,try_do_command,6,[{file,"src/ejabberd_xmlrpc.erl"},{line,313}]},{xmlrpc_http,eval_payload,7,[{file,"src/xmlrpc_http.erl"},{line,166}]}]}}}} `

And I have checked the source code, and I found it seems caused by the execute_command require an auth information. 

But I don't know how to pass auth information in xml_rpc, also I don't find any example by google. 

I have posted my entire config & error log  & test script in https://github.com/processone/ejabberd/issues/279

But I don't get response for about 2 weeks.

Could some one give some tip on this issue.


Best regards,
Zhang Jiejing
ejabberd mailing list
ejabberd <at> jabber.ru
Holger Weiß | 28 Aug 22:52 2014

Support for XEP-0352: Client State Indication (CSI)

An XEP has been published that tries to save some battery on mobile
devices by reducing XMPP traffic when the client is in the background.¹
If you'd like to play around with that, here's an implementation for


There's an older non-standard interface to the same thing provided by
Google a few years ago.²  If you prefer that one for some reason:



¹ http://xmpp.org/extensions/xep-0352.html
² http://mail.jabber.org/pipermail/summit/2010-February/000528.html
mayur narole | 20 Aug 06:53 2014

fwrite(): SSL: Connection reset by peer

Hi All,

We have installed ejabberd, when we are trying to delete the user using service administration (xep-0133) http://xmpp.org/extensions/xep-0133.html#delete-user, it got deleted but some times getting error service-unavailable. And also sometimes getting error fwrite(): SSL: Connection reset by peer.
We are using admin users for deleting other users. so is this connection is c2s or s2s?
And if this is c2s then do we need to modify shaper for c2s as {access, c2s_shaper, [{fast, all}]}.

Is it some kind of missing in configuration? 
Thanks & Regards,
Mayur S Narole,
Mob . 8956682454
ejabberd mailing list
ejabberd <at> jabber.ru
Mike Wenzel | 15 Aug 14:31 2014


I need to setup an ejabberd server (done) and an web-client (done). Now I need to group my users. I'm using my AD to get my users on ejabberd (ldap connection is working fine now – but not in my mod_shared_roster_ldap module). Now those Users are member of different groups. I need to create chat-rooms where ONLY users OF THE SAME GROUPS are in and only the users of the same group should be visible. They may don't the people of other groups. This is really the MOST IMPORTANT thing right here! Does anyone of you know if this is possible?


Best Regards,



ejabberd mailing list
ejabberd <at> jabber.ru
liudanking | 15 Aug 12:31 2014

how to create chat room programmatically?

i am using ejabberd v14.07 as my xmpp server. 

And i want to create chat room programmatically:

mod_muc:create_room(<<"mac.xmpp.com">>, "chatgroup", jlib:string_to_jid(<<"liudan <at> localhost">>), "nickname", default)


the return value from ejabberdctl live seems everything is ok:

18:03:23.778 [info] Created MUC room chatgroup <at> conference.mac.xmpp.com by liudan <at> localhost


but, when i try to check the chat room from web_admin_page generated by mod_muc_admin, ejabberdctl live outputs an error:

18:04:37.714 [error] {badarg,[{mod_muc_admin,build_info_room,1,[{file,"src/mod_muc_admin.erl"},{line,342}]},{mod_muc_admin,'-build_info_rooms/1-lc$^0/1-0-',1,[{file,"src/mod_muc_admin.erl"},{line,318}]},{mod_muc_admin,make_rooms_page,3,[{file,"src/mod_muc_admin.erl"},{line,271}]},{mod_muc_admin,web_page_host,3,[{file,"src/mod_muc_admin.erl"},{line,249}]},{ejabberd_hooks,run_fold1,4,[{file,"src/ejabberd_hooks.erl"},{line,352}]},{ejabberd_web_admin,process_admin,2,[{file,"src/ejabberd_web_admin.erl"},{line,967}]},{ejabberd_http,process,2,[{file,"src/ejabberd_http.erl"},{line,355}]},{ejabberd_http,process_request,1,[{file,"src/ejabberd_http.erl"},{line,404}]}]} running hook: {webadmin_page_host,[<<"mac.xmpp.com">>,{request,'GET',[<<"muc">>],[{nokey,<<>>}],{<<"liudan">>,<<"localhost">>},{auth_jid,{<<"liudan <at> localhost">>,<<"liudan">>},{jid,<<"liudan">>,<<"localhost">>,<<>>,<<"liudan">>,<<"localhost">>,<<>>}},<<"zh-CN">>,<<>>,{{127,0,0,1},50314},<<"localhost">>,5280,http,[{'Accept-Language',<<"zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4">>},{'Accept-Encoding',<<"gzip,deflate,sdch">>},{'Referer',<<"http://localhost:5280/admin/server/mac.xmpp.com/shared-roster/">>},{'User-Agent',<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36">>},{'Accept',<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8">>},{'Authorization',<<"Basic bGl1ZGFuQGxvY2FsaG9zdDpsaXVkYW4=">>},{'Connection',<<"keep-alive">>},{'Host',<<"localhost:5280">>}]}]}

and the chat room “chatgroup” is not displayed.

I have read the topic: http://jabber.996255.n3.nabble.com/Create-multi-user-chat-room-programmatically-td23430.html and it did not solve the problem.

Call for help.

ejabberd mailing list
ejabberd <at> jabber.ru
Jorge Guntanis | 5 Aug 21:36 2014

Removing nodes from cluster.

Hi everyone,

How do you remove a node from a cluster?
I'm trying to remove some servers from a cluster, how can I remove it completely, so it doesn't even show up in the offline nodes.

Thanks much,
- Jorge
ejabberd mailing list
ejabberd <at> jabber.ru
Vladimir Stafievsky | 5 Aug 09:32 2014

Ejabberd crash, core dumped

Hi all!
Cann't understand why ejabberd crashed (1-2 per day), may be anybody can 
There is some info about dump:

gdb /usr/local/lib/erlang/erts-5.10.4/bin/beam.smp --core beam.smp.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging 
symbols found)...
Core was generated by `beam.smp'.
Program terminated with signal 10, Bus error.
Reading symbols from /lib/libutil.so.9...(no debugging symbols 
Loaded symbols for /lib/libutil.so.9
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libncurses.so.8...(no debugging symbols 
Loaded symbols for /lib/libncurses.so.8
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from 
Loaded symbols for 
Reading symbols from /usr/local/lib/libyaml-0.so.2...done.
Loaded symbols for /usr/local/lib/libyaml-0.so.2
Reading symbols from 
Loaded symbols for 
Reading symbols from /usr/lib/libssl.so.7...done.
Loaded symbols for /usr/lib/libssl.so.7
Reading symbols from /lib/libcrypto.so.7...done.
Loaded symbols for /lib/libcrypto.so.7
Reading symbols from 
Loaded symbols for 
Reading symbols from 
Loaded symbols for 
Reading symbols from /usr/local/lib/libexpat.so.6...done.
Loaded symbols for /usr/local/lib/libexpat.so.6
Reading symbols from 
Loaded symbols for 
Reading symbols from 
Loaded symbols for 
Reading symbols from 
Loaded symbols for /usr/local/lib/erlang/lib/crypto-3.2/priv/lib/crypto.so
Reading symbols from 
Loaded symbols for 
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x00000000004e1a2e in erts_garbage_collect_hibernate ()
[New Thread 801c0c400 (LWP 100635/beam.smp)]
[New Thread 801c0c000 (LWP 100631/beam.smp)]
[New Thread 801c0bc00 (LWP 100624/beam.smp)]
[New Thread 801c0b800 (LWP 100610/beam.smp)]
[New Thread 801c0b400 (LWP 100607/beam.smp)]
[New Thread 801c0b000 (LWP 100576/beam.smp)]
[New Thread 801c0ac00 (LWP 100548/beam.smp)]
[New Thread 801c0a800 (LWP 100544/beam.smp)]
[New Thread 801c0a400 (LWP 100532/beam.smp)]
[New Thread 801c0a000 (LWP 100453/beam.smp)]
[New Thread 801c09c00 (LWP 100433/beam.smp)]
[New Thread 801c09800 (LWP 100418/beam.smp)]
[New Thread 801c09400 (LWP 100397/beam.smp)]
[New Thread 801c09000 (LWP 100384/beam.smp)]
[New Thread 801c08c00 (LWP 100364/beam.smp)]
[New Thread 801c08800 (LWP 100322/beam.smp)]
[New Thread 801c08400 (LWP 100313/beam.smp)]
[New Thread 801c08000 (LWP 100216/beam.smp)]
[New Thread 801c07c00 (LWP 100120/beam.smp)]
[New Thread 801c07800 (LWP 100118/beam.smp)]
[New Thread 801c07400 (LWP 100090/beam.smp)]
[New Thread 801c06c00 (LWP 100088/beam.smp)]
[New Thread 801c06400 (LWP 100580/beam.smp)]
(gdb) bt
#0  0x00000000004e1a2e in erts_garbage_collect_hibernate ()
#1  0x00000000004df4a6 in erts_garbage_collect ()
#2  0x0000000000512f18 in process_main ()
#3  0x000000000048c5c9 in erts_start_schedulers ()
#4  0x0000000000586a8c in ethr_get_ts_event ()
#5  0x00000008010814a4 in pthread_create () from /lib/libthr.so.3
#6  0x0000000000000000 in ?? ()
(gdb) p erts_garbage_collect_hibernate
$1 = {<text variable, no debug info>} 0x4e0b90 
(gdb) info thread
   23 Thread 801c06400 (LWP 100580/beam.smp)  0x00000008013d206a in 
select () from /lib/libc.so.7
   22 Thread 801c06c00 (LWP 100088/beam.smp)  0x00000008013d20e8 in read 
() from /lib/libc.so.7
   21 Thread 801c07400 (LWP 100090/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   20 Thread 801c07800 (LWP 100118/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   19 Thread 801c07c00 (LWP 100120/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   18 Thread 801c08000 (LWP 100216/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   17 Thread 801c08400 (LWP 100313/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   16 Thread 801c08800 (LWP 100322/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   15 Thread 801c08c00 (LWP 100364/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   14 Thread 801c09000 (LWP 100384/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   13 Thread 801c09400 (LWP 100397/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   12 Thread 801c09800 (LWP 100418/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   11 Thread 801c09c00 (LWP 100433/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   10 Thread 801c0a000 (LWP 100453/beam.smp)  0x0000000801322d98 in 
wait4 () from /lib/libc.so.7
   9 Thread 801c0a400 (LWP 100532/beam.smp)  0x0000000000464a24 in 
copy_struct ()
   8 Thread 801c0a800 (LWP 100544/beam.smp)  0x00000000004e0630 in 
erts_garbage_collect ()
   7 Thread 801c0ac00 (LWP 100548/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   6 Thread 801c0b000 (LWP 100576/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
* 5 Thread 801c0b400 (LWP 100607/beam.smp)  0x00000000004e1a2e in 
erts_garbage_collect_hibernate ()
   4 Thread 801c0b800 (LWP 100610/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   3 Thread 801c0bc00 (LWP 100624/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   2 Thread 801c0c000 (LWP 100631/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3
   1 Thread 801c0c400 (LWP 100635/beam.smp)  0x000000080108c89c in 
__error () from /lib/libthr.so.3

10.0-RELEASE-p3 FreeBSD 10.0-RELEASE-p3 #0: Tue May 13 18:31:10 UTC 2014 
root <at> amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:8:8] 
[async-threads:10] [kernel-poll:false]
Ejabberd 14.05




Vladimir Stafievsky
Stuart Cracraft | 31 Jul 15:08 2014


Is there anyone on either or both of these lists with experience
in xmpp/ejabberd + tsung for xmpp test-harness who would be
willing to collaborate closely on a short-term project related to
the above.

If so, write back to me at my email address in reply.
Vladimir Stafievsky | 31 Jul 09:46 2014

xep-0012 and mod_roster odbc

Hi all!
We found a bug today: client always got 403 forbidden response when 
trying to occure jid's last activity (xep-0012) information.
mod_roster.erl line 1241

read_subscription_and_groups(LUser, LServer, LJID,

Bad: {selected, [<<"subscription">>], [{SSubscription}]}
Good: {selected, [<<"subscription">>], [[SSubscription]]}

David Partain | 30 Jul 11:32 2014

Request for help: Changes to max_user_sessions having no effect


I apologize in advance if this is a FAQ.  I've tried to find the answer, 
but rather than go completely bald pulling out the rest of my hair, I'm 
hoping someone here can help.

I'm running ejabberd 2.1.10 on an Ubuntu 12.04 server.

The initial config had

{access, max_user_sessions, [{10, all}]}.

and users were (not surprisingly) only able to connect to 10 chat rooms. 
  When they connected to the 11th, they got a 503 go-away error.

I thought that it would be a simple matter of changing that to something 
else like:

{access, max_user_sessions, [{100, all}]}.

and restarting the server.  No luck.  11th chat room results in the same 

Then I thought I had found something with the override_* options.  I 
commented those out, so I have:


Unfortunately, this changes nothing, either.

I realize this looks like I'm fumbling in the dark, 'cause I am.  I'm 
relatively new to the ejabberd game.

Can anyone suggest what I might be overlooking?


Jérôme Sautret | 23 Jul 15:05 2014

[ANN] ejabberd Community 14.07


Two months after the previous huge release, we are keeping the pace
with a new feature packed version. We added major improvements
regarding to SIP support, Carbon copy, stream management and added
Riak as a new supported database.

ejabberd Community 14.07 includes several improvements and many
bugfixes over the previous 14.05 release:


* SIP Outbound (RFC 5626) support
* New option always_record_route
* New options record_route and routes

Carbon Copy (XEP-0280)

* Don’t log MUC messages with hint
* Don’t carbon copy messages with hint
* Let is_carbon_copy/1 recognize carbons
* Don’t send XEP-0280 v1 copies back to sender

Stream Management (XEP-0198)

* XEP-0198: Terminate session if stanza queue becomes too large
* XEP-0198: Don’t exit on socket send failure
* XEP-0198: Don’t drop session on failed resume
* XEP-0198: Check whether routed packets are stanzas


* Riak support

Install and config

* New options log_rotate_count, log_rotate_size and log_rate_limit
* html guide is now generated when building source tarball
* Use p1_utils, and move treap.erl to p1_utils
* Get rid of p1_mnesia file
* old release notes are not installed anymore
* Don’t “forget” listener options
* Always enable STUN at compile time
* Do not check for Erlang apps at configure time
* Add –enable-riak configure flag


* Add tests for stream management
* Add tests for mod_carboncopy
* Add tests for mod_caps
* Improve MUC test cases
* Travis CI: Enable Riak tests
* Add Riak backend to the testing suit
*The test suite no longer fails without –enable-transient_supervisors.


* MUC messages with ~ were not logged (EJAB-1696).

And many bugfixes all over the source code.

This release requires at least Erlang/OTP R15, and works perfectly
with R16B03, and will work with R17 if Riak support is disabled

When building from Git, “make install” now fails if you do not run
“make doc” before due to doc/guide.html no longer being in the repo.
If you don’t have necessary tools to build the guide, just pick the
one from ejabberd sources tarball.

As usual, the release is tagged in the Git source code repository on
github: https://github.com/processone/ejabberd

The source package and binary installers are available at ProcessOne:

If you suspect you found a bug, search or fill a bug report in Jira:


Jérôme Sautret
ejabberd mailing list
ejabberd <at> jabber.ru