[VoiceOps] Load balancing

Alex Balashov abalashov at evaristesys.com
Fri Nov 6 19:44:01 EST 2009

anorexicpoodle wrote:

> 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

Alex Balashov - Principal
Evariste Systems
Web     : http://www.evaristesys.com/
Tel     : (+1) (678) 954-0670
Direct  : (+1) (678) 954-0671

More information about the VoiceOps mailing list