0

I have nearly zero experience with ejabberd or MongooseIM (a fork of ejabberd) so bear with me.

I would like to enable mod_announce so that I can broadcast messages, but there is no mod_announce.erl in the source tree. I do see references to mod_announce elsewhere in the source so I tried simply to enable it in the config:

{mod_private, []},
{mod_roster_kov, []},
{mod_announce, [access, announce]},
{mod_sic, []},
{mod_ping, [{send_pings, true}, {ping_interval, 300}, {timeout_action, kill}]},

However, now the server won't start. The log says:

2015-03-11 09:21:50.341 [critical] <0.184.0>@gen_mod:start_module:93 Problem starting the module mod_announce for host <<"mydomain.dk">>
 options: [{access,true},{announce,true}]
 error: undef
[{mod_announce,start,[<<"mydomain.dk">>,[{access,true},{announce,true}]],[]},
 {gen_mod,start_module,3,[{file,"src/gen_mod.erl"},{line,82}]},
 {lists,foreach,2,[{file,"lists.erl"},{line,1336}]},
 {ejabberd_app,start,2,[{file,"src/ejabberd_app.erl"},{line,70}]},
 {application_master,start_it_old,4,
                     [{file,"application_master.erl"},{line,272}]}]
2015-03-11 09:21:50.341 [critical] <0.184.0>@gen_mod:start_module:98 ejabberd initialization was aborted because a module start failed.
The trace is [{mod_announce,start,[<<"mydomain.dk">>,[{access,true},{announce,true}]],[]},{gen_mod,start_module,3,[{file,"src/gen_mod.erl"},{line,82}]},{lists,foreach,2,[{file,"lists.erl"},{line,1336}]},{ejabberd_app,start,2,[{file,"src/ejabberd_app.erl"},{line,70}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,272}]}].

What am I doing wrong? Is there no mod_announce in MongooseIM?

Robert Larsen
  • 1,018
  • 2
  • 11
  • 18
  • DISCLAIMER: I work on MongooseIM at Erlang Solutions Ltd. mod_announce is not part of MongooseIM. You can try porting it from ejabberd yourself, making an issue on the project's GitHub and hoping for somebody to port it, or mailing Erlang Solutions sales to discuss a contract. – erszcz Mar 11 '15 at 20:11

1 Answers1

0

The error says the function call is undef. It likely means that the module is not available. As an ejabberd developer, I recommend to make sure you install the latest version of ejabberd (15.02), as many more features are even available (on top for scalability and robustness and many contribs that are very handy for admins like mod_admin_extra).

Mickaël Rémond
  • 9,035
  • 1
  • 24
  • 44