Module: kamailio
Branch: master
Commit: 04410aef38f5ed40c8f4a6796d95658407e1597c
URL:
https://github.com/kamailio/kamailio/commit/04410aef38f5ed40c8f4a6796d95658…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)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/04410aef38f5ed40c8f4a6796d95658…
Patch:
https://github.com/kamailio/kamailio/commit/04410aef38f5ed40c8f4a6796d95658…
---
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;