Hi Sergey,

Only testing with the SIP INVITE from one of our production SIP trunk providers. The 'length's are listed below for the tcpdump. Same packet size/contents for all tests. Only change was moving IP from interface em3 to em1. Doesn't look like packet size is the issue.

Looking at some of the socket code. Could be related to socket structs, maybe an array enumeration issue. We have 4 interfaces: em1 ((10g up), em2(10g down), em3 (1g up), em4 (1g up). Just switched IP from 3rd interface (2nd up) to 1st interface (1st up) - it worked.

If somebody would like to provide a debug message/location, I could recompile to test the array bucket theory. Quick way to check.

Note, the config below is the entire test config. No changes. Only purpose was to receive SIP INVITE to test socket.

Thanks,
Dan

Sergey Safarov wrote on 10/13/21 4:08 AM:
you also need to check UDP packets are fragmented or not.
you must receive all fragments before Kamailio is able to parse the message.

On Wed, Oct 13, 2021 at 1:28 AM David Villasmil <[email protected] <mailto:[email protected]>> wrote:

    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] <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