Currently, after receiving 401 Unauthorized response for an initial REGISTER request (with CSeq=1), we add the authorization info to the request (incrementing its CSeq to 2) and resend it. The problem is that the SIPRegistrationUserAgent instance is not aware that CSeq was incremented, and, so, when we call SIPRegistrationUserAgent.Stop() in order to remove the registration on the server side, the corresponding request with Expires=0 is sent with CSeq=2 and so is ignored by the server, since CSeq must be incremented with each subsequent request (or at least be unique).
Currently, after receiving
401 Unauthorized
response for an initialREGISTER
request (withCSeq=1
), we add the authorization info to the request (incrementing itsCSeq
to 2) and resend it. The problem is that theSIPRegistrationUserAgent
instance is not aware thatCSeq
was incremented, and, so, when we callSIPRegistrationUserAgent.Stop()
in order to remove the registration on the server side, the corresponding request withExpires=0
is sent withCSeq=2
and so is ignored by the server, sinceCSeq
must be incremented with each subsequent request (or at least be unique).