This package provide the implementation of the SIP parts of the Converged Load Balancer.

The function is divided into the handling of incoming messages {@link SipLoadBalancerIncomingHandler} and {@link SipLoadBalancerBackend}.

# {@link SipLoadBalancerIncomingHandler} will be present on an instance depending on configuration. In case the cluster is self-balancing (i.e. all instances performs load balancing and also takes traffic), the {@link SipLoadBalancerIncomingHandler} is present on all instances. In case the cluster is a pure back-end cluster (fronted by a dedicated load balancer), the {@link SipLoadBalancerIncomingHandler} is only present on the fronting load balancer.

{@link SipLoadBalancerIncomingHandler} handles all incoming requests and responses and determines whether to process locally or proxy the request to another server instance. It extracts the hash key or route from the message and uses consistent hash to select the serving instance. It also encodes/decodes client certificates.

# {@link SipLoadBalancerBackend} is present on all server instances and performs stamping of hash key/route into outgoing messages.