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_…
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