Hi, I've found a document about SIP load balancing in iptel.org website and I would like to comment an error I've found in the document.
The document is this: "Towards Effective SIP load Balancing" http://www.iptel.org/voipsecurity/doc/14%20-%20Kambourakis%20-%20Towards%20E...
Page 7 says: -------------------- SIP Proxies insert a VIA header in all the incoming SIP requests So… In case the LB (Load Balancer) is implemented as another proxy all SIP responses will pass through that proxy Request that belong to a specific dialog should not pass through LB --------------------
This is completely true, but next page (8) says: -------------------- Transparency for responses Prevent Load Balancer from inserting a VIA header E.g. in SER utilizing the SEND core command Modify the SIP's Proxy core to ignore the VIA-header added by the Load Balancer -------------------
There is an important error that unfortunatelly I've realized it's very common. Section 18.2.2 of RFC 3261 says clearly that the responses are *always* sent through the same nodes the request came from. So the response should always traverse the load balancer.
1) Load balancer --- (SIP UDP) ---> UAS In this case the UAS would always reply to the *real* source IP (if this is different of the Via "sent-by" then UAS adds "received" parameter and replies there).
2) Load balancer --- (SIP TCP/SCTP) ---> UAS By definition a UAS must reply using the incoming TCP connection.
So it's extrange for me that a document about SIP load balancing tries to offer solutions that are not SIP compliant and also unfeasible (UAS will always reply to the real source IP regardless of the Via content).
Since the document proposes SER based solutions (using "SEND" command) I'd just like to confirm if I'm completely right, or maybe it's common those not SIP compliant methods by some vendors in order to provide a load balancing solution.
Thanks a lot for any comment and best regards.