The load balancer listens to the virtual IP address, and port-forwards to one of the FreeSWITCH boxes. Each FreeSWITCH box listens for the same virtual IP address for SIP registrations and connections, which is what FreeSWITCH needs to bind to. All other traffic actually travels over their real IP address, which is what the FreeSWITCH servers would use to talk to each other. <br>
<br><div class="gmail_quote">On Thu, Oct 1, 2009 at 3:44 PM, Peder <span dir="ltr">&lt;<a href="mailto:peder@networkoblivion.com">peder@networkoblivion.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">










<div lang="EN-US" link="blue" vlink="purple">

<div>

<p><span style="font-size:11.0pt;color:#1F497D">Looking thru the example, it looks like each box has a real
address of 21, 22 or 23 and they all have a loopback of .17, right?  So even
though they connections are being load balanced, each box really thinks it is
.17 and each client that connects thinks it is connecting to .17, right?  If
that’s the case, how does a client on one box call a client on the other box? 
Since every box thinks it is .17 how would you bridge to another user on
another box that also thinks it is .17?  Or am I totally missing how it works?</span></p>

<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">

<p><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt"> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org" target="_blank">freeswitch-users-bounces@lists.freeswitch.org</a>
[mailto:<a href="mailto:freeswitch-users-bounces@lists.freeswitch.org" target="_blank">freeswitch-users-bounces@lists.freeswitch.org</a>] <b>On Behalf Of </b>Anthony
Minessale<br>
<b>Sent:</b> Thursday, October 01, 2009 2:14 PM</span></p><div class="im"><br>
<b>To:</b> <a href="mailto:freeswitch-users@lists.freeswitch.org" target="_blank">freeswitch-users@lists.freeswitch.org</a><br>
</div><div><div></div><div class="h5"><b>Subject:</b> Re: [Freeswitch-users] Load-Balance FreeSWITCH with Ultramonkey</div></div><p></p>

</div><div><div></div><div class="h5">

<p> </p>

<p style="margin-bottom:12.0pt">can we do it without
advertising to use ubuntu =D<br>
We don&#39;t like encouraging our users to use bleeding edge OS for our own sanity
with debugging.<br>
Not to say you are not allowed to I just don&#39;t want to encourage it =p<br>
<br>
<br>
</p>

<div>

<p>On Thu, Oct 1, 2009 at 1:12 PM, Even André Fiskvik &lt;<a href="mailto:grevenx@me.com" target="_blank">grevenx@me.com</a>&gt; wrote:</p>

<div>

<p>That&#39;s very cool Mike!</p>

<div>

<p> </p>

</div>

<div>

<p>I&#39;m going to try to configure four boxes with this as well
(Btw, did you use physical hardware or virtualization?)</p>

</div>

<div>

<p>and see how it goes. I followed Daniel Aliaman&#39;s blog as
well, but I can try it again with the tips</p>

</div>

<div>

<p>you provided on FreeSWITCH config to see if I can get it
working properly this time.</p>

</div>

<div>

<p>We did the setup on CentOS, but I wouldn&#39;t think that would
be any issue.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>Perhaps you or we could write up a complete guide about this
on the wiki since this is an scenario</p>

</div>

<div>

<p>commonly used? Also it would be great if we could outline
possible issues (and even better solutions)</p>

</div>

<div>

<p>to this kind of setup with regards to stuff like
conferencing, bridging between registered users and presence.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p> </p>

</div>

<div>

<p>Best regards,</p>

</div>

<div>

<p>Even André</p>

</div>

<div>

<p> </p>

</div>

<div>

<p> </p>

<div>

<div>

<div>

<div>

<p>On 1. okt. 2009, at 18.45, Mike van Lammeren wrote:</p>

</div>

<p> </p>

</div>

</div>

<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">

<div>

<div>

<p>Guess what? I have two FreeSWITCH servers working behind
UltraMonkey, using heartbeat and ldirectord for load-balancing, fail-over and
high availability! I&#39;m probably not the first one to do it, but as near as
Google and I can tell, I&#39;m the first one to write about it.</p>

<div>

<p> </p>

</div>

<div>

<p>Here&#39;s how you can duplicate my setup:</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>1. Install Ubuntu Server 8 on four machines, either real or
VM.</p>

</div>

<div>

<p>2. Compile and install FreeSWITCH v1.0.4 from source on two
machines, following these instructions: <a href="http://wiki.freeswitch.org/wiki/Ubuntu_Quick_Start" target="_blank">http://wiki.freeswitch.org/wiki/Ubuntu_Quick_Start</a></p>

</div>

<div>

<p>3. Configure both FreeSWITCH boxes, and make sure they are
both working.</p>

<div>

<p>4. Follow (most of) these instructions from Daniel Aliaman&#39;s
blog. They were written for Asterisk, but since a SIP connection is a SIP
connection, most of the document applies to FreeSWITCH:</p>

</div>

<div>

<p><a href="http://www.danielaliaman.com/blog/files/ultramonkeyasterisk.pdf" target="_blank">http://www.danielaliaman.com/blog/files/ultramonkeyasterisk.pdf</a></p>

</div>

<div>

<p> </p>

</div>

<div>

<p>The one problem I ran into was the IP address and port to
which FreeSWITCH was bound. The default is to use the primary address, which
works great out-of-the-box for everything else. When a client tried to
register, all it got back was an ICMP error -- Destination Unreachable, Port
Unreachable. That error is returned when no sockets are listening for UDP
packets. To get FreeSWITCH to listen for your Virtual IP, you need to set it in
two places:</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>5. In /opt/freeswitch/conf/vars.xml, set
&quot;bind_server_ip&quot;.</p>

</div>

<div>

<p>6. In /opt/freeswitch/conf/sip_profiles/internal.xml, set
&quot;sip-ip&quot;.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>That should do it! If you have any success, please report to
this list.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>Keep in mind that if you want to do something like
conferencing between two registered clients, then you have to deal with the
fact that the clients may or may not be on the same box.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>Mike van Lammeren</p>

</div>

<div>

<p> </p>

</div>

<div>

<p> </p>

</div>

<div>

<p> </p>

<div>

<p>On Tue, Sep 29, 2009 at 10:20 AM, Mike van Lammeren &lt;<a href="mailto:mike@van.lammeren.net" target="_blank">mike@van.lammeren.net</a>&gt;
wrote:</p>

<p> </p>

<div>

<p>On Mon, Sep 28, 2009 at 9:05 PM, &quot;Even André
Fiskvik&quot; &lt;<a href="mailto:grevenx@me.com" target="_blank">grevenx@me.com</a>&gt; wrote:</p>

<p>From: &quot;Even André Fiskvik&quot; &lt;<a href="mailto:grevenx@me.com" target="_blank">grevenx@me.com</a>&gt;<br>
To: <a href="mailto:freeswitch-users@lists.freeswitch.org" target="_blank">freeswitch-users@lists.freeswitch.org</a><br>
Date: Mon, 28 Sep 2009 22:52:13 +0200<br>
Subject: Re: [Freeswitch-users] Load-Balance FreeSWITCH with Ultramonkey</p>

<div>

<p>I have been working with a similar setup myself, but for
some reason I ended up ditching the</p>

<div>

<p>UltraMonkey setup because I just couldn&#39;t get it to work
right.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>It&#39;s been quite a while since my effort, so I don&#39;t remember
what the exact issue was.</p>

</div>

<div>

<p>I got registrations to work, but had some other sip-dialog
issues.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>We have since then changed over to running OpenSIPs as a loadbalancer
in front of </p>

</div>

<div>

<p>multiple FreeSWITCH instances. This setup is still in
testing, but seemlingy works fine</p>

</div>

<div>

<p>(and if it doesn&#39;t, it&#39;s my own fault for writing a bad
opensips config).</p>

</div>

<div>

<p> </p>

</div>

<div>

<p>After we have done some more testing I can create a
wiki-page with config details.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p> </p>

</div>

<div>

<p>Best regards,</p>

</div>

<div>

<p>Even André</p>

</div>

<div>

<p> </p>

</div>

</div>

<div>

<p> </p>

</div>

<div>

<p>Thanks, Even, that would be great! I might have to give
up on the ultramonkey solution, since I can&#39;t find anyone who has made it work.
It&#39;s too bad, because it would fit well with the rest of our architecture.</p>

</div>

<div>

<p> </p>

</div>

<div>

<p><span style="color:#888888">Mike van Lammeren</span></p>

</div>

</div>

</div>

<p> </p>

</div>

</div>

</div>

</div>

<div>

<p>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></p>

</div>

</blockquote>

</div>

<p> </p>

</div>

</div>

<p style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></p>

</div>

<p><br>
<br clear="all">
<br>
-- <br>
Anthony Minessale II<br>
<br>
FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>
ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br>
<br>
AIM: anthm<br>
<a href="mailto:MSN%3Aanthony_minessale@hotmail.com" target="_blank">MSN:anthony_minessale@hotmail.com</a><br>
GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com" target="_blank">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br>
<br>
FreeSWITCH Developer Conference<br>
<a href="mailto:sip%3A888@conference.freeswitch.org" target="_blank">sip:888@conference.freeswitch.org</a><br>
<a href="http://iax:guest@conference.freeswitch.org/888" target="_blank">iax:guest@conference.freeswitch.org/888</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org" target="_blank">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:213-799-1400</p>

</div></div></div>

</div>


<br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>