<DIV>Thx!!!<BR><BR><B><I>Java Rockx &lt;javarockx@gmail.com&gt;</I></B> wrote:
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Well it's going on 1:30AM here in the US so when our Red Hat engineer gets in I'll have him give me the final patch for the save_memory() bug. I'll post it to serdev then. It should be about 12PM local time on the US east coast.<BR><BR>Regards,<BR>Paul<BR><BR>
<DIV><SPAN class=gmail_quote>On Apr 10, 2005 11:10 PM, <B class=gmail_sendername>Tina</B> &lt;<A href="mailto:kramarv@yahoo.com">kramarv@yahoo.com</A>&gt; wrote:</SPAN>
<BLOCKQUOTE class=gmail_quote style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<DIV>Paul,</DIV>
<DIV>I appreciate a lot this information, and am interested in your patch a lot.</DIV>
<DIV>Tina
<DIV><SPAN class=e id=q_1032f3c2e87eeb51_1><BR><BR><B><I>Java Rockx &lt;<A onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:javarockx@gmail.com" target=_blank>javarockx@gmail.com</A>&gt;</I></B> wrote:</SPAN></DIV></DIV>
<DIV><SPAN class=e id=q_1032f3c2e87eeb51_3>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(16,16,255) 2px solid">See inline.<BR><BR>
<DIV><SPAN class=gmail_quote>On Apr 10, 2005 5:32 AM, <B class=gmail_sendername>Greger V. Teigre</B> &lt;<A onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:greger@teigre.com" target=_blank>greger@teigre.com</A>&gt; wrote:</SPAN> 
<BLOCKQUOTE class=gmail_quote style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><SPAN>
<DIV>&gt; Greger, thanks a lot.<BR>&gt; The problem with load balancer is that replies goes to the wrong<BR>&gt; server due to rewriting outgoing a.b.c.d . BTW, as Paul pointed, if<BR>&gt; you define some dummy interface with Virtual IP (VIP), there is no<BR>&gt; need to rewrite outgoing messages (I tested this a little).&nbsp;&nbsp;&nbsp;<BR></DIV></SPAN>
<DIV>Yes, if you use LVS with direct routing or tunneling, that is what you experience.&nbsp; What I described was a "generic" SIP-aware load balancer where SIP messages would be rewritten and stickiness implemented based on ex. UA IP address (or call-id like vovida's load balancer).</DIV><SPAN>
<DIV><BR>&gt; Why DNS approach is bad (except restricted NAT - let's say I am<BR>&gt; solving this)? <BR></DIV></SPAN>
<DIV>Well, IMO, DNS SRV in itself is not bad. It's just that many user clients do not support DNS SRV yet.&nbsp; Except that, I like the concept and it will give you a geographical redundancy and load balancing.</DIV><SPAN>
<DIV><BR>&gt; I guess, Paul utilizes load-balancer scenario you have described.<BR>&gt; Believe there are only proprietary solutions for<BR>&gt; "the-replies-problem". We tried Vovida call-id-persistence package,<BR>&gt; unfortunately it didn't work for us.&nbsp;&nbsp; <BR></DIV></SPAN>
<DIV>Are you referring to the load balancer proxy? IMHO, the SIP-aware load balancer makes things a bit messy.&nbsp; It sounds to me that the LVS + tunneling/direct routing + virtual IP on dummy adapter is a better solution.</DIV><SPAN>
<DIV><BR>&gt; In my configuration I use shared remote DB cluster (with<BR>&gt; replication). Each ser see it as one-public-IP (exactly the approach<BR>&gt; you named for SIP). May be it's good idea to use local DB clusters,<BR>&gt; but if you have more than 2 servers your replication algorythm gonna<BR>&gt; be complex. Additional problem - it still doesn't solve usrloc<BR>&gt; synchronization - you still have to use t_replicate()...&nbsp;&nbsp;&nbsp;&nbsp; <BR></DIV></SPAN>
<DIV>I'm not sure if I understand.&nbsp; So, you have 2 servers at two location, each location with a shared DB and then replication across an IPsec tunnel?? </DIV>
<DIV>&nbsp;&nbsp;&nbsp; IMHO, mysql 3.23.x two-way replication is quite shaky and dangerous to rely on.&nbsp; With no locking, you will easily get overwrites and you have to be very sure that your application doesn't mess up the DB.&nbsp; I haven't looked at mysql 4.1 clustering, but from the little I have seen, it looks good. Is that what you use?</DIV></BLOCKQUOTE>
<DIV><BR>I agree. That is why we use MySQL 4.1.<BR></DIV><BR>
<BLOCKQUOTE class=gmail_quote style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><SPAN>
<DIV>&gt; With regard to t_replicate() - it doesn't work for more than 2<BR>&gt; servers, so I used exactly forward_tcp() and save_noreply() (you're<BR>&gt; absolutely right - this works fine so far); all sers are happy. Of<BR>&gt; course, this causes additional traffic. Interesting whether Paul's<BR>&gt; FIFO patch reduces traffic between sers?&nbsp;&nbsp;&nbsp; <BR></DIV></SPAN>
<DIV>I believe Paul uses forward_tcp() and save_memory() to save the location to the replicated server's memory, while the save("location") on the primary server will store to the DB (which then replicates on the DB level).</DIV></BLOCKQUOTE>
<DIV><BR>My ser.cfg uses t_replicate() and save_memory() with our urecord.c patch applied. save_memory() does not work when the db_mode is write-through. What happens is save() is called from SIP-01 which does either an INSERT or UPDATE sql on the location table.<BR><BR>But save_memory() attempts to do the same thing on SIP-02 (only in write-through mode). So we had to patch usrloc's urecord.c file to have it honor a flag called FL_MEM because if I call save_memory("location") I demand that ser only save to memory - but it doesn't so this, IMHO is a bug.<BR><BR>I posted a patch for this last Thursday to serdev, but unfortunately we identified another related bug in ser, so a revised patch is needed, which I'll try to post tomorrow.<BR></DIV><BR>Regards,<BR>Paul<BR><BR>
<BLOCKQUOTE class=gmail_quote style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><SPAN>
<DIV>g-)</DIV></SPAN><BR>_______________________________________________<BR>Serusers mailing list<BR><A onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:serusers@lists.iptel.org" target=_blank>serusers@lists.iptel.org</A><BR><A onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.iptel.org/mailman/listinfo/serusers" target=_blank>http://lists.iptel.org/mailman/listinfo/serusers</A><BR><BR><BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></SPAN></DIV>
<DIV><SPAN class=e id=q_1032f3c2e87eeb51_4>
<P></P>
<HR SIZE=1>
Do you Yahoo!?<BR>Yahoo! Small Business - <A onclick="return top.js.OpenExtLink(window,event,this)" href="http://us.rd.yahoo.com/evt=31637/*http://smallbusiness.yahoo.com/resources/" target=_blank>Try our new resources site!</A> 
<P></P></SPAN></DIV></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><p>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com