On Tue, Jun 22, 2010 at 12:27 PM, Timo Reimann timo.reimann@1und1.de wrote:
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.
If this means adding the DLG_STATE_EARLY to the switch, then it should be fine.
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.
The proper fix here would be to extend the lifetime of a dialog in deleted state and absorb any late in-dialog requests. If we just lower the log level, we don't know if it's a valid warning log or a bogus one.
Feedback?
Cheers,
--Timo
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users