[sr-dev] git:master:04410aef: dialog: check if dialog is still in confirmed state when processing keepalive reply

Daniel-Constantin Mierla miconda at gmail.com
Thu May 7 13:24:43 CEST 2015


Module: kamailio
Branch: master
Commit: 04410aef38f5ed40c8f4a6796d95658407e1597c
URL: https://github.com/kamailio/kamailio/commit/04410aef38f5ed40c8f4a6796d95658407e1597c

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2015-05-07T13:24:21+02:00

dialog: check if dialog is still in confirmed state when processing keepalive reply

---

Modified: modules/dialog/dlg_req_within.c

---

Diff:  https://github.com/kamailio/kamailio/commit/04410aef38f5ed40c8f4a6796d95658407e1597c.diff
Patch: https://github.com/kamailio/kamailio/commit/04410aef38f5ed40c8f4a6796d95658407e1597c.patch

---

diff --git a/modules/dialog/dlg_req_within.c b/modules/dialog/dlg_req_within.c
index 9473938..f862ab2 100644
--- a/modules/dialog/dlg_req_within.c
+++ b/modules/dialog/dlg_req_within.c
@@ -264,6 +264,10 @@ void dlg_ka_cb(struct cell* t, int type, struct tmcb_params* ps){
 	}
 
 	if(ps->code==408 || ps->code==481) {
+		if (dlg->state != DLG_STATE_CONFIRMED) {
+			LM_DBG("skip updating non-confirmed dialogs\n");
+			goto done;
+		}
 		if(update_dlg_timer(&dlg->tl, 10)<0) {
 			LM_ERR("failed to update dialog lifetime\n");
 			goto done;




More information about the sr-dev mailing list