<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <tt>Hello Remco,<br>
      <br>
      In mhomed, yes you let the kernel to pick the source IP based on
      the routing table - so this approach delegate the logic from
      OpenSIPS to the kernel. And it is up to ho well the network part
      is set.<br>
      <br>
      In the future I would like to add to the DR module the possibility
      to set the probing interface (as you have now in the dispatcher
      module). For now, what you can do is to use the local_route to
      catch the DR pings and use force_send_socket() to change the
      outgoing interface.<br>
      <br>
      Best regards,<br>
    </tt>
    <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
    <br>
    On 11/01/2013 10:39 AM, Remco . wrote:
    <blockquote
cite="mid:CAJy1ugyDNE05WbW0G8oScEsfR9fRGq_ZsRgNUZ_xg8c_PjnYXA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>Hi all,<br>
                <br>
              </div>
              I have a clustered OpenSIPS setup (using corosync with a
              virtual IP address). This has been working great over the
              last couple of years. I now want to add an extra IP
              address to the boxes, again floating a VIP over these
              interfaces. These interfaces will be used to communicate
              with PSTN gateways. I noticed however upon enabling these
              interfaces, the drouting module starts to ping the
              gateways using the wrong source address, i.e<br>
              <br>
            </div>
            1.1.1.1 = VIP on eth0<br>
          </div>
          2.2.2.2 = VIP on eth1<br>
          <br>
        </div>
        OpenSIPS is configured to listen on the the two VIPs with a
        listen directive.<br>
        <div><br>
          According to the kernel's routing table, it should use 2.2.2.2
          but it uses 1.1.1.1 which results in failure. As I understood,
          mhomed=yes should achieve just this behavior by asking the
          kernel for the appropriate source address on sending out a
          packet. However, when I enable the mhomed option, OpenSIPS
          starts to complain about not having a socket to send out the
          packets. I assume this is caused by the kernel returning the
          real IP from the interfaces (first) instead of the VIPs. <br>
          <br>
        </div>
        <div>Just because of the dynamic nature of the interface
          selection, I won't be able to use force_send_socket(). <br>
          <br>
        </div>
        <div>I know this question has come up on the list on several
          occasions, but nothing recent and I was still wondering if
          someone has a workaround or solution for this. I can imagine
          when using OpenSIPS as a load-balancer with two interfaces (in
          and out) you might encounter this problem as well if you try
          to add high availability (in which you often cannot avoid the
          Virtual IP scenario).<br>
          <br>
        </div>
        <div>Thanks,<br>
        </div>
        <div>Remco.<br>
        </div>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
  </body>
</html>