[OpenSER-Users] Problems trying to build an Active/Active OSer 1.3 cluster

Raúl Alexis Betancor Santana rabs at dimension-virtual.com
Mon Jan 21 19:55:09 CET 2008


Hi all, I'm trying to build an Active/Active OpenSer 1.3 cluster with
2 nodes.

All it's working ok for the REGISTER messages throught the use of
t_replicate and add_path, but I've problems with the INVITE messages.

Both servers share the same location table on a PostgreSQL Multimaster
cluster (but that's irrelevant, the PostgreSQL cluster I mean...),
using db_mode = 2

An that's the logic I used:

- On REGISTER ->>

  - Auth Request
	 - NAT ?
		- add_path
	 - t_replicate(oser2)

- On INVITE ->>

  - Auth Request
  - lookup
  - Load prefs from DB
  - relay

The problem I'm having is that the lookup function changes the RURI of
the message on node1 BEFORE taking into account the "Path:" element
present inside the AoR, so when the INVITE gets forwarded to node2
(where the NATed UAC it's registered), node2 deny the relaying of the
message because $rD of the RURI it's not local (remember that the RURI
whas changed on node1).

Is there any way to know on node1 that the INVITE request MUST obey
the "Path:" so I could to something like:

$old_ru = $ru
lookup("location")
if(path_exists())
{
 $ru = $old_ru
}
...
t_relay()

??

Any other aproach ?

Best regards
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.




More information about the sr-users mailing list