<DIV>
<DIV>Hi Greger,</DIV>
<DIV>I enjoy reading your posts, thanks a lot for the great work you are doing for ser users!&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV>I am&nbsp;going to&nbsp;consider&nbsp;that kind of&nbsp;scenario as well (load balancer&nbsp;returning Virtual IP address).&nbsp;I think for such configuration server side has to keep session information and always forward a call&nbsp;to the&nbsp;right server. <BR><BR><B><I>"Greger V. Teigre" &lt;greger@teigre.com&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<META content="MSHTML 6.00.2900.2604" name=GENERATOR>
<STYLE></STYLE>

<DIV>I was thinking about a load balancing scenario where the load balancer will replace the IP addresses.</DIV>
<DIV>g-)</DIV>
<DIV>&nbsp;</DIV>
<DIV>---- Original Message ----<BR>From: Tina<BR>To: Greger V. Teigre<BR>Sent: Wednesday, April 06, 2005 09:45 PM<BR>Subject: Re: [Serusers] still no help - usrloc synchronization<BR><BR>&gt; Thank you for givingme the scenario with "restricted IP" NAT, I am<BR>&gt; starting to find some acceptable solution. <BR>&gt; Unfortunately, "one-public-IP" approach is not free from problems<BR>&gt; also. If your SIP router inserts this "one-public-IP" into the VIA<BR>&gt; header, the reply routing goes via wrong SIP server...&nbsp; <BR>&gt; If your SIP server inserts its real-IP-address - the scenario<BR>&gt; mentioned above is still not resolved. <BR>&gt; Any comments?<BR>&gt; Tina<BR>&gt; <BR>&gt; "Greger V. Teigre" &lt;greger@teigre.com&gt; wrote:<BR>&gt; See inline.<BR>&gt; <BR>&gt;&gt; If you use DNS server for load balancing... the client receives one<BR>&gt;&gt; of your domain IP addresses according to SRV. I don't see the problem<BR>&gt;&gt; with a call here, cause UAC asks the
 address only once (before<BR>&gt;&gt; sending INVITE). UAC already has the IP for BYE/reINVITEs. So why<BR>&gt;&gt; would you replicate INVITEs?<BR>&gt; <BR>&gt; I would never replicate INVITEs, I would just make sure that they are<BR>&gt; proxied through the correct SER server (i.e. IP). <BR>&gt; <BR>&gt; The problems depends on your setup. If you have SERs with different<BR>&gt; IPs, ex UA1 has registered with server&nbsp; A and UA2 has registered with<BR>&gt; server B: If UA2 wants to call UA1 and UA is behind an IP restricted<BR>&gt; NAT, server A is stored in the NAT table of the NAT in front of UA1. <BR>&gt; If server B sends an INVITE to UA1, the INVITE will be refused by<BR>&gt; UA1's NAT.&nbsp;&nbsp;&nbsp;&nbsp; <BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; This is why a "one public IP" in front of a load balancing<BR>&gt; cluster probably is a good way to go. <BR>&gt; <BR>&gt;&gt; If you use IPVS/LVS... I believe you can force SER to insert it's<BR>&gt;&gt; public IP into VIA, so there
 is no problem with replies. With regard<BR>&gt;&gt; to another requests, I believe load balancer keeps connection<BR>&gt;&gt; template, then when another request comes it would be forwarded to<BR>&gt;&gt; the same ser.<BR>&gt; <BR>&gt; Yes. There are different "keys" to use to load balance SIP messages. <BR>&gt; One good way from a NAT point of view is to use originating IP<BR>&gt; address.&nbsp; What you must remember is that the problem is not on the<BR>&gt; server side, but on the client side.&nbsp; The NAT will in many situations<BR>&gt; stop incoming UDP packets if the originating ip:port is not already<BR>&gt; stored in the NAT table.&nbsp; The Via header does not matter for the NAT.<BR>&gt; g-)<BR>&gt; <BR>&gt;&gt; Any comments?<BR>&gt;&gt; <BR>&gt;&gt; "Greger V. Teigre" &lt;greger@teigre.com&gt; wrote:<BR>&gt;&gt; Yes, I believe that is so. But still you get a problem if the NAT is<BR>&gt;&gt; restricted, port-restricted or symmetric... The best would be to load<BR>&gt;&gt;
 balance and always make sure that a given client is handled through a<BR>&gt;&gt; given<BR>&gt;&gt; SER (REGISTER and INVITEs). That includes forwarding INVITEs from one<BR>&gt;&gt; SER to<BR>&gt;&gt; another... OR you must load balance in front of your servers with one<BR>&gt;&gt; common<BR>&gt;&gt; public IP.<BR>&gt;&gt; g-)<BR>&gt;&gt; <BR>&gt;&gt; Matt Schulte wrote:<BR>&gt;&gt;&gt; Ack, I didn't even think about NAT. Would these be added before it<BR>&gt;&gt;&gt; gets sent off to the second proxy? ie:<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; if (!src_ip==blah.netlogic.net) {<BR>&gt;&gt;&gt; add_rcv_param();<BR>&gt;&gt;&gt; t_replicate("blah.netlogic.net", "999");<BR>&gt;&gt;&gt; };<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; -----Original Message-----<BR>&gt;&gt;&gt; From: Greger V. Teigre [mailto:greger@teigre.com]<BR>&gt;&gt;&gt; Sent: Tuesday, April 05, 2005 7:49 AM<BR>&gt;&gt;&gt; To: Matt Schulte; kramarv@yahoo.com<BR>&gt;&gt;&gt; ! ; Cc: serusers@lists.iptel.org<BR>&gt;&gt;&gt; Subject: Re:
 [Serusers] still no help - usrloc synchronization<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; Well, you still have the NAT issues unless you do load balancing and<BR>&gt;&gt;&gt; your<BR>&gt;&gt;&gt; SER servers have the same public IP.<BR>&gt;&gt;&gt; Have you looked at 0.9.0 nathelper function add_rcv_param() ? It<BR>&gt;&gt;&gt; will add received info to the contact header for the other SER to<BR>&gt;&gt;&gt; process. Haven't really tried yet...<BR>&gt;&gt;&gt; g-)<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; Matt Schulte wrote:<BR>&gt;&gt;&gt;&gt; I'm starting to lean this direction, using t_replicate and all. I<BR>&gt;&gt;&gt;&gt; could never get usrloc (db mode) to function properly.. t_replicate<BR>&gt;&gt;&gt;&gt; is<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; a dirty but very effective workaround.<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; -----Original Message-----<BR>&gt;&gt;&gt;&gt; From: Greger V. Teigre [mailto:greger@teigre.com]<BR>&gt;&gt;&gt;&gt; Sent: Saturday, April 02, 2005
 1:33 AM<BR>&gt;&gt;&gt;&gt; To: kramarv@yahoo.com<BR>&gt;&gt;&gt;&gt; Cc: serusers@lists.iptel.org<BR>&gt;&gt;&gt;&gt; Subject: Re: [Serusers] still ! no help - usrloc synchronization<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; Have a look at this thread:<BR>&gt;&gt;&gt;&gt; http://lists.iptel.org/pipermail/serusers/2005-January/014669.html<BR>&gt;&gt;&gt;&gt; g-)<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; Java Rockx wrote:<BR>&gt;&gt;&gt;&gt;&gt; Tina,<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; I thought I saw you post the other day that you did not want to<BR>&gt;&gt;&gt;&gt;&gt; use t_replicate(), however, this is probably your best bet to<BR>&gt;&gt;&gt;&gt;&gt; getting this<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; to work, IMHO.<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; Regards,<BR>&gt;&gt;&gt;&gt;&gt; Paul<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; On Apr 1, 2005 4:08 PM, Tina wrote:<BR>&gt;&gt;&gt;&gt; ! &gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt; Hi,
 please help me, I'm stuck with it!!!!!<BR>&gt;&gt;&gt;&gt;&gt;&gt; I am trying to set up several sers with a shared MySQL database<BR>&gt;&gt;&gt;&gt;&gt;&gt; for location service.<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; I set in each ser.cfg:<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; modparam("usrloc", "db_mode", 2)<BR>&gt;&gt;&gt;&gt;&gt;&gt; modparam("usrloc",<BR>&gt;&gt;&gt;&gt;&gt;&gt; "db_url","sql://ser:heslo@192.168.25.163/ser")<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; and the servers are not synchronized.<BR>&gt;&gt;&gt;&gt;&gt;&gt; The I set<BR>&gt;&gt;&gt;&gt;&gt;&gt; modparam("usrloc", "db_mode", 2)<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; made UAC (Xlite) register to one of the servers.<BR>&gt;&gt;&gt;&gt;&gt;&gt; I see it via usrloc, but there is no record in "location" mySQL<BR>&gt;&gt;&gt;&gt;&gt;&gt; table....So others do not see the client and I'm unable to
 make<BR>&gt;&gt;&gt;&gt;&gt;&gt; calls....<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; Please help how to work with usrloc and mySQL...<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; Tina,<BR>&gt;&gt;&gt;&gt;&gt;&gt; software engineer<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; ________________________________<BR>&gt;&gt;&gt;&gt;&gt;&gt; Do you Yahoo!?<BR>&gt;&gt;&gt;&gt;&gt;&gt; Better first dates. More second dates. Yahoo! Personals<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<BR>&gt;&gt;&gt;&gt;&gt;&gt; Serusers mailing list<BR>&gt;&gt;&gt;&gt;&gt;&gt; serusers@lists.iptel.org<BR>&gt;&gt;&gt;&gt;&gt;&gt; http://lists.iptel.org/mailman/listinfo/serusers <BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;
 _______________________________________________<BR>&gt;&gt;&gt;&gt;&gt; Serusers mailing list<BR>&gt;&gt;&gt;&gt;&gt; serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; _______________________________________________<BR>&gt;&gt;&gt;&gt; Serusers mailing list<BR>&gt;&gt;&gt;&gt; serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; Yahoo! Messenger<BR>&gt;&gt; Show us what our next emoticon should look like. Join the fun.<BR>&gt; <BR>&gt; <BR>&gt; Do you Yahoo!?<BR>&gt; Better first dates. More second dates. Yahoo! Personals</DIV></BLOCKQUOTE></DIV><p>
                <hr size=1>Yahoo! Messenger<br> 
Show us what our next emoticon should look like. <a href="http://us.rd.yahoo.com/evt=31855/*http://advision.webevents.yahoo.com/emoticontest">Join the fun.</a>