<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello,<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 22.09.17 04:42, Patrick Wakano
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAPu3kNVLO9v7MNTpO=49t26Oescb5m+F-xiBz4af5vndubk+8Q@mail.gmail.com">
      <div dir="ltr">
        <div>
          <div>Hello list,</div>
          <div><br>
          </div>
          After deep investigation I found out that the issue is
          happening because of the mechanism Kamailio uses to find the
          most appropriate socket combined with the virtual IP usage....<br>
          For socket selection, Kamailio first asks Linux which would be
          the routing for a certain destination, then matches this
          outcome with the list of listened sockets.</div>
        <div>By default Linux will always return the local IP instead of
          the virtual one. So if Kamailio only binds to the virtual IP,
          the Linux's returned IP won't match our socket list and then
          the socket selection fails....</div>
        <div>So currently Kamailio active/stand-by HA setup with virtual
          IP in a multi-homed environment does not work properly...</div>
        <div>We can overcome this by listening to all addresses, but
          then Kamailio will decide to use the local IP instead of the
          virtual one, and then the HA idea end up broken....<br>
        </div>
        We can also force socket for everything. For regular call
        routing, this options actually works fine if the script always
        force some socket, but it seems to be not always possible for
        local generated messages.</div>
    </blockquote>
    <br>
    do you have an event_route[tm:local-request] in your config? There
    you should be able to force send socket for local requests, iirc.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAPu3kNVLO9v7MNTpO=49t26Oescb5m+F-xiBz4af5vndubk+8Q@mail.gmail.com">
      <div dir="ltr"> By disabling mhomed and using the dispatcher
        socket attr to send the OPTIONS message it works for example.
        But for the LCR module we have no option because apparently the
        LCR module has only one socket option, and so I am not able have
        a different socket per gateway. <br>
        We can also explicitly set the src address for a routing rule to
        be the virtual IP instead of the local one. This makes Linux to
        return the virtual IP instead of the local one. This solution
        seems fine, but since it is done at linux level, every other
        service on the box would be affected and every route on the box
        would needed to be changed..<br>
        <div>Another problem I found out is that I am not able to force
          the socket for local generated messages. It actually crashes
          Kamailio, and I always get a "core was not generated" msg....
          anyone aware of that?</div>
      </div>
    </blockquote>
    <br>
    Have you done 'ulimit -c unlimited' and then run kamailio as root?<br>
    <br>
    <blockquote type="cite"
cite="mid:CAPu3kNVLO9v7MNTpO=49t26Oescb5m+F-xiBz4af5vndubk+8Q@mail.gmail.com">
      <div dir="ltr">
        <div>The actual fix for this, would be having Kamailio to search
          the most appropriate socket in a different manner. It could
          loop the sockets and see which one reaches the destination
          instead of asking Linux to do it, or it could have some
          routing directives which could be consulted before selecting a
          socket.... (just ideas, not sure how feasible they are...)<br>
        </div>
      </div>
    </blockquote>
    <br>
    Should anyone make a PR for such a change, it will be obviously
    considered for merging.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAPu3kNVLO9v7MNTpO=49t26Oescb5m+F-xiBz4af5vndubk+8Q@mail.gmail.com">
      <div dir="ltr">
        <div>I am considering using the Linux routing change option, but
          has anyone faced such situation before?</div>
      </div>
    </blockquote>
    <br>
    I typically do lcr by combining mtree+dispatcher, never run in such
    issue myself, but I also do mainly force send socket explicitly
    because makes it more clear in config.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <blockquote type="cite"
cite="mid:CAPu3kNVLO9v7MNTpO=49t26Oescb5m+F-xiBz4af5vndubk+8Q@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Regards,</div>
        <div>Patrick Wakano<br>
        </div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 24 August 2017 at 09:18, Patrick
          Wakano <span dir="ltr"><<a href="mailto:pwakano@gmail.com"
              target="_blank" moz-do-not-send="true">pwakano@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">
              <div>
                <div>
                  <div>Hello Daniel,<br>
                  </div>
                  I still couldn't make this SIP probing work.... So
                  currently my setup cannot actively check for GW
                  availability...<br>
                  Any idea about what may be causing it?<br>
                  <br>
                </div>
                Thanks for your time,<br>
              </div>
              Patrick Wakano<br>
            </div>
            <div class="HOEnZb">
              <div class="h5">
                <div class="gmail_extra"><br>
                  <div class="gmail_quote">On 16 August 2017 at 13:01,
                    Patrick Wakano <span dir="ltr"><<a
                        href="mailto:pwakano@gmail.com" target="_blank"
                        moz-do-not-send="true">pwakano@gmail.com</a>></span>
                    wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div dir="auto">Forgot to mention it is a centos7
                        box...</div>
                      <div class="m_-6397899599530126820HOEnZb">
                        <div class="m_-6397899599530126820h5">
                          <div class="gmail_extra"><br>
                            <div class="gmail_quote">On 16 Aug. 2017
                              11:02 am, "Patrick Wakano" <<a
                                href="mailto:pwakano@gmail.com"
                                target="_blank" moz-do-not-send="true">pwakano@gmail.com</a>>
                              wrote:<br type="attribution">
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div dir="ltr">
                                  <div>
                                    <div>
                                      <div>
                                        <div>
                                          <div>Hi Daniel!<br>
                                          </div>
                                          Very grateful for your
                                          attention!<br>
                                          <br>
                                        </div>
                                        Apologies for lacking important
                                        info, check below the version
                                        and sockets.<br>
                                        It may be worth mentioning these
                                        IPs are virtual ones and I am
                                        using <span
                                          style="font-family:monospace,monospace">net.ipv4.ip_nonlocal_bind
                                          = 1</span>(in this case the
                                        virtual IP is assigned to the
                                        box)<br>
                                        Interesting that it has a "<span
style="font-family:monospace,monospace">mhomed: no"</span><span
                                          style="font-family:monospace,monospace">
                                        </span>for all sockets but I do
                                        have mhomed=1 in my cfg file....
                                        could that be the issue?<br>
                                        <span
                                          style="font-family:monospace,monospace"></span>Also
                                        there is no message before this
                                        one: <span
                                          style="font-family:monospace,monospace">/usr/sbin/kamailio[6164]:
                                          ERROR: <core>
                                          [core/forward.c:181]:
                                          get_out_socket(): no socket
                                          found</span><br>
                                      </div>
                                      This is the first one that pops
                                      when dispatcher tries to ping....<br>
                                      <br>
                                    </div>
                                    Thanks,<br>
                                  </div>
                                  Patrick<br>
                                  <br>
                                  <div>
                                    <div>
                                      <div><span
                                          style="font-family:monospace,monospace">kamailio
                                          -v<br>
                                          version: kamailio 5.0.2
                                          (x86_64/linux) <br>
                                          flags: STATS: Off, USE_TCP,
                                          USE_TLS, USE_SCTP, TLS_HOOKS,
                                          DISABLE_NAGLE, USE_MCAST,
                                          DNS_IP_HACK, SHM_MEM,
                                          SHM_MMAP, PKG_MALLOC,
                                          Q_MALLOC, F_MALLOC,
                                          TLSF_MALLOC, DBG_SR_MEMORY,
                                          USE_FUTEX,
                                          FAST_LOCK-ADAPTIVE_WAIT,
                                          USE_DNS_CACHE,
                                          USE_DNS_FAILOVER, USE_NAPTR,
                                          USE_DST_BLACKLIST,
                                          HAVE_RESOLV_RES<br>
                                          ADAPTIVE_WAIT_LOOPS=1024,
                                          MAX_RECV_BUFFER_SIZE 262144,
                                          MAX_LISTEN 16, MAX_URI_SIZE
                                          1024, BUF_SIZE 65535, DEFAULT
                                          PKG_SIZE 8MB<br>
                                          poll method support: poll,
                                          epoll_lt, epoll_et, sigio_rt,
                                          select.<br>
                                          id: unknown <br>
                                          compiled on 12:03:49 Jun 26
                                          2017 with gcc 4.8.5<br>
                                          <br>
                                          kamcmd> core.sockets_list<br>
                                          {<br>
                                              socket: {<br>
                                                  proto: udp<br>
                                                  address:
                                          172.28.128.100<br>
                                                  ipaddress:
                                          172.28.128.100<br>
                                                  port: 5060<br>
                                                  mcast: no<br>
                                                  mhomed: no<br>
                                              }<br>
                                              socket: {<br>
                                                  proto: udp<br>
                                                  address:
                                          192.168.33.100<br>
                                                  ipaddress:
                                          192.168.33.100<br>
                                                  port: 5060<br>
                                                  mcast: no<br>
                                                  mhomed: no<br>
                                              }<br>
                                              socket: {<br>
                                                  proto: tcp<br>
                                                  address:
                                          172.28.128.100<br>
                                                  ipaddress:
                                          172.28.128.100<br>
                                                  port: 5060<br>
                                                  mcast: no<br>
                                                  mhomed: no<br>
                                              }<br>
                                              socket: {<br>
                                                  proto: tcp<br>
                                                  address:
                                          192.168.33.100<br>
                                                  ipaddress:
                                          192.168.33.100<br>
                                                  port: 5060<br>
                                                  mcast: no<br>
                                                  mhomed: no<br>
                                              }<br>
                                              socket: {<br>
                                                  proto: tcp<br>
                                                  address:
                                          172.28.128.100<br>
                                                  ipaddress:
                                          172.28.128.100<br>
                                                  port: 8080<br>
                                                  mcast: no<br>
                                                  mhomed: no<br>
                                              }<br>
                                          }<br>
                                        </span><br>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                                <div class="gmail_extra"><br>
                                  <div class="gmail_quote">On 15 August
                                    2017 at 17:24, Daniel-Constantin
                                    Mierla <span dir="ltr"><<a
                                        href="mailto:miconda@gmail.com"
                                        target="_blank"
                                        moz-do-not-send="true">miconda@gmail.com</a>></span>
                                    wrote:<br>
                                    <blockquote class="gmail_quote"
                                      style="margin:0 0 0
                                      .8ex;border-left:1px #ccc
                                      solid;padding-left:1ex">
                                      <div text="#000000"
                                        bgcolor="#FFFFFF">
                                        <p>Hello,</p>
                                        <p>what are the sockets kamailio
                                          is listening on? See `kamcmd
                                          help` for the command that
                                          lists the sockets.</p>
                                        <p>Also, what is the log
                                          messages before the first one
                                          you pasted, there should be
                                          another one printed from <span
style="font-family:monospace,monospace">get_out_socket().</span></p>
                                        It is always important to
                                        provide kamailio version
                                        (kamailio -v) and the operating
                                        system you are using.<br>
                                        <br>
                                        Cheers,<br>
                                        Daniel
                                        <div>
                                          <div
class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987h5"><br>
                                            <br>
                                            <div
class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-cite-prefix">On
                                              14.08.17 14:41, Patrick
                                              Wakano wrote:<br>
                                            </div>
                                          </div>
                                        </div>
                                        <blockquote type="cite">
                                          <div>
                                            <div
class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987h5">
                                              <div dir="ltr">
                                                <div>Hello Kamailio
                                                  list,<br>
                                                </div>
                                                <div><br>
                                                  Hope you all doing
                                                  well!<br>
                                                  <br>
                                                </div>
                                                <div>I am stuck with one
                                                  problem that should be
                                                  incredibly easy to be
                                                  done, but apparently
                                                  it is not.... I want
                                                  my dispatcher, LCR and
                                                  nathelper modules to
                                                  always SIP ping my SIP
                                                  clients. I have a
                                                  Kamailio based SBC
                                                  that is separating two
                                                  networks, and so I am
                                                  using the 'mhomed'
                                                  flag, but none of
                                                  these SIP pings are
                                                  working.... for now I
                                                  will only ask about
                                                  the dispatcher....<br>
                                                </div>
                                                <div>My dispatcher
                                                  module has to talk
                                                  with SIP servers in
                                                  both networks, the
                                                  thing is when I enable
                                                  SIP ping for it (<span
style="font-family:monospace,monospace">modparam("dispatcher",
                                                    "ds_probing_mode",
                                                    1)</span>), it gives
                                                  me this type of error:<br>
                                                  <span
                                                    style="font-family:monospace,monospace">/usr/sbin/kamailio[6164]:
                                                    ERROR: <core>
[core/forward.c:181]: get_out_socket(): no socket found<br>
/usr/sbin/kamailio[6164]: ERROR: <core> [core/forward.c:183]:
                                                    get_out_socket(): no
                                                    corresponding socket
                                                    found for(udp:<a
                                                      href="http://192.168.33.110:6060"
                                                      target="_blank"
                                                      moz-do-not-send="true">192.168.33.110:6060</a>)<br>
/usr/sbin/kamailio[6164]: ERROR: tm [ut.h:317]: uri2dst2(): no
                                                    corresponding socket
                                                    found for
                                                    "192.168.33.110" af
                                                    2 (udp:<a
                                                      href="http://192.168.33.110:6060"
                                                      target="_blank"
                                                      moz-do-not-send="true">192.168.33.110:6060</a>)<br>
/usr/sbin/kamailio[6164]: ERROR: tm [uac.c:443]: t_uac_prepare(): no
                                                    socket found<br>
/usr/sbin/kamailio[6164]: ERROR: dispatcher [dispatch.c:2652]:
                                                    ds_ping_set():
                                                    unable to ping [sip:<a
href="http://192.168.33.110:6060" target="_blank" moz-do-not-send="true">192.168.33.110:6060</a>]<br>
                                                  </span><br>
                                                </div>
                                                <div>After research it
                                                  seems I need to
                                                  manually set a
                                                  "socket" attribute for
                                                  each of my GWs in
                                                  dispatcher list. After
                                                  putting the socket
                                                  parameter for the GW,
                                                  I got another error:<br>
                                                  <span
                                                    style="font-family:monospace,monospace">/usr/sbin/kamailio[14190]:
                                                    ERROR: <core>
[core/socket_info.c:2046]: parse_protohostport(): bad port number in
                                                    udp:<a
                                                      href="http://192.168.33.100:5060"
                                                      target="_blank"
                                                      moz-do-not-send="true">192.168.33.100:5060</a><br>
/usr/sbin/kamailio[14190]: ERROR: <core> [core/forward.c:181]:
                                                    get_out_socket(): no
                                                    socket found<br>
/usr/sbin/kamailio[14190]: ERROR: <core> [core/forward.c:183]:
                                                    get_out_socket(): no
                                                    corresponding socket
                                                    found for(udp:<a
                                                      href="http://192.168.33.110:6060"
                                                      target="_blank"
                                                      moz-do-not-send="true">192.168.33.110:6060</a>)<br>
/usr/sbin/kamailio[14190]: ERROR: tm [ut.h:317]: uri2dst2(): no
                                                    corresponding socket
                                                    found for
                                                    "192.168.33.110" af
                                                    2 (udp:<a
                                                      href="http://192.168.33.110:6060"
                                                      target="_blank"
                                                      moz-do-not-send="true">192.168.33.110:6060</a>)<br>
/usr/sbin/kamailio[14190]: ERROR: tm [uac.c:443]: t_uac_prepare(): no
                                                    socket found<br>
/usr/sbin/kamailio[14190]: ERROR: dispatcher [dispatch.c:2652]:
                                                    ds_ping_set():
                                                    unable to ping [sip:<a
href="http://192.168.33.110:6060" target="_blank" moz-do-not-send="true">192.168.33.110:6060</a>]</span><br>
                                                  <br>
                                                  What can be wrong in
                                                  my port info in the
                                                  socket config? (I
                                                  tried the socket with
                                                  and without quotes but
                                                  had no luck...)<br>
                                                  <span
                                                    style="font-family:monospace,monospace">select
                                                    * from dispatcher
                                                    where id=2;<br>
                                                     id | setid |      
                                                    destination       |
                                                    flags | priority
                                                    |                   
attrs                    |     description     <br>
----+-------+-----------------<wbr>--------+-------+----------+--<wbr>------------------------------<wbr>-------------+----------------<wbr>-----<br>
                                                      2 |     2 | sip:<a
href="http://192.168.33.110:6060" target="_blank" moz-do-not-send="true">192.168.33.110:6060</a>
                                                    |     0 |        0 |
                                                    socket="udp:<a
                                                      href="http://192.168.33.100:5060"
                                                      target="_blank"
                                                      moz-do-not-send="true">192.168.33.100:506<wbr>0</a>";rweight=50
                                                    | <br>
                                                    (1 row)<br>
                                                  </span><br>
                                                </div>
                                                <div>Anyhow, I was
                                                  expecting the 'mhomed'
                                                  parameter to do the
                                                  socket selection for
                                                  me. Regular call
                                                  routing either by the
                                                  dispatcher or by LCR,
                                                  also seems to require
                                                  me to explicitly set
                                                  the socket otherwise
                                                  Kamailio (or the OS)
                                                  may end up using the
                                                  wrong socket. So,
                                                  another question is
                                                  why 'mhomed' does not
                                                  dictate the whole
                                                  socket selection
                                                  Kamailio has to do
                                                  regardless the module
                                                  it is using to send
                                                  SIP requests?<br>
                                                  <br>
                                                </div>
                                                <div>Sorry for the long
                                                  e-mail....<br>
                                                </div>
                                                <div>Best regards,<br>
                                                </div>
                                                <div>Patrick Wakano<br>
                                                </div>
                                              </div>
                                              <br>
                                              <fieldset
class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788mimeAttachmentHeader"></fieldset>
                                              <br>
                                            </div>
                                          </div>
                                          <pre>______________________________<wbr>_________________
Kamailio (SER) - Development Mailing List
<a class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-txt-link-abbreviated" href="mailto:sr-dev@lists.kamailio.org" target="_blank" moz-do-not-send="true">sr-dev@lists.kamailio.org</a>
<a class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi<wbr>-bin/mailman/listinfo/sr-dev</a><span class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987HOEnZb"><font color="#888888">
</font></span></pre>
                                          <span
class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987HOEnZb"><font
                                              color="#888888"> </font></span></blockquote>
                                        <span
class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987HOEnZb"><font
                                            color="#888888"> <br>
                                            <pre class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-txt-link-abbreviated" href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - <a class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-txt-link-abbreviated" href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
Kamailio World Conference - <a class="m_-6397899599530126820m_5693305556384801093m_2265864410434847987m_5394055170380308788moz-txt-link-abbreviated" href="http://www.kamailioworld.com" target="_blank" moz-do-not-send="true">www.kamailioworld.com</a></pre>
                                          </font></span></div>
                                    </blockquote>
                                  </div>
                                  <br>
                                </div>
                              </blockquote>
                            </div>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                  <br>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
Kamailio World Conference - <a class="moz-txt-link-abbreviated" href="http://www.kamailioworld.com">www.kamailioworld.com</a></pre>
  </body>
</html>