Monday, July 9, 2012

XMPP chat logging with bandersnatch


add this in the modules section of ejabberd config file:
  {mod_service_log, [{loggers, ["localhost"]}]}

add this in the listeners section of ejabberd config file, you can use your own password:
  {5526, ejabberd_service, [{ip, {127, 0, 0, 1}}, {access, all},
                          {hosts, ["localhost"],
                          [{password, "secret"}]}]},

create bandersnatch database using given sql. make sure to remove TYPE=MyISAM if you are using innoDB mysql engine. and replace datatype timestamp(14) ,from timestamp all CREATE TABLE scripts.
modify bandersnatch/config.xml with the password.
  <server>
        <connectiontype>tcpip</connectiontype>
        <hostname>localhost</hostname>
        <port>5526</port>
    <secret>secret</secret>
</server>
<component>
    <name>localhost</name>
</component>

change,privacy value in site tag to 0.you need this change to set privacy level to log chat messages with sender and receiver details.
install the perl dependencies:
  sudo apt-get install libnet-jabber-perl

configure Perl interface to the SHA-1 algorithm using cpan.
  install Digest::SHA1

found bug in bandersnatch module you need to import Digest::SHA1 in order to make this work,add following line
  use Digest::SHA1  qw(sha1 sha1_hex sha1_base64);

in /usr/share/perl5/Net/Jabber/Component.pm
to start bandersnatch service
  perl bandersnatch config.xml

No comments:

Post a Comment