< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[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.