Sony Manuel's blog
Linking multiple SIP and Converged HTTP sessions in a SailFin cluster
In my previous blog we saw how to link SIP and Converged HTTP Session to a SipApplicationSession (SAS). For SailFin cluster we need to configure Converged Load-Balancer(CLB) so that SIP and HTTP requests for a SAS are processed by the same back-end instance This is achieved by using consistent hash routing policy and appropriate Data Centric Rules (DCR) for extracting the hash key. For details on CLB see the functional specification or read the blog here.
For the conference sample we discussed, we want all SIP and HTTP traffic for a particular conference to hit the same back-end. So the key here is the conference name or id. A DCR file that can be used for this purpose is shown below.
<?xml version="1.0" encoding="ISO-8859-1"?>
<user-centric-rules>
<sip-rules>
<if>
<header name="Conference-Name"
return="request.Conference-Name">
<exist/>
</header>
<else return="request.to.uri.resolve.user" />
</if>
</sip-rules>
<http-rules>
<if>
<request-uri parameter="Conference-Name" return="parameter.Conference-Name">
<exist/>
</request-uri>
<else return="request.Host"/>
</if>
</http-rules>
</user-centric-rules>
Once CLB is configured with consistent hash routing and the DCR file it would route SIP and HTTP traffic for the same hash key to a particular back-end instance. The hash is applied only for initial requests. For subsequent requests it uses the sticky information for routing (Cookie in case of HTTP and bekey in request URI for SIP requests).
Posted at 12:07AM May 07, 2008 by sonymanuel in Sun | Comments[0]