Jérôme Sautret | 17 Dec 15:29 2014

[ANN] ejabberd Community 14.12


We’re pleased to announce the last release of ejabberd for 2014!
Thanks to contributors, this release includes great improvements and
opens road to 2015.

ejabberd Community 14.12 includes many bugfixes, and a few new features:
– New module mod_client_state implements XEP-0352: Client State Indication
– New module mod_fail2ban to ban IPs that show malicious signs
– New option store_empty_body in mod_offline
– New option disable_sasl_mechanisms
– Improve option resend_on_timeout to support if_offline

Improvements mainly cover:
– More robust offline server
– Better charset support in XMLRPC
– Some PEP issues fixed

As usual, the release is tagged in the Git source code repository on github:

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
(Continue reading)

hensem | 16 Dec 04:40 2014

web admin not working from outside

I have ejabberd installed in one machine. If I access the web admin from
another machine within the same LAN, it will show everything.

If I try to access it from outside, I can login, but it will only show
Virtual Hosts under menu, and when I clicked it, nothing is shown, only

 "Host	Registered Users	Online Users" 

What do I need to do if I want to access web admin from outside my LAN?


View this message in context: http://jabber.996255.n3.nabble.com/web-admin-not-working-from-outside-tp34188.html
Sent from the ejabberd mailing list archive at Nabble.com.
Deepender Singla | 14 Dec 12:43 2014

Maximum History Size from MUC

Hello Folks

First off, I want to thanks to all of you in writing modular and easy to customize source code of ejabberd, I was actually scared when my boss gave me ejabberd customization never touched erlang and this code base before. But I was surprised with the modularity have been written, its very easy to customized even without erlang  (though because of this project, i started learning erlang looks very interesting) 

Back to what I am doing, From in MUC i am not making user leave the room when he leaves the room, this is i did by changing behaviour of "unavailable" type so that it doesn't remove_users, the other thing which I am currently stuck is:

1) I need to send the client the messages they missed when they were offline, can I use send_history method for this. As I see send_history can store  20 by default but this can be increased to any number, My first question What is the upper limit for this , if any?

2) Does anywhere apart from in the room does server store when was the user was connected and disconneted, some time stamp of user?

ejabberd mailing list
ejabberd <at> jabber.ru
Gaurav Jain | 10 Dec 22:08 2014

Register user in room


I tried to follow to register a user to a room. However, I get error 501. Please see the stanza that I send and receive below.

I user ejabbered-14.x


 <iq type="get" to="test <at> conference.localhost" id="someId"><query xmlns="jabber:iq:register"/></iq>

<iq xmlns="jabber:client" from="test <at> conference.localhost" to="erik <at> localhost/iPhone" type="error" id="someId"><query xmlns="jabber:iq:register"/><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>

Can you please provide pointers?

ejabberd mailing list
ejabberd <at> jabber.ru
Gaurav Jain | 10 Dec 05:53 2014

Get members of room as occupant/member

As an occupant/member, I need to know all the "members" in the room with ejabberd-14.x

I followed http://xmpp.org/extensions/xep-0045.html#getmemberlist

I got forbidden (401) for following stanze - Admin privilege required

    <iq from='crone1 <at> shakespeare.lit/desktop'
        to='coven <at> chat.shakespeare.lit'
      <query xmlns='http://jabber.org/protocol/muc#admin'>
        <item affiliation='member'/>

If I change 

    <query xmlns='http://jabber.org/protocol/muc#admin'>

from 'admin' to 'user' namespace, then I get status code 501 - Feature not implemented

Would you know how can I get members of a room as an occupant or member?

I am not an admin/moderator in this use case.

XEP-0045 does say:

> Note: A service SHOULD also return the member list to any occupant in
> a members-only room; i.e., it SHOULD NOT generate a <forbidden/> error
> when a member in the room requests the member list. This functionality
> can assist clients in showing all the existing members even if some of
> them are not in the room, e.g. to help a member determine if another
> user should be invited. A service SHOULD also allow any member to
> retrieve the member list even if not yet an occupant.

ejabberd mailing list
ejabberd <at> jabber.ru
hensem | 8 Dec 08:26 2014

Communicating from 2 servers

I  have to working ejabberd severs. Both servers serving different domain.

can user on server 1 communicate with server 2? is that possible?

user1 <at> server1.com can find, add and chat with user2 <at> server2.com

both server1.com and server2.com are FQDN


View this message in context: http://jabber.996255.n3.nabble.com/Communicating-from-2-servers-tp34157.html
Sent from the ejabberd mailing list archive at Nabble.com.
hensem | 8 Dec 04:20 2014

Can't start ejabberd as demon

I am on Centos and install using binary installer.

From http://www.process-one.net/docs/ejabberd/guide_en.html#htoc13 and

this is what I did:

1. add this in ejabberd.init

# ejabberd	Startup script for the ejabberd XMPP Server 
# chkconfig: - 99 10 
# description:	ejabberd XMPP server 

# Source function library. 
. /etc/init.d/functions 

2. copy ejabberd.init to /etc/init.d/ejabberd

3. run these:
chmod +x /etc/init.d/ejabberd
useradd -c "Ejabberd User" -d/opt/ejabberd-14.07/ -g ejabberd -p ejabberd -r
chkconfig --add ejabberd
chkconfig ejabberd on

4. Restart system

After restart ejabberd is not running.

I tried to manually run it:
[root <at> damai bin]# /etc/init.d/ejabberd
/etc/init.d/ejabberd: line 29: $1: unbound variable

Looking at source code, I tried this:
[root <at> damai bin]# /etc/init.d/ejabberd start
Starting ejabberd...
This command can only be run by root or the user root

Then I tried to run this:
[root <at> damai bin]# service ejabberd start
Starting ejabberd...
This command can only be run by root or the user root

As you can, I'm already su to root. Both last 2 commands should be run.
Anyway, how do I make ejabberd run as service?


Any idea 

View this message in context: http://jabber.996255.n3.nabble.com/Can-t-start-ejabberd-as-demon-tp34152.html
Sent from the ejabberd mailing list archive at Nabble.com.
Esben Stien | 7 Dec 18:19 2014


I have a few devices and each has a jabber client. 

When I turn one device off for whatever reason and then connect later,
some messages from other people has gone to other jabber clients and I
don't see the messages. 

What do you do in this case?;)

Can each client request history from the server? Is that in the spec?


Esben Stien is b0ef <at> e     s      a             
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef <at>    e     e 
           jid:b0ef <at>     n     n
mamat hensem | 4 Dec 12:03 2014

Re: eJabberd Clustering

1. Check epmd is running with ps on both servers

2. Check port 4369 TCP is listened by it
CHECKED. firewall is open. telnet said connected

3. Check telnet/nc from one node to another for port 4369

4. Run epmd -names to check that ejabberd is registered as node at that server
server 1:
epmd: up and running on port 4369 with data:
name ejabberd at port 60203

server 2:
epmd: up and running on port 4369 with data:
name ejabberd at port 41466

5. Try to run plain erl nodes on both servers with defined cookies and check that net_adm:ping is working between them
I got pang on both server. No idea pang is right one or not.

So what now?

On Thu, Dec 4, 2014 at 6:49 PM, Gadi Srebnik <gadi <at> rounds.com> wrote:

ejabberd mailing list
ejabberd <at> jabber.ru
ricky gutierrez | 3 Dec 04:42 2014

service component with ejabberd

Hello list, I have a question, I am adding to my server ejabberd Jitsi
VideoBRIDGE , Jitsi VB is running on another server, looking at the
documentation of ejabberd are examples as adding external services,
add Jitsi VideoBRIDGE to ejabberd and restart and had no errors , so
strange is when I open the client Jitsi and go to Tools the option
"make a VideoBRIDGE" is grey and inactive.

look my piece of code on jabbed.yml

    port: 5347
    module: ejabberd_service
         password: "XXXXX1"

and jitsi videobridge


I can see that Jitsi VideoBRIDGE port is listening on both servers!
 netstat -an | grep 5347
tcp        0      0*               LISTEN

### ejabberd server### :
netstat -an | grep 5347
tcp        0      0      *

any idea?

my firewall is disabled for both.




Deepender Singla | 30 Nov 18:21 2014

Good Tutorial for an erlang novice to customize ejaaberd

Hello Folks

Is there any good documentation/tutorial/blogs anyone will recommend from person who just shifted to erlang for customization of ejabberd (basically for adding few  features to code base). On my side I found this http://metajack.im/2008/08/28/writing-ejabberd-modules-presence-storms/, found good for me to start.

ejabberd mailing list
ejabberd <at> jabber.ru