Module: kamailio Branch: master Commit: 6376e24960878ca510ab6f1ce0594a351debc409 URL: https://github.com/kamailio/kamailio/commit/6376e24960878ca510ab6f1ce0594a35...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2020-11-30T14:08:49+01:00
dlgs: fix counting dialogs function
- count the dialog in initial state - GH #2568
---
Modified: src/modules/dlgs/dlgs_mod.c Modified: src/modules/dlgs/dlgs_records.c
---
Diff: https://github.com/kamailio/kamailio/commit/6376e24960878ca510ab6f1ce0594a35... Patch: https://github.com/kamailio/kamailio/commit/6376e24960878ca510ab6f1ce0594a35...
---
diff --git a/src/modules/dlgs/dlgs_mod.c b/src/modules/dlgs/dlgs_mod.c index e26e0d9899..c7f60fcab8 100644 --- a/src/modules/dlgs/dlgs_mod.c +++ b/src/modules/dlgs/dlgs_mod.c @@ -250,13 +250,16 @@ static int w_dlgs_update(sip_msg_t *msg, char *p1, char *p2) */ static int ki_dlgs_count(sip_msg_t *msg, str *vfield, str *vop, str *vdata) { + int ret; + LM_DBG("counting by: [%.*s] [%.*s] [%.*s]\n", vfield->len, vfield->s, vop->len, vop->s, vdata->len, vdata->s); - if(dlgs_count(msg, vfield, vop, vdata) < 0) { - return -1; + ret = dlgs_count(msg, vfield, vop, vdata); + if(ret <= 0) { + return (ret-1); }
- return 1; + return ret; }
/** diff --git a/src/modules/dlgs/dlgs_records.c b/src/modules/dlgs/dlgs_records.c index 6b4a6b70e8..1f6af22ba3 100644 --- a/src/modules/dlgs/dlgs_records.c +++ b/src/modules/dlgs/dlgs_records.c @@ -340,6 +340,7 @@ int dlgs_add_item(sip_msg_t *msg, str *src, str *dst, str *data) prev->next = nitem; } dsht->slots[idx].esize++; + dlgs_update_stats(&dsht->slots[idx].astats, nitem->state, 1); lock_release(&dsht->slots[idx].lock); return 0; }