mod_multicast(XEP-0033)

ejabberd 2.1.6は、XEP-0033を対応した、mod_multicastが同胞されていないようです。モジュールだけ入れればいいようなので、簡単な手続きで、使えるようになるようです。

今回は、old code といわれる手順で入れてみました。環境は、CentOS release 5.5 (Final)で、ejabberdのインストールは、epelのrepoからバイナリで入れています。

  1. svnを使ってモジュールをダウンロード
  2. インストールするモジュールのtrunkディレクトリへ移動
    • cd ejabberd-modules/mod_multicast/trunk
  3. README.txtをよんでみる。
    • cat README.txt
  4. コンパイル
    • ./build.sh
  5. ファイルのコピー
    • sudo cp ebin/mod_multicast.beam /usr/lib64/ejabberd/ebin/
  6. README.txt に従いconfiguration fileを変更
    • 「{access, multicast, [{allow, all}]}.」を追加
    • 「{mod_multicast, []},」を追加
  7. ejabberdのリスタート
    • sudo /etc/init.d/ejabberd restart

これらの手順だけでXEP-0033の対応が出来ます。実際に出来るかどうかは、PsiのXMLコンソールから、試してみました。入力したXMLは、こんな感じです。

<message to='multicast.SERVER'>
   <addresses xmlns='http://jabber.org/protocol/address'>
       <address type='to' jid='ykot@SERVER'/>
       <address type='cc' jid='test@SERVER'/>
   </addresses>
   <body>Hello, world!</body>
</message>

SERVERの部分は、適当に読み替えてください。ちなみにmod_multicastは、multicastのホスト名のデフォルトが、multicast.SERVERとなっています。これを変更したい場合は、{host, "multicast.example.org"},の部分で対応できるようです。*1

簡単ですね。:D

*1:試してはいないので、定かではないですが...