Package com.avaya.clientservices.user

## Interface UserRegistrationListener

-     public interface UserRegistrationListener

  TODO: This is a port of the CP Core registration callbacks. We will investigate the proposed registration state machine and a simplified registration API in a future drop. Interface that can be used to retrieve registration updates from a User object. One or more listeners can be registered with an instance of the User object to retrieve updates. All of the callback methods defined in UserRegistrationListener interface identify the user the callback is associated with, using the 'user' argument.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onRegistrationResponsePayloadReceived​(User user, java.util.List<MessageBodyPart> messageBodyParts, SignalingServer server)` | Occurs when the registration response payload is received from the Network.
    `void` | `onUserAllRegistrationsFailed​(User user, boolean willRetry)` | Called when a registration attempt on 'user' is unsuccessful with all configured servers.
    `void` | `onUserAllRegistrationsSuccessful​(User user)` | Called when a registration attempt on 'user' is successful with all configured servers.
    `void` | `onUserRegistrationFailed​(User user, SignalingServer server, java.lang.Exception exception)` | Called when a registration attempt on 'user' is not successful.
    `void` | `onUserRegistrationInProgress​(User user, SignalingServer server)` | Called when a registration attempt on 'user' is being attempted.
    `void` | `onUserRegistrationSuccessful​(User user, SignalingServer server)` | Called when a registration attempt on 'user' is successful.
    `void` | `onUserUnregistrationComplete​(User user)` | Called when a logoff attempt on 'user' is completed
    `void` | `onUserUnregistrationFailed​(User user, SignalingServer server, java.lang.Exception exception)` | Called when an unregistration attempt on 'user' is not successful.
    `void` | `onUserUnregistrationInProgress​(User user, SignalingServer server)` | Called to report that an unregistration attempt is in progress.
    `void` | `onUserUnregistrationSuccessful​(User user, SignalingServer server)` | Called when an unregistration attempt on 'user' is successful.

- - ### Method Detail

    - #### onUserRegistrationInProgress

          void onUserRegistrationInProgress​(User user,
                                            SignalingServer server)

      Called when a registration attempt on 'user' is being attempted.
      Parameters:
        `user` - user that the callback is associated with.
        `server` - The signaling server that has been contacted.

    - #### onUserRegistrationSuccessful

          void onUserRegistrationSuccessful​(User user,
                                            SignalingServer server)

      Called when a registration attempt on 'user' is successful.
      Parameters:
        `user` - user that the callback is associated with.
        `server` - The signaling server that has been contacted.

    - #### onUserRegistrationFailed

          void onUserRegistrationFailed​(User user,
                                        SignalingServer server,
                                        java.lang.Exception exception)

      Called when a registration attempt on 'user' is not successful. If `RegistrationException.getError()` is `RegistrationError.REDIRECTED_ERROR`, the next registration/unregistration events (for example `onUserRegistrationSuccessful(com.avaya.clientservices.user.User, com.avaya.clientservices.common.SignalingServer)` or `onUserRegistrationFailed(com.avaya.clientservices.user.User, com.avaya.clientservices.common.SignalingServer, java.lang.Exception)`) will be received with a new `SignalingServer` that will be different from the initially configured one.
      Parameters:
        `user` - user that the callback is associated with.
        `server` - The signaling server that has been contacted.
        `exception` - Exception containing details of the registration error.

    - #### onUserAllRegistrationsSuccessful

          void onUserAllRegistrationsSuccessful​(User user)

      Called when a registration attempt on 'user' is successful with all configured servers.
      Parameters:
        `user` - user that the callback is associated with.

    - #### onUserAllRegistrationsFailed

          void onUserAllRegistrationsFailed​(User user,
                                            boolean willRetry)

      Called when a registration attempt on 'user' is unsuccessful with all configured servers.
      Parameters:
        `user` - user that the callback is associated with.
        `willRetry` - Indicates that if Client SDK will retry the failed registration request; False means registration failure is fatal and application must start a new registration after resolving the issue that blocked the registrations from succeeding.

    - #### onUserUnregistrationInProgress

          void onUserUnregistrationInProgress​(User user,
                                              SignalingServer server)

      Called to report that an unregistration attempt is in progress.
      Parameters:
        `user` - user that the callback is associated with
        `server` - The signaling server that has been contacted.

    - #### onUserUnregistrationSuccessful

          void onUserUnregistrationSuccessful​(User user,
                                              SignalingServer server)

      Called when an unregistration attempt on 'user' is successful.
      Parameters:
        `user` - user that the callback is associated with.
        `server` - The signaling server that is no longer being contacted.

    - #### onUserUnregistrationFailed

          void onUserUnregistrationFailed​(User user,
                                          SignalingServer server,
                                          java.lang.Exception exception)

      Called when an unregistration attempt on 'user' is not successful.
      Parameters:
        `user` - user that the callback is associated with.
        `server` - The signaling server that is no longer being contacted.
        `exception` - Exception containing details of the unregistration error.

    - #### onUserUnregistrationComplete

          void onUserUnregistrationComplete​(User user)

      Called when a logoff attempt on 'user' is completed
      Parameters:
        `user` - user that the callback is associated with.

    - #### onRegistrationResponsePayloadReceived

          void onRegistrationResponsePayloadReceived​(User user,
                                                     java.util.List<MessageBodyPart> messageBodyParts,
                                                     SignalingServer server)

      Occurs when the registration response payload is received from the Network.
      Parameters:
        `user` - the registered user object
        `messageBodyParts` - an array which contains `MessageBodyPart`
        `server` - - server which accepted the registration.