Hi David,

I agree completely, referencing the IP 'should' be directing the network layers to that IP as assigned to the interface.

You can see documented in the config (below) that is exactly what I have used. I've been testing for days with the local IP that is assigned to interface em3. You can even see from the tcpdump (below) that the SIP INVITE was being delivered to em3 using that IP.

We have 12 SIP trunks running for years, using the 1:1 NAT, so this works fine in our networks. Been doing networks for years (lots), 1st thing I check is netstat.

Without any question, it was configured correctly. Netstat ONLY showed the ONE listing for UDP 10.102.88.81:5060 There weren't multiple listeners - just the one. And, it would disappear when kamailio was stopped. Returned on kamailio start.

Somehow the kamailio io wait stuff is ignoring interfaces other than the first one. All I did was move the IP from em3 to em1, restart the network and restart kamailio.

This could be Centos 7 or a Dell driver. Appreciate the help.

Thanks,
Dan

David Villasmil wrote on 10/12/21 6:26 PM:
use the

listen=udp:YOUR-LOCAL-IP:5060

then do a netstat to see if it's listening on 5060


Regards,

David Villasmil
email: [email protected] <mailto:[email protected]>
phone: +34669448337


On Tue, Oct 12, 2021 at 11:17 PM <[email protected] <mailto:[email protected]>> 
wrote:

    Okay, think I discovered something....

    I'm attempting to run the kamailio on interface em3 - no joy.  I moved the
    10.102.88.81 ip to the em1 interface. kamailio is showing the UDP packets
    as received (via my horribly simple config below).

    This test also answers the firewall question, UDP port is allowed.

    So, that prompts the question... how do you use kamailio with UDP on a
    specific interface ?  I'm thinking it might not do it currently ?

    Also, forgive me if I messed up the prior reply to the list.

    Thanks,
    Dan

    [email protected] <mailto:[email protected]> wrote on 10/12/21 5:28 PM:
    Hello,

    The tcpdump (below) shows packet reaching em3 interface. The firewalld
    command (below) shows UDP port 5060 open.

    netcat doesn't do specific interfaces. Can't do ALL interfaces, since em4
    is a pcap of hundreds of thousands of live UDP 5060.

    I'll have to write a standalone to prove that the firewall allows UDP
    5060 through the em3 interface, post firewall... (betting it does).
    Should have test prog tomorrow.

    Thanks,
    Dan

    Daniel-Constantin Mierla wrote on 10/12/21 4:27 PM:

    Hello,

    tcpdump and other network sniffers (e.g., ngrep, sngrep) capture the sip
    traffic before firewall, so even if you see packets with them, the
    application can still not get them due to firewall.

    To test, you can replace kamailio with netcat listening on UDP port 5060
    and see if it receives the sip traffic.

    Cheers,
    Daniel

    On 12.10.21 19:08, [email protected] <mailto:[email protected]> wrote:
    After 4 (long) days of trying to receive any UDP SIP, I'm hoping
    someone can point out what I'm doing wrong. I've looked at the kamailio
    code. I'm beginning to think it's the 'polling' code, but it looks
    fine. It could be Centos or a Dell network driver, but not seeing any
    errors anywhere.

    - stock build/compile...
      Version: kamailio 5.5.2 (x86_64/linux) 0d53d9
      Compile flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
    DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, 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_BLOCKLIST, HAVE_RESOLV_RES
      MAX_RECV_BUFFER_SIZE=262144
      MAX_URI_SIZE=1024
      BUF_SIZE=65535
      DEFAULT PKG_SIZE=8MB
      DEFAULT SHM_SIZE=64MB
      ADAPTIVE_WAIT_LOOPS=1024
      TCP poll methods: poll, epoll_lt, epoll_et, sigio_rt, select
      Source code revision ID: 0d53d9
      Compiled with: gcc 4.8.5
      Compiled architecture: x86_64
      Compiled on: 08:44:19 Oct 11 2021

    Running Centos 7 all updated. Dell R630.
    # sestatus
    SELinux status:                 disabled
    # firewall-cmd --list-all
      ports: 5666/tcp 873/tcp 873/udp 80/tcp 443/tcp 5060/tcp 5060/udp
    5061/tcp 5061/udp

    - Just trying to send SIP INVITE from trunk provider to R630 kamailio...
    (SIP trunk) UDP 172.200.200.202:5060 <http://172.200.200.202:5060> ->
    (firewall) UDP 172.250.250.162:5060 <http://172.250.250.162:5060> ->
    1:1 NAT -> (R630) UDP 10.102.88.81:5060 <http://10.102.88.81:5060>

    - I can 'see' the packet hit the em3 network...
    #  tcpdump -i em3 -e -vv -n port 5060
    11:53:33.260892 99:99:ef:3e:69:c1 > 99:99:1c:48:4e:e3, ethertype IPv4
    (0x0800), length 1366: (tos 0x0, ttl 54, id 20430, offset 0, flags
    [none], proto UDP (17), length 1352)
        172.200.200.202.sip > 10.102.88.81.sip: [udp sum ok] SIP, length: 1324
        INVITE sip:[email protected]:5060
    <mailto:sip:[email protected]:5060> SIP/2.0
        ...

    At this point, I just need to see a SIP INVITE received. Then I can go
    back to working on a real config.

    I've tried with TCP on/off, listening on all networks, alias on/off,
    strace and everything else I could think of.Truly appreciate any guidance.

    Tried every sample config possible, but I just need to test receiving
    the SIP UDP packet, so this 'should' be minimum config...

    #!KAMAILIO
    debug=9
    log_stderror=no
    log_facility=LOG_LOCAL0
    log_prefix="{$mt $hdr(CSeq) $ci} "
    children=2
    disable_tcp=yes
    udp4_raw=on
    auto_aliases=no
    alias="sbc01.mysite.com <http://sbc01.mysite.com>"
    listen=udp:10.102.88.81:5060

    loadmodule "debugger.so"
    loadmodule "jsonrpcs.so"
    loadmodule "kex.so"
    loadmodule "corex.so"
    loadmodule "sl.so"
    loadmodule "rr.so"
    loadmodule "pv.so"
    loadmodule "textops.so"
    loadmodule "siputils.so"
    loadmodule "xlog.so"
    loadmodule "sanity.so"
    loadmodule "ctl.so"
    loadmodule "cfg_rpc.so"

    modparam("debugger", "cfgtrace", 1)

    request_route {
      xlog("SIP received xxxxxxxxxxxxxxxxxxx\n");
    }

    # kamcmd ps
    11578    main process - attendant
    11579    udp receiver child=0 sock=10.102.88.81:5060
    <http://10.102.88.81:5060>
    11580    udp receiver child=1 sock=10.102.88.81:5060
    <http://10.102.88.81:5060>
    11581    slow timer
    11583    timer
    11584    secondary timer
    11585    JSONRPCS FIFO
    11586    JSONRPCS DATAGRAM
    11587    ctl handler

    - I get plenty of logging, but the logging just waits here...
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: INFO: ctl
    [io_listener.c:210]: io_listen_loop(): io_listen_loop: using epoll_lt
    as the io watch method (auto detected)
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: DEBUG: <core>
    [core/mem/q_malloc.c:374]: qm_malloc(): qm_malloc(0x7fd2a8bae010, 4800)
    called from core: core/io_wait.c: init_io_wait(469)
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10059]: DEBUG: <core>
    [core/mem/q_malloc.c:419]: qm_malloc(): qm_malloc(0x7fd2a8bae010,
    65456) returns address 0x7fd2a8c652d8 frag. 0x7fd2a8c652a0 (size=65456)
    on 1 -th hit
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: DEBUG: <core>
    [core/mem/q_malloc.c:419]: qm_malloc(): qm_malloc(0x7fd2a8bae010, 4800)
    returns address 0x7fd2a8c652d8 frag. 0x7fd2a8c652a0 (size=4800) on 1
    -th hit
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: DEBUG: <core>
    [core/mem/q_malloc.c:374]: qm_malloc(): qm_malloc(0x7fd2a8bae010, 2400)
    called from core: core/io_wait.c: init_io_wait(516)
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: DEBUG: <core>
    [core/mem/q_malloc.c:419]: qm_malloc(): qm_malloc(0x7fd2a8bae010, 2400)
    returns address 0x7fd2a8c66600 frag. 0x7fd2a8c665c8 (size=2400) on 1
    -th hit
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: DEBUG: ctl
    [io_listener.c:246]: io_listen_loop(): io_listen_loop: adding socket 8,
    type 2, transport 3 (/var/run/kamailio//kamailio_ctl)
    Oct 12 11:38:04 sbc01 /usr/local/sbin/kamailio[10060]: DEBUG: ctl
    [../../core/io_wait.h:375]: io_watch_add(): DBG:
    io_watch_add(0x7fd2a70a5360, 8, 2, 0x2439960), fd_no=0

    - The only other thing that I see is transport 3. Isn't that a UNIXS_SOCK?



    __________________________________________________________
    Kamailio - Users Mailing List - Non Commercial Discussions
       *[email protected]  <mailto:[email protected]>
    Important: keep the mailing list in the recipients, do not reply only to 
the sender!
    Edit mailing list options or unsubscribe:
       *https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla --www.asipto.com <http://www.asipto.com>
    www.twitter.com/miconda  <http://www.twitter.com/miconda>  
--www.linkedin.com/in/miconda  <http://www.linkedin.com/in/miconda>
    Kamailio Advanced Training - Online
    Nov 08-11, 2021 (Europe Timezone) - Nov 22-25, 2021 (America Timezone)
       *https://www.asipto.com/sw/kamailio-advanced-training-online/


    __________________________________________________________
    Kamailio - Users Mailing List - Non Commercial Discussions
      * [email protected] <mailto:[email protected]>
    Important: keep the mailing list in the recipients, do not reply only to
    the sender!
    Edit mailing list options or unsubscribe:
      * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:
  * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to