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

Method dgIsDeletable

SIP/SIPDialog.cpp:808–826  ·  view source on GitHub ↗

This is only called after the dialog has already been removed from the active dialogs, so we dont have to check the dialog state, all we have to check is there is nothing pointing to it that would cause a crash if genuinely deleted.

Source from the content-addressed store, hash-verified

806// so we dont have to check the dialog state, all we have to check is there is nothing pointing to it
807// that would cause a crash if genuinely deleted.
808bool SipDialog::dgIsDeletable() const
809{
810 ScopedLock lock(mDialogLock,__FILE__,__LINE__);
811 switch (mDialogType) {
812 case SIPDTMOC:
813 case SIPDTMTC:
814 case SIPDTMOSMS:
815 case SIPDTMTSMS:
816 case SIPDTMOUssd:
817 return gNewTransactionTable.ttIsDialogReleased(this->mTranId);
818 // We never expire the dialog associated with REGISTER.
819 case SIPDTRegister:
820 case SIPDTUnregister:
821 case SIPDTUndefined:
822 return false; // We never delete the Register dialog.
823 default:
824 assert(0);
825 }
826}
827
828// Called periodicially to check for SIP timer expiration.
829bool SipDialog::dialogPeriodicService()

Callers 1

purgeDeadDialogsMethod · 0.80

Calls 1

ttIsDialogReleasedMethod · 0.80

Tested by

no test coverage detected