While doing some load testing of the PJSIP stack, I see strange behaviour when it gets a bit loaded.
Asterisk keeps resending the 200 OK message, although it has received the ACK.
After 7 times, it resends BYE 7 times, although it has received the 200 OK.
CPU is not the issue as I’m testing with 256 thread Epyc setup.
Asterisk pjsip logger shows it has received the ACK and 200 OK messages, same as wireshark, it just seems failing to parse it.
CentOS8 with two kernel versions: 4.18.0-193.19.1.el8_2 and 5.8.11-1.el8
Servers are connected locally over a 10Gb/s connection.
Ulimit raised to 102400, rtp port range to 30000 ports, pjsip and stasis thread pool optimized as suggested by Asterisk wiki.
Asterisk 17.7.0 and 16.13.0 with embedded PJPROJECT 2.10
CPU: Ryzen 2700 with 16 threads and 2 x EPYC 7742 64 with 256 threads
sipp SIPp v3.6.1-TLS-SCTP-PCAP-RTPSTREAM
sipp command sipp -sf /root/uac.xml -rtp_echo -nr -trace_msg -trace_err -d 180s -r 100 -l 5000 -i 172.16.0.32 -p 5070 -s 505 172.16.0.31:5060
On the lower spec machine (Ryzen 2700) problems manifest at 30 cps, whereas on the higher spec it starts around 70+ cps
Issue is present with sipp rtp_echo and without it.
Should I file this as a bug?