(adding sr-dev)

 

Hello,

 

I only had a quick look to the code, but at least the sl module stats seems to look fine:

 

int sl_filter_ACK(struct sip_msg *msg, unsigned int flags, void *bar)

[…]

 

                        if(memcmp(tag_str->s, sl_tag.s, sl_tag.len) == 0) {

                                LM_DBG("SL local ACK found -> dropping it!\n");

                                update_sl_filtered_acks();

 

void update_sl_filtered_acks(void)

{

        (*sl_stats)[process_no].filtered_acks++;

}

 

unsigned long sl_stats_rcv_acks(void)

{

        sl_stats_update();

        return _sl_stats_total.filtered_acks;

}

 

Are you not seeing the increase in the received_ACKs statistics?

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: Kaufman <bkaufman@bcmone.com>
Sent: Mittwoch, 28. Juni 2023 01:52
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: [SR-Users] SL absorbed ACK is counted as dropped by core.drop_requests

 

Just checking to see if this is the designed behavior.  The SL module will attempt to match ACKs for stateless replies and handle them (absorb them?).

 

The question I have is that it looks as though this ACK gets counted as dropped by the core.drop_requests from the KEX module.   Tested using this config:

 

#!KAMAILIO

 

loadmodule "pv"

loadmodule "sl"

loadmodule "xlog"

loadmodule "kex"

loadmodule "corex"

loadmodule "ctl"

 

modparam("sl", "bind_tm", 0)

 

route {

    xinfo("[$ci] $rm Request. Src:[$si:$sp] RURI:[$ru] To:[$tu] From:[$fu]\n");

    sl_send_reply("404", "Not Found");

}

 

event_route[sl:filtered-ack] {

    xnotice("sl:filtered-ack ACK [$ci] to local reply absorbed\n");

}

 

Then validate by kamcmd stats.fetch core:drop_requests

 

Is this the designed and “correct” behavior?

 

Kaufman