Hi
Some more testing...
It looks like, in REPLY_ROUTE
if (is_known_dlg()) { dlg_set_timeout("3"); xlog("L_INFO", "$cfg(route): DEBUG DLG Lifetime $dlg(lifetime)\n"); }
indeed does set the lifetime to 3 seconds.
Unfortunately this is replicated on the other DMQ node which then again has a 50% chance of wrongfully triggering timeout after 3 seconds instead of what the default is. So no luck in setting a generous default lifetime and then shortening the lifetime on the node handling the case to make sure it is the one triggering the timeout.
I had a quick glimpse into the source. As an n00b coder, I think I understand that the dmq message is parsed and then timer inserted or updated on all dmq nodes when a DQM dialog message is received. I fear, this causes this behaviour of the timer expiring on the wrong node.
So is this a bug? Shall I report an issue on github?