<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2604" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV>Tina, I'm not sure if I understand: Which of the problems was born in your 
thoughs? </DIV>
<DIV>An do I understand you correctly when you say that LVS-NAT is not a viable 
solution (to which I agree).</DIV>
<DIV>g-)</DIV>
<DIV>&nbsp;</DIV>
<DIV>---- Original Message ----<BR>From: Tina<BR>To: Java Rockx<BR>Cc: Greger V. 
Teigre ; serusers@lists.iptel.org<BR>Sent: Monday, April 11, 2005 06:37 PM<BR>Subject: 
Re: [Serusers] still no help - usrloc synchronization<BR><BR>&gt; Pretty good 
news, Paul. I've only tested IP tunneling. It worked for<BR>&gt; me. The problem 
I described was born in my thoughts. I've also read<BR>&gt; some complaints from 
SIP-LVS users. The only configuration where<BR>&gt; Call-Id stickness does not 
necessary is LVS-NAT. Unfortunately, NAT<BR>&gt; becomes bottleneck very 
fast.&nbsp;&nbsp;&nbsp; <BR>&gt; <BR>&gt; <BR>&gt; Java Rockx 
&lt;javarockx@gmail.com&gt; wrote:<BR>&gt; Tina,<BR>&gt; <BR>&gt; I wish I had 
more information on that, but that LVS stuff is a black<BR>&gt; art to me. One 
of our engineers whipped up an LVS configuration that<BR>&gt; seems quite happy 
with the Call-ID "stickness" you described. All I<BR>&gt; can say right now is 
that it is apparently possible to do this with<BR>&gt; 100% open source. (i'm 
keeping my fingers crossed) :-)&nbsp;&nbsp;&nbsp; <BR>&gt; <BR>&gt; 
Regards,<BR>&gt; Paul<BR>&gt; <BR>&gt; <BR>&gt; On Apr 10, 2005 11:03 PM, Tina 
&lt;kramarv@yahoo.com&gt; wrote:<BR>&gt; Paul,<BR>&gt; thanks a lot, it helps a 
lot. The thing I do not understand - how you<BR>&gt; are going to solve call-id 
stickness (see my another post). Since<BR>&gt; we're also use LVS I had to find 
something proprietary, I am afraid<BR>&gt; this is not a best solution, but the 
only I have today.&nbsp;&nbsp; <BR>&gt; KRs,<BR>&gt; Tina<BR>&gt; <BR>&gt; Java 
Rockx &lt;javarockx@gmail.com&gt; wrote:<BR>&gt; Tina,<BR>&gt; <BR>&gt; I really 
don't know how the LVS server is configured because our<BR>&gt; network guy that 
we acquired from RedHat set all that stuff up. I do<BR>&gt; know that we 
basically have this set up:&nbsp; <BR>&gt; <BR>&gt; I hope the formatting goes 
well :-)<BR>&gt; <BR>&gt; +-----------+&nbsp;&nbsp;&nbsp;&nbsp; 
+----------+&nbsp;&nbsp;&nbsp;&nbsp; +-------+&nbsp;&nbsp;&nbsp; 
+---------+&nbsp; <BR>&gt; +--------------------+ <BR>&gt;&gt; internet |------| 
Cisco&nbsp; |------| LVS |-----| Cisco |----|<BR>&gt;&gt; 
Application&nbsp;&nbsp;&nbsp;&nbsp; | cloud&nbsp;&nbsp;&nbsp; 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 3600&nbsp;&nbsp; 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&gt;&gt; 3600&nbsp; |&nbsp;&nbsp;&nbsp; | &amp; DB Servers | <BR>&gt; 
+-----------+&nbsp;&nbsp;&nbsp;&nbsp; +----------+&nbsp;&nbsp;&nbsp; 
+--------+&nbsp;&nbsp;&nbsp; +---------+&nbsp; <BR>&gt; +--------------------+ 
<BR>&gt; <BR>&gt; So! the "Application &amp; DB Servers" box represents multiple 
servers<BR>&gt; (all are dedicated to their service). These include SER, 
MySQL,<BR>&gt; Apache, configuration management, monitoring, RTP proxies, 
etc.&nbsp; <BR>&gt; <BR>&gt; MySQL is active-active so we have two-way 
replication. We only have 2<BR>&gt; MySQL servers. And this is all we plan on 
ever having as MySQL is<BR>&gt; more than capable of handling anything ser can 
throw at it (given the<BR>&gt; right hardware).&nbsp;&nbsp; <BR>&gt; <BR>&gt; 
Each ser server is 100% oblivious to other SER servers except for<BR>&gt; when 
handling REGISTER messages. Here is basically the ser.cfg for<BR>&gt; each SER 
server:&nbsp; <BR>&gt; <BR>&gt; listen=10.3.0.221 # this will be 10.3.0.222 on 
the peer sip proxy<BR>&gt; modparam("usrloc", "db_mode", 1) # 
write-through<BR>&gt; <BR>&gt; route 
{<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (method=="REGISTER") 
{<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (src_ip==10.3.0.221) { # ip of peer ser 
proxy<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
save_memory("location");<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
} else 
{<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
save("location");<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
t_replicate("10.3.0.222");<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<BR>&gt; }<BR>&gt; 
<BR>&gt; We have identifed a deficiency in the usrloc module urecord.c 
file<BR>&gt; whereby when using write-though mode the save_memory() function 
still<BR>&gt; attempt to update MySQL. This is a very bad thing because it 
causes a<BR>&gt; primary key violation on the location table.&nbsp;&nbsp; 
<BR>&gt; <BR>&gt; Yesterday I posted a patch to serdev to fix this, but today 
we<BR>&gt; identified another case where save_memory() tried to insert in to 
the<BR>&gt; location table. I'll post a revised patch to serdev as soon as I 
get<BR>&gt; a chance.&nbsp;&nbsp; <BR>&gt; <BR>&gt; So here is what happens. 
Assume I have two sip routers and two MySQL<BR>&gt; servers as: <BR>&gt; 
<BR>&gt; sip-01 is 10.3.0.221<BR>&gt; sip-02 is 10.3.0.222<BR>&gt; db-01 is 
10.2.0.21<BR>&gt; db-02 is 10.2.0.22<BR>&gt; <BR>&gt; Now let's just assume that 
sip-01 is connected to db-01 and sip-02 is<BR>&gt; connected to db-02. <BR>&gt; 
<BR>&gt; When a SIP UA connects to a sip router (via LVS), assume sip-01 
in<BR>&gt; this example and REGISTERs, sip-01 will call save("location") 
which<BR>&gt; updates/inserts to the location table. sip-01 then calls 
t_replicate<BR>&gt; to sip-02.&nbsp;&nbsp; <BR>&gt; <BR>&gt; sip-02 recieves the 
REGISTER message and calls<BR>&gt; save_memory("location") to update its 
in-memory cache only. It should<BR>&gt; never hit db-02.&nbsp; <BR>&gt; <BR>&gt; 
Now db-01 eventually (within a second or two) replicates to db-02 and<BR>&gt; 
now sip-02 is good to go, even in the event of a restart. <BR>&gt; <BR>&gt; Our 
difficulties mostly surrounded the fact t! hat ser was inserting<BR>&gt; the 
physical IP of eth0 on the server as the top VIA rather than the<BR>&gt; VIP as 
required. We solved this by using record_route_preset() and<BR>&gt; passing the 
VIP as the IP. We also had to bring up a dummy interface<BR>&gt; in order to get 
ser to honor the VIP.&nbsp;&nbsp;&nbsp; <BR>&gt; <BR>&gt; Hope this 
helps.<BR>&gt; <BR>&gt; Regards,<BR>&gt; Paul<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; 
On Apr 8, 2005 7:19 PM, Tina &lt;kramarv@yahoo.com&gt; wrote:<BR>&gt; 
Paul,<BR>&gt; we are using LVS as well. It creates template connection according 
to<BR>&gt; source Ip (e.g. UAC) and forwards to one of the tunneled IP. I 
tested<BR>&gt; this a couple of weeks ago, ser was happy and inserted VIP into 
via<BR>&gt; header, the only issue is to route the calls into right 
server.&nbsp;&nbsp; <BR>&gt; I agree, there is no such thing as SIP-level 
clustering. However, how<BR>&gt; would you solve location problem by DB 
replication - 1) usrloc does<BR>&gt; not update from DB....2) even though, I am 
afraid it can become<BR>&gt; bottleneck and lock down users ...&nbsp;&nbsp; 
<BR>&gt; <BR>&gt; KRs,<BR>&gt; Tina<BR>&gt; <BR>&gt; <BR>&gt; Java Rockx 
&lt;javarockx@gmail.com&gt; wrote:<BR>&gt; See my inline comments.<BR>&gt; 
<BR>&gt; Regards,<BR>&gt; Paul<BR>&gt; <BR>&gt; <BR>&gt; On Apr 8, 2005 1:08 PM, 
Greger V. Teigre &lt;greger@teigre.com&gt; wrote:<BR>&gt; Hi Tina,<BR>&gt; 
<BR>&gt;&gt; I enjoy reading your posts, thanks a lot for the great work you 
are<BR>&gt;&gt; doing for ser users!<BR>&gt; <BR>&gt; Thanks :-)<BR>&gt; 
<BR>&gt;&gt; I am going to consider that kind of scenario as well (load 
balancer<BR>&gt;&gt; returning Virtual IP address). I think for such 
configuration server<BR>&gt;&gt; side has to keep session information and always 
forward a call to the<BR>&gt;&gt; right server.<BR>&gt; <BR>&gt; I believe the 
load balancer can be in front and transparantly<BR>&gt; translate addresses in 
the SIP messages: <BR>&gt; User agent always sees 
a.b.c.d<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&gt; Load balancer with public IP 
a.b.c.d<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&gt; ser1 (10.0.0.2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
ser2 (10.0.0.3)<BR>&gt; <BR>&gt; Paul: You have a similar load-balancing 
solution, right? Do you use a<BR>&gt; commerical load balancer that you can 
reveal the name of? :-) <BR>&gt; <BR>&gt; Our platform is 100% open source. Our 
load balancer is LVS. I have no<BR>&gt; idea how it actually works. One if our 
engineers from RedHat set all<BR>&gt; that networking stuff up and it's way 
beyond me.&nbsp; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; The load balancer need to 
understand SIP (sort of) and use something<BR>&gt; (ex. IP address of user 
agent) to select SER server to send to and<BR>&gt; rewrite incoming to 10.0.0.2 
and 10.0.0.3 respectively and outgoing<BR>&gt; to a.b.c.d.&nbsp; ser1 and ser2 
will happily believe they are alone and<BR>&gt; communicate directly with user 
agent using their own private<BR>&gt; addresses.&nbsp; Both should know about 
all users (usrloc).&nbsp; Paul just<BR>&gt; recently posted a small patch for a 
setup where they use two-way<BR>&gt; replication between 
two&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&gt; <BR>&gt; That small patch will 
need a slight revision. We discovered through<BR>&gt; further testing that that 
patch only fixed attempts to INSERT into<BR>&gt; the location table. We didn't 
cover the UPDATE route, unfortunately.<BR>&gt; I believe Andrew has that patch 
done and is testing it. So&nbsp; I'll post<BR>&gt; it to serdev as soon as we 
know it works - possibly later today.&nbsp;&nbsp;&nbsp; <BR>&gt; <BR>&gt; 
<BR>&gt; <BR>&gt; mysql servers and where each SER instance will save all 
REGISTERs it<BR>&gt; receives from user agents, but only save to memory those 
replicated<BR>&gt; from the other SER peer. Klaus pointed out that the same can 
be done<BR>&gt; by not doing mysql replication, but have one DB for each SER and 
just<BR>&gt; use t_replicate() and save_noreply() (for two servers, for more 
than<BR>&gt; two you need to use forward_tcp()).&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&gt; <BR>&gt; I have heard complaints that this approach will generate too 
much<BR>&gt; network traffic. Also, t_replicate() does not guarantee delivery 
of<BR>&gt; the replication (forward_tcp is better, but not fool proof).&nbsp; 
So, the<BR>&gt; "best" solution would probably be to hope that 
Paul's&nbsp;&nbsp; <BR>&gt; <BR>&gt; I fully agree. Replication at the sip proxy 
level, IMHO, is not a<BR>&gt; good idea. From a purist point of view, 
replication is not a function<BR>&gt; of a SIP router - nor should it be. It is 
a function of the database<BR>&gt; and we believe that the MySQL replication is 
a better approach from a<BR>&gt; speed and reliabilty point of view - not to 
mention that it<BR>&gt; simplifies the tasks of the sip 
router.&nbsp;&nbsp;&nbsp;&nbsp; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; recent 
TCP/UDP patch for network access to FIFO commands get included<BR>&gt; in the 
CVS. Then, a new replication module should use XMLRPC or<BR>&gt; whatever 
protocol the patch is using to forward (in a guaranteed<BR>&gt; mode) the usrloc 
information, which then would be injected directly<BR>&gt; into SER's memory, 
just like save() would, and of course in whatever<BR>&gt; db_mode you would 
like.&nbsp; The replicaton module would have to keep a<BR>&gt; queue (of course, 
flushed to a DB or something) in case of network<BR>&gt; problems, so that the 
replication would be done (sooner or later)<BR>&gt; regardless of 
problems.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Of course, this is a major undertaking, so for 
most replication<BR>&gt; scenarioes, I would think the forward_tcp() + 
save_noreply() would<BR>&gt; work just fine.&nbsp; <BR>&gt; <BR>&gt; g-)<BR>&gt; 
<BR>&gt;&gt; "Greger V. Teigre" &lt;greger@teigre.com&gt; wrote:<BR>&gt;&gt; I 
was thinking about a load balancing scenario where the load<BR>&gt;&gt; balancer 
will replace the IP addresses.<BR>&gt;&gt; g-)<BR>&gt;&gt; <BR>&gt;&gt; ---- 
Original Message ----<BR>&gt;&gt; From: Tina<BR>&gt;&gt; To: Greger V. 
Teigre<BR>&gt;&gt; Sent: Wednesday, April 06, 2005 09:45 PM<BR>&gt;&gt; Subject: 
Re: [Serusers] still no help - usrloc synchronization<BR>&gt;&gt; 
<BR>&gt;&gt;&gt; Thank you for givingme the scenario with "restricted IP" NAT, I 
am<BR>&gt;&gt;&gt; starting to find some acceptable solution.<BR>&gt;&gt;&gt; 
Unfortunately, "one-public-IP" approach is not free from 
problems<BR>&gt;&gt;&gt; also. If your SIP router inserts this "one-public-IP" 
into the VIA<BR>&gt;&gt;&gt; header, the reply routing goes via wrong SIP 
server...<BR>&gt;&gt;&gt; If your SIP server inserts its real-IP-address - the 
scenario<BR>&gt;&gt;&gt; mentioned above is ! still not 
resolved.<BR>&gt;&gt;&gt; Any comments?<BR>&gt;&gt;&gt; Tina<BR>&gt;&gt;&gt; 
<BR>&gt;&gt;&gt; "Greger V. Teigre" &lt;greger@teigre.com&gt; 
wrote:<BR>&gt;&gt;&gt; See inline.<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; If you 
use DNS server for load balancing... the client receives one<BR>&gt;&gt;&gt;&gt; 
of your domain IP addresses according to SRV. I don't see 
the<BR>&gt;&gt;&gt;&gt; problem<BR>&gt;&gt;&gt;&gt; with a call here, cause UAC 
asks t! he address only once (before<BR>&gt;&gt;&gt;&gt; sending INVITE). UAC 
already has the IP for BYE/reINVITEs. So why<BR>&gt;&gt;&gt;&gt; would you 
replicate INVITEs?<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; I would never replicate 
INVITEs, I would just make sure that they<BR>&gt;&gt;&gt; are proxied through 
the correct SER server (i.e. IP).<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; The problems 
depends on your setup. If you have SERs with different<BR>&gt;&gt;&gt; IPs, ex 
UA1 has registered with server&nbsp; A and UA2 h! as registered<BR>&gt;&gt;&gt; 
with server B: If UA2 wants to call UA1 and UA is behind an IP<BR>&gt;&gt;&gt; 
restricted NAT, server A is stored in the NAT table of the NAT 
in<BR>&gt;&gt;&gt; front of UA1. If server B sends an INVITE to UA1, the INVITE 
will<BR>&gt;&gt;&gt; be refused by UA1's 
NAT.<BR>&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; This is why a "one public IP" in 
front of a load balancing<BR>&gt;&gt;&gt; cluster probably is a good way to 
go.<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; If you use IPVS/LVS... I believe you 
can force SER to insert it's<BR>&gt;&gt;&gt;&gt; public IP into VIA,! so there 
is no problem with replies. With<BR>&gt;&gt;&gt;&gt; regard<BR>&gt;&gt;&gt;&gt; 
to another requests, I believe load balancer keeps 
connection<BR>&gt;&gt;&gt;&gt; template, then when another request comes it 
would be forwarded to<BR>&gt;&gt;&gt;&gt; the same ser.<BR>&gt;&gt;&gt; 
<BR>&gt;&gt;&gt; Yes. There are different "keys" to use to load balance SIP 
messages.<BR>&gt;&gt;&gt; One good way from a NAT point of view is to use 
originating IP<BR>&gt;&gt; ! ;&gt; address.&nbsp; What you must remember is that 
the problem is not on<BR>&gt;&gt; the <BR>&gt;&gt;&gt; server side, but on the 
client side.&nbsp; The NAT will in many<BR>&gt;&gt;&gt; situations stop incoming 
UDP packets if the originating ip:port is<BR>&gt;&gt;&gt; not already stored in 
the NAT table.&nbsp; The Via header does not<BR>&gt;&gt;&gt; matter for the NAT. 
g-)<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; Any comments?<BR>&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt; "Greger V. Teigre" &lt;greger@teigre.com&gt; 
wrote:<BR>&gt;&gt;&gt;&gt; Yes, I believe that is so. But still you get a 
problem if the NAT<BR>&gt;&gt;&gt;&gt; is restricted, port-restricted or 
symmetric... The best would be to<BR>&gt;&gt;&gt;&gt; load&gt;&gt; balance and 
always make sure that a given client is handled<BR>&gt;&gt;&gt;&gt; through a 
given<BR>&gt;&gt;&gt;&gt; SER (REGISTER and INVITEs). That includes forwarding 
INVITEs from<BR>&gt;&gt;&gt;&gt; one<BR>&gt;&gt;&gt;&gt; SER 
to<BR>&gt;&gt;&gt;&gt; another... OR you must load balance in front of your 
servers with<BR>&gt;&gt;&gt;&gt; one<BR>&gt;&gt;&gt;&gt; 
common<BR>&gt;&gt;&gt;&gt; public IP.<BR>&gt;&gt;&gt;&gt; 
g-)<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; Matt Schulte 
wrote:<BR>&gt;&gt;&gt;&gt;&gt; Ack, I didn't even think about NAT. Would these 
be added before it<BR>&gt;&gt;&gt;&gt;&gt; gets sent off to the second proxy? 
ie:<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; if 
(!src_ip==blah.netlogic.net) {<BR>&gt;&gt;&gt;&gt;&gt; 
add_rcv_param();<BR>&gt;&gt;&gt;&gt;&gt; t_replicate("blah.netlogic.net", 
"999");<BR>&gt;&gt;&gt;&gt;&gt; };<BR>&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt; -----Original Message-----<BR>&gt;&gt;&gt;&gt;&gt; 
From: Greger V. Teigre [mailto:greger@teigre.com]<BR>&gt;&gt;&gt;&gt;&gt; Sent: 
Tuesday, April 05, 2005 7:49 AM<BR>&gt;&gt;&gt;&gt;&gt; To: Matt Schulte; 
kramarv@yahoo.com<BR>&gt;&gt;&gt;&gt;&gt; ! ; Cc: 
serusers@lists.iptel.org<BR>&gt;&gt;&gt;&gt;&gt; Subject: ! Re: [Serusers] still no 
help - usrloc synchronization<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt; Well, you still have the NAT issues unless you do load 
balancing<BR>&gt;&gt;&gt;&gt;&gt; and your<BR>&gt;&gt;&gt;&gt;&gt; SER servers 
have the same public IP.<BR>&gt;&gt;&gt;&gt;&gt; Have you looked at 0.9.0 
nathelper function add_rcv_param() ? It<BR>&gt;&gt;&gt;&gt;&gt; will add 
received info to the contact header for the other SER to<BR>&gt;&gt;&gt;&gt;&gt; 
process. Haven't really tried yet...<BR>&gt;&gt;&gt;&gt;&gt; 
g-)<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt; Matt Schulte 
wrote:<BR>&gt;&gt;&gt;&gt;&gt;&gt; I'm starting to lean this direction, using 
t_replicate and all. I<BR>&gt;&gt;&gt;&gt;&gt;&gt; could never get usrloc (db 
mode) to function properly..<BR>&gt;&gt;&gt;&gt;&gt;&gt; t_replicate 
is<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; a dirty but very 
effective workaround.<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; 
-----Original Message-----<BR>&gt;&gt;&gt;&gt;&gt;&gt; From: Greger V. Teigre 
[mailto:greger@teigre.com]<BR>&gt;&gt;&gt;&gt;&gt;&gt; Sent: Saturday, April 
02,! 2005 1:33 AM<BR>&gt;&gt;&gt;&gt;&gt;&gt; To: 
kramarv@yahoo.com<BR>&gt;&gt;&gt;&gt;&gt;&gt; Cc: 
serusers@lists.iptel.org<BR>&gt;&gt;&gt;&gt;&gt;&gt; Subject: Re: [Serusers] still ! 
no help - usrloc synchronization<BR>&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; Have a look at this 
thread:<BR>&gt;&gt;&gt;&gt;&gt;&gt; 
http://lists.iptel.org/pipermail/serusers/2005-January/014669.html<BR>&gt;&gt;&gt;&gt;&gt;&gt; 
g-)<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt; Java Rockx 
wrote:<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Tina,<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&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;&gt;&gt; use t_replicate(), however, this 
is probably your best bet to<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; getting 
this<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; to work, 
IMHO.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
Regards,<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Paul<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Apr 1, 2005 4:08 PM, Tina 
wrote:<BR>&gt;&gt;&gt;&gt;&gt;&gt; ! &gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; ! 
;&gt; Hi, please help me, I'm stuck with 
it!!!!!<BR>&gt;&gt;&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;&gt;&gt; for location 
service.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I set in each 
ser.cfg:<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; modparam("usrloc", "db_mode", 
2)<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
modparam("usrloc",<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
"db_url","sql://ser:heslo@192.168.25.163/ser")<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and the servers are not 
synchronized.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The I 
set<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; modparam("usrloc", "db_mode", 
2)<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; made UAC (Xlite) register to! one of the 
servers.<BR>&gt;&gt;&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;&gt;&gt; table....So 
others do not see the client and I'm unable to 
make<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
calls....<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Please 
help how to work with usrloc and mySQL...<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Tina,<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
software engineer<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
________________________________<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Do you 
Yahoo!?<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Better first dates. More second 
dates. Yahoo! Personals<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
_______________________________________________<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
Serusers mailing list<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
serusers@lists.iptel.org<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
http://lists.iptel.org/mailman/listinfo/serusers<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
_______________________________________________<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
Serusers mailing list<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; 
serusers@lists.iptel.org<BR>&gt;&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; 
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; 
<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt; 
<BR>&gt;&gt;&gt;&gt; Yahoo! Messenger<BR>&gt;&gt;&gt;&gt; Show us what our next 
emoticon should look like. Join the fun.<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; 
<BR>&gt;&gt;&gt; Do you Yahoo!?<BR>&gt;&gt;&gt; Better first dates. More second 
dates. Yahoo! Personals<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; 
Serusers mailing list<BR>&gt; serusers@lists.iptel.org<BR>&gt; 
http://lists.iptel.org/mailman/listinfo/serusers<BR>&gt; <BR>&gt; <BR>&gt; 
<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; Do you Yahoo!?<BR>&gt; Make Yahoo! 
your home page<BR>&gt; <BR>&gt; <BR>&gt; 
__________________________________________________<BR>&gt; Do You 
Yahoo!?<BR>&gt; Tired of spam? Yahoo! Mail has the best spam protection 
around<BR>&gt; http://mail.yahoo.com<BR>&gt; <BR>&gt; <BR>&gt; 
__________________________________________________<BR>&gt; Do You 
Yahoo!?<BR>&gt; Tired of spam? Yahoo! Mail has the best spam protection 
around<BR>&gt; http://mail.yahoo.com</DIV></BODY></HTML>