[SR-Users] Outbound socket selection (HA implementation)

Asgaroth 00asgaroth00 at gmail.com
Tue Mar 29 13:42:33 CEST 2011


Thank you all for your replies.

Our requirement, currently is fairly simple, and, I'm thinking that
pacemaker/heartbeat/corosync is a little more overhead than required.
Ucarp seems to fit the profile fairly well for what we are trying to
achieve.

I'd like to have kamailio decide on the outbound interface if at all
possible, I suspect I would need to delve into all the routing branches
if I were to force the outbound socket manually.

If I listen on all interfaces and enable mhomed then kamailio transmits
on the correct outbound interface, but then uses, what I suppose, is
called the primary address associated with the interface. If I were to
stay with this configuration, then, would I need to enable the
advertised address/port parameters? What about devices behind NAT
firewalls, if my advertised address was 1.2.3.4 and the actual interface
address was 1.2.3.3 then the NAT'ed UA would see traffic arriving to
them as originating from 1.2.3.3 which is not what I am trying to
achieve (it needs to arrive in as 1.2.3.4, which is the same address
that they registered against. In either case, I would need to set the
advertised address based on the destination ip address (i assume
obtained by $dd or $rd) so that I can set the appropriate advertised
address/port or forced outbound socket.

I saw a previous post saying that for mhomed to work correctly kamailio
needs to be listening on the interface that is used for the routing of
the destination address, this makes sense to me. However, with the carp
configuration I have, the "virtual" address is indeed sitting on the
interface that has the destination network configured. I guess Kamailio
is unable to decide on which ip address to use on the outbound
interface, would it not be possible to have the address used to send, be
that of the "listen_address" parameter even if it is an associated
"virtual" address on the same physical NIC.

Or maybe this may be possible with a couple "ip rule" commands to
associate a destination net with a virtual ip address?

With corosync/pacemaker/heartbeat, are you able to have kamailio operate
on the floating address without haveing to perform the routing decisions
for kamailio?

Any comments/suggestions would be greatly appreciated.

Thanks





More information about the sr-users mailing list