The Load-Balancer is the only server which sees the real IP Address of the client. Thus, some parts of NAT-Traversal can only be done by the LB.

E.g. the LB must use force_rport() and mangle the contact header of the client. Further, if you use light-weight NAT-keep-alive (CR-LF) you have to do it from the LB. If you use OPTIONS requests for NAT-keep-alive you should be possible to do it from the backend servers.

If you use media relays (rtpproxy), either control them from the load balancer or from the backend-servers. If you control them from the backend-servers you have to instruct rtpproxy to accept RTP from all sources (by default it accepts RTP only from the previous SIP hop, which in this case would be the LB and not the public IP address of the SIP client).

regards
klaus

PS: You are using the terms UAC and UAS incorrectly. Every SIP node is a UAC and UAS - this term only defines if a node receive requests or sends requests. I think in your case it is better to just call them "SIP clients" and "SIP servers".

On 03.02.2012 10:26, Albert Petit wrote:
Hi , Sorry for previous email. Hit send too soon .

Good morning,
On my system i've a structure similar to:
  SIP Clients                    SIP Platform
[-------------------]        [---------------------------------]
                                               S1 @IP2
                                               S2 @IP3
   SIP UACs              SIP LB                    ...
  [NATted and            @IP1
  non Nattted]
                                                SN  @IPN


SIP LB is based on Kamailio dispatcher and is responsible of
distributing the load between different Servers SIP UAS.

S1, S2,... SN Servers have a Kamailio Server too which will forward
received balanced traffic to appropiate service (Presence , registrar,...)


Considering SIP LB and all SIP UAS have Public IP, how NAT from the UACs
could be handled on this scenario?

Initially I thought NAT should be handled on SIP LB however I would like
the most simple possible load balancer with no need to read user
locations . Responsible of location users should be S1,S2,..:SN

Then, would  it be possible to handle NAT of the SIP UACs *from the SIP
UAS *with NAT Helper module? What i'm afraid is:      If all traffic to
S1,S2,..SN comes from SIP LB then nat_helper could think all clients are
NATTed because top most via will be SIP LB.


What I need, I think, is that NAT Helper decides if there is NAT looking
the Via Header added originally by UAC , and not the top most via (which
would be SIP LB). Is that possible? If possible how should i configure
Nat helper for that?


BR
Albert



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to