Section 22.2 of RFC 3261 says "Once authentication credentials have been supplied either directly by the user, or discovered in an internal keyring), UAs SHOULD cache the credentials for a given value of the To header field and "realm" and attempt to re-use these values on the next request for that destination.". and the stack is not doing it.
For the end user there is no effect of this bug, but the application will generate more traffic with a proxy which will challenge all the requests.
Logged In: YES
user_id=313104
Originator: NO
This leads to some proxies challenging unlikely requests such as BYE, so the client has to add authentication handling for nua_r_bye etc. (not a bad thing to do anyway).
The stack caches the credentials only for ACKs which are sent as a result of a 200 response, but not ACK for the other status codes. Isn't it in violation of RFC 3261?