Not disposing registration timer in SIPRegistrationUserAgent on unequivocal failure
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.