sipsorcery icon indicating copy to clipboard operation
sipsorcery copied to clipboard

Not disposing registration timer in SIPRegistrationUserAgent on unequivocal failure

Open mikhail-barg opened this issue 1 year ago • 0 comments

Hi, we just stumbled on a problem with SIPRegistrationUserAgent when exitOnUnequivocalFailure is set to true, which is default.

So when a failure happens, the m_exit variable is set to m_exitOnUnequivocalFailure (which is true):

https://github.com/sipsorcery-org/sipsorcery/blob/f35cc1eff873f3991dc18d9c94150c50f36ca8d3/src/app/SIPUserAgents/SIPRegistrationUserAgent.cs#L513-L518

(and two other similar places).

But then during the Stop() call, m_exit is being checked, and no call to m_registrationTimer.Dispose() happens:

https://github.com/sipsorcery-org/sipsorcery/blob/f35cc1eff873f3991dc18d9c94150c50f36ca8d3/src/app/SIPUserAgents/SIPRegistrationUserAgent.cs#L333-L355

And this is the only place where the timer is being disposed.

This causes an infinite re-registration loop for the account which is already not being used, and other nasty consequences.

mikhail-barg avatar Aug 16 '24 14:08 mikhail-barg