[reSIProcate-users] why is asyncProvideContacts() called twice for a registration
For a registration using an external infosystem as a place to
authenticate requests and store registered contacts, I see that the
ServerRegistration class has a state machine that requires that the
list of current contacts for a subscriber be provided *twice* by
calling asyncProvideContacts().
I understand the first time, when the current list from the back-end
system is brought into ServerRegistration, and ServerRegistraion goes
through this provided list, adds or updates the contact for the request
that has just been received, and then pushes this back to the back-end
system with asyncUpdateContacts() from my implementation of the
ServerRegistrationHandler.
But then ServerRegistration gets put into
asyncStateAcceptedWaitingForFinalContactList state.
What is the need to wait again for another list from the back-end? Is it
expected that the back-end will or might do something besides update
it's own list?
Does this have something to do with the "transaction log"?