[reSIProcate] onStaleCallTimeout() is never called after 100 Trying
Hi All.
I'm writing this message in a bit of rush. So, excuse me for possible
mistake, and absence of proposed fix, (I'm not quite familiar with the
code involved).
The situation is as follows: DUM sends INV, and receives 100 Trying.
Then the remote side crashes. In this case onStaleCallTimeout() is
never called.
(Moreover, eventually DUM hangs on shutdown due to this stale session,
but the shutdown probem might actually be unrelated.)
I believe the following code (from DialogSet::dispatch()) is executed
when 100 Trying is received:
if (response.header(h_StatusLine).statusCode() == 100)
{
if (mDum.mDialogSetHandler)
{
mDum.mDialogSetHandler->onTrying(mAppDialogSet->getHandle(), msg);
}
return;
}
And I think the problem is caused by the fact that handleProvisional()
is never called in this situation, thus DumTimeout::StaleCall timer is
never created.
Could anybody confirm my findings, and fix the problem if possible?
TIA
--
...Bye..Dmitry.