MCPcopy Create free account
hub / github.com/RangeNetworks/openbts / TLPeriodicServiceV

Method TLPeriodicServiceV

SIP/SIPTransaction.cpp:318–336  ·  view source on GitHub ↗

Return TRUE to delete it.

Source from the content-addressed store, hash-verified

316
317// Return TRUE to delete it.
318bool SipClientTrLayer::TLPeriodicServiceV()
319{
320 LOG(DEBUG) << LOGVAR(mTimerDK) <<LOGVAR(mTimerBF) <<LOGVAR(mTimerAE);
321 ScopedLock lock(mstLock);
322 if (mstState == stInitializing) { return false; }
323 if (mstState == stTerminated) { return true; }
324 // The timerDK is the time in the Completed state, and used just to suck up additional incoming replies.
325 if (mTimerDK.expired()) { stDestroyV(); return true; } // The transaction completed, a message was sent to layer3, so we just exit.
326 if (mTimerBF.expired()) {
327 if (mstState == stCallingOrTrying || mstState == stProceeding) {
328 stFail(408); // 408 - SIP Timeout. Must send a fail message to layer3.
329 }
330 TUTimeoutV();
331 stDestroyV();
332 return true;
333 }
334 if (mstState == stCallingOrTrying && mTimerAE.expired()) { stWrite(&mstOutRequest); mTimerAE.setDouble(); }
335 return false;
336}
337
338
339

Callers 1

tuMapPeriodicServiceMethod · 0.80

Calls 2

setDoubleMethod · 0.80
expiredMethod · 0.45

Tested by

no test coverage detected