Module: sip-router Branch: alexh/dialog-sync-wip Commit: c809cae1b1357852bd72cf8e37dc21420bd79112 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c809cae1b1357852bd72cf8e37dc21420bd79112
Author: Alex Hermann <[email protected]> Committer: Alex Hermann <[email protected]> Date: Mon Sep 1 17:53:25 2014 +0200 dialog: Only DMQ-sync out our "own" dialogs Do not sync-out dialogs we got from another proxy. --- modules/dialog/dlg_dmq.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/dialog/dlg_dmq.c b/modules/dialog/dlg_dmq.c index 60b90d5..56da577 100644 --- a/modules/dialog/dlg_dmq.c +++ b/modules/dialog/dlg_dmq.c @@ -375,7 +375,7 @@ int dlg_dmq_replicate_action(dlg_dmq_action_t action, dlg_cell_t* dlg, int needl LM_DBG("replicating action [%d] on [%u:%u] to dmq peers\n", action, dlg->h_entry, dlg->h_id); if (action == DLG_DMQ_UPDATE) { - if ((dlg->iflags & DLG_IFLAG_DMQ_SYNC) && ((dlg->dflags & DLG_FLAG_CHANGED_PROF) == 0)) { + if (!node && (dlg->iflags & DLG_IFLAG_DMQ_SYNC) && ((dlg->dflags & DLG_FLAG_CHANGED_PROF) == 0)) { LM_DBG("dlg not changed, no sync\n"); return 1; } @@ -490,8 +490,10 @@ int dmq_send_all_dlgs(dmq_node_t* dmq_node) { dlg_lock( d_table, &entry); for(dlg = entry.first; dlg != NULL; dlg = dlg->next){ - dlg->iflags &= ~DLG_IFLAG_DMQ_SYNC; - dlg_dmq_replicate_action(DLG_DMQ_UPDATE, dlg, 0, dmq_node); + if (dlg->iflags & DLG_IFLAG_DMQ_SYNC) { + dlg->dflags |= DLG_FLAG_CHANGED_PROF; + dlg_dmq_replicate_action(DLG_DMQ_UPDATE, dlg, 0, dmq_node); + } } dlg_unlock( d_table, &entry); _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
