[VoiceOps] Load balancing
abalashov at evaristesys.com
Fri Nov 6 19:44:01 EST 2009
> Session state, so in the event the load balancers experience a failover,
> new messages within existing sessions (re-invite, refer, bye etc) are
> still routed appropriately. Obviously if the elements being load
> balanced across experience a failure, sessions on the failed element are
> gone, so I am not worried about that, just more about making the middle
> as invisible as possible.
If you are referring to sequential, in-dialog messages such as
re-INVITEs, BYEs, etc., these are routed on the basis of SIP protocol
semantics and not state. At least, not in the case of a proxy, which
may keep transactional state but not dialog or session state.
In-dialog requests are identified as such by the presence of a From
and To tag parameter and a Route: header, not by the maintenance of
any additional state. When Kamailio or OpenSIPS routes such a request
now, it does not refer to any dialog state it keeps internally; the
only state it maintains is on transactions, and all of those requests
constitute new transactions.
In conclusion, I believe you are mistaken. It is quite possible to
open a dialog with a successful INVITE transaction on one proxy,
experience host failover and initialise a new proxy instance, and
correctly route a re-INVITE, BYE, etc.
UAs keep dialog and/or session state. Proxies do not. If you use a
proxy as a load-balancer, it will meet the requirement. I suppose the
only caveat with stateful forwarding is if failover occurs in the
middle of a pending transaction that has not yet received a final
positive or negative reply; however, in that case, routing should
fall back on Via headers if no transactional state is present.
Kamailio and OpenSIPS would do the job quite nicely here.
<shameless plug>This is what we do at Evariste. Contact me if
off-list if you are interested in having someone do this
implementation. Otherwise, I will be happy to answer any other
questions you may have.</shameless plug>
Alex Balashov - Principal
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
More information about the VoiceOps