< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[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"?