<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">The `benchmark` module allows you to create points can be used to generate comparative timestamps for desired parts of your code.  I’m not sure if using it on a production server adds much overhead or not, though.  Look to set points before
 and after things like database calls that are blocking operation.  As a possible reason, if you’re doing accounting and the db is blocked you may have latency in processing the BYE.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><b>Kaufman<o:p></o:p></b></p>
<p class="MsoNormal"><i>Sr. VoIP Engineer - BCM One<o:p></o:p></i></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> sr-users <sr-users-bounces@lists.kamailio.org> <b>
On Behalf Of </b>Lewis Hutchinson<br>
<b>Sent:</b> Thursday, August 25, 2022 8:37 AM<br>
<b>To:</b> sr-users@lists.kamailio.org<br>
<b>Subject:</b> [SR-Users] Intermittent delays relaying BYE (up to 1s)<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-GB">I have a situation where I am seeing intermittently Kamailio having delays when relaying the BYE received from an external party<br>
<br>
This is only affecting the BYE<br>
<br>
We have 6 Kamailios stood up<br>
<br>
3 linked to the SIP Providers (SBC)<br>
3 for Registration (REG)<br>
Language KEMI | Python<br>
<br>
</span><span lang="EN-GB">version: kamailio 5.5.1 (x86_64/linux) 278772-dirty<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">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, TLS_PTHREAD_MUTEX_SHARED<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">id: 278772 -dirty<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-GB">compiled with gcc 9.3.0</span><span lang="EN-GB" style="mso-fareast-language:EN-GB"><br>
<br>
Simplified Flow<br>
PSTN >>>> Kamailio SBC >>>> FREESWITCH >>>> Kamailio REG >>>> SIP DEVICE<br>
<br>
SIP DEVICE >>>> Kamailio REG >>>> FREESWITCH >>>> Kamailio SBC >>>> PSTN<br>
<br>
This happens on all of them <i>intermittently</i> when receiving the BYE from either a SIP trunk or a SIP Device Publicly, it can take upto 1s to pass this onto the next hope (Freeswitch) on the local network. All BYEs passed between the local network relay
  in fractions of a second. All BYEs passed out of the KAMAILIO SBC or KAMAILIO REG to their respective public enpoints relay  in fractions of a second but BYEs received from public on advertised address take upto 1s for Kamailio to process and relay.<br>
<br>
i.e <br>
<br>
PSTN >>> BYE >>>> KAMAILIO SBC (kamailio will sometimes take upto 1 second to relay this on to other kit on the internal solution. Freeswitch etc)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-GB" style="mso-fareast-language:EN-GB">SIP DEVICE  >>> BYE >>>> KAMAILIO REG (kamailio will sometimes take upto 1 second to relay this on to other kit on the internal solution. Freeswitch etc)<br>
<br>
I am basing these timings on SNgrep and PCAP traces from homer.</span><span lang="EN-GB"><br>
<br>
Does anyone have any hints and tips on how I can debug this issue. I have enabled debug logging and replicated the issue but it doesn’t show anything from what I can see as to why there is delays.  <br>
<br>
Thanks in advance<br>
<br>
lewis<br>
<br>
<o:p></o:p></span></p>
</div>
</body>
</html>