Forum Discussion

kapil_49150's avatar
kapil_49150
Icon for Nimbostratus rankNimbostratus
Sep 11, 2009

SIP load balancing in session mode

I am trying to achieve SIP session based load balancing using LTM while server is acting as B2BUA.

 

 

The call flow that I would like to load balance is as following:

 

a. client A sends SIP request to LTM. LTM picks up Server X to forward request to.

 

b. Server X forwards request back to LTM to deliver SIP request to client B.

 

c. Client B send SIP response to LTM. LTM need to forward thus received SIP response to Server X.

 

d. Server X forwards back SIP response to LTM to deliver SIP response to client A.

 

 

Similarly, when a new SIP request is initiated by Client B then LTM forwards it to Server Y (based on least connections being used) and rest of call flow is same as above.

 

 

I started of trying to achieve the above call flow by referring to following post (http://devcentral.f5.com/Default.aspx?tabid=53&forumid=5&tpage=1&view=topic&postid=244062417). I added couple of iRules for SIP_RESPONSE event (very similar to iRules for SIP_REQUEST event mentioned in referrenced post) for outgoing (to add to session) and in incoming (lookup for session).

 

 

But I am running into issues with handling of SIP_RESPONSE events:

 

a. I do not think SIP_RESPONSE event is invoked during outgoing. LTM seems to be dropping SIP response packet received from Server.

 

b. I see TCL error thrown by LTM while processing SIP_RESPONSE event invoked during incoming. But I do see the SIP response packet getting delivered to Server. Find below generated TCL error:

 

Prerequisite operation not in progress line 4 invoked from within session lookup uie [SIP::call_id] any virtual
No RepliesBe the first to reply