mod_multicast(XEP-0033)
ejabberd 2.1.6は、XEP-0033を対応した、mod_multicastが同胞されていないようです。モジュールだけ入れればいいようなので、簡単な手続きで、使えるようになるようです。
今回は、old code といわれる手順で入れてみました。環境は、CentOS release 5.5 (Final)で、ejabberdのインストールは、epelのrepoからバイナリで入れています。
- svnを使ってモジュールをダウンロード
- インストールするモジュールのtrunkディレクトリへ移動
- cd ejabberd-modules/mod_multicast/trunk
- README.txtをよんでみる。
- cat README.txt
- コンパイル
- ./build.sh
- ファイルのコピー
- sudo cp ebin/mod_multicast.beam /usr/lib64/ejabberd/ebin/
- README.txt に従いconfiguration fileを変更
- 「{access, multicast, [{allow, all}]}.」を追加
- 「{mod_multicast, []},」を追加
- 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
参考
http://www.ejabberd.im/ejabberd-modules
http://www.ejabberd.im/mod_multicast
http://www.ejabberd.im/node/4485
*1:試してはいないので、定かではないですが...