[ejabberd] Routing between Virtual Hosts

Badlop badlop at gmail.com
Mon Mar 2 15:31:35 MSK 2009


I tried with ejabberd 2.0.3, and trunk SVN. Using Erlang R12B-5. And
Tkabber 0.11.1 as client for both users.

Your same configuration, but adding those lines to the beginning:
override_global.
override_local.
override_acls.

All the stanzas are received correctly by the other user, regardless
if it's x.local or guest.x.local who attempts to subscribe.

For example, badlop at guest.x.local sends:
<presence to='badlop at x.local'
	type='subscribe'
	xml:lang='es'>
  <status>Me gustaría añadirte a mi lista de contactos.
</status>
</presence>

And badlop at x.local immediately receives:
<presence to='badlop at x.local'
	type='subscribe'
	xml:lang='es'>
  <status>Me gustaría añadirte a mi lista de contactos.
</status>
</presence>

Some things you can try:
* Add the override_* options to beginning of ejabberd.cfg
* Check ejabberd.log and sasl.log at server start and when clients subscribe
* Check the XMPP traffic using the clients RawXML consoles
* Try with a completely empty ejabberd database: delete /var/lib/ejabberd
* Make sure both users with positive priority, and don't set any
strange privacy rule. I tried with Tkabber 0.11.1

> Then sign in to both vhosts and try to subscribe from (abc at x.local to
> abc at guest.x.local) or (abc at guest.x.local to abc at x.local).
>
> The presence request is never received unless you sign out and sign back in.

I don't need to relogin a client in order to get the request. Clients
get the request immediately.


---
Badlop,
ProcessOne


More information about the ejabberd mailing list