Hello,
I have two issues related to dialog module state keeping/logging that caught my attention today:
1.) The module considers requests routed in early (but not yet confirmed) dialogs to be bogus, as can be seen from a few lines of state machine code in dlg_hash.c:
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=modules_k...
In the logs, it shows up something like this:
CRITICAL:dialog:log_next_state_dlg: bogus event 8 in state 2 for dlg 0x7f9f237ffff8 [2901:1286709577] with clid '<Call-ID>' and tags '<caller tag>' '<callee tag, always empty>'
I believe that such in-early-dialog requests should not trigger bogus-event log messages as they look fine from a standard's point of view.
2.) Various race conditions may generate log messages such as following when DID mode is enabled:
WARNING:dialog:dlg_onroute: unable to find dialog for <REQUEST TYPE> with route param 'faf.f69e7b4' [4015:79161711]
Observed REQUEST TYPEs at our site were "BYE" when BYE requests were transmitted by both caller and callee at roughly the same time due to user behavior; and "PRACK" when a PRACK was received by the UAS after a 486 (Busy Here)/ACK pair of messages was already exchanged between the UAS and the proxy. In both cases, the associated dialog had already been destroyed when another request was received.
My suggestion is to lower the log level for this kind of message because it can simply happen too often but doesn't affect proper dialog handling.
Feedback?
Cheers,
--Timo