[sr-dev] git:5.5:6d71c939: dialog: ignore 408 on keepalive with cseq 0

Daniel-Constantin Mierla miconda at gmail.com
Wed May 12 16:08:25 CEST 2021


Module: kamailio
Branch: 5.5
Commit: 6d71c9399027f2ed41cd6eae576d862440bd4fd4
URL: https://github.com/kamailio/kamailio/commit/6d71c9399027f2ed41cd6eae576d862440bd4fd4

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2021-05-12T16:07:05+02:00

dialog: ignore 408 on keepalive with cseq 0

- some UAs do not reply at all

(cherry picked from commit 7aa8056a5e3a9804133cb9ff79640d8116be63da)

---

Modified: src/modules/dialog/dlg_req_within.c

---

Diff:  https://github.com/kamailio/kamailio/commit/6d71c9399027f2ed41cd6eae576d862440bd4fd4.diff
Patch: https://github.com/kamailio/kamailio/commit/6d71c9399027f2ed41cd6eae576d862440bd4fd4.patch

---

diff --git a/src/modules/dialog/dlg_req_within.c b/src/modules/dialog/dlg_req_within.c
index d48d139965..809834527f 100644
--- a/src/modules/dialog/dlg_req_within.c
+++ b/src/modules/dialog/dlg_req_within.c
@@ -271,6 +271,12 @@ void dlg_ka_cb_all(struct cell* t, int type, struct tmcb_params* ps, int dir)
 			LM_DBG("skip updating non-confirmed dialogs\n");
 			goto done;
 		}
+		if(ps->code==408 && (dlg->cseq[dir].len==0
+					|| (dlg->cseq[dir].len==1 && dlg->cseq[dir].s[0]=='\0'))) {
+			LM_DBG("ignore 408 for %s cseq 0\n",
+					((dir==DLG_CALLER_LEG)?"caller":"callee"));
+			goto done;
+		}
 		tend = 0;
 		if(dir==DLG_CALLER_LEG) {
 			dlg->ka_src_counter++;




More information about the sr-dev mailing list