Package com.avaya.clientservices.provider.sip

## Class SIPUserConfiguration

- java.lang.Object
- - com.avaya.clientservices.provider.sip.SIPUserConfiguration

-     public class SIPUserConfiguration
      extends java.lang.Object

  Configuration for SIP that is specific to a user.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SIPUserConfiguration()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getAlternateAddressOfRecord()` |
    `java.lang.String` | `getAlternateNetwork()` |
    `CallDenialPolicy` | `getCallDenialPolicy()` |
    `ConnectionPolicy` | `getConnectionPolicy()` |
    `CredentialProvider` | `getCredentialProvider()` |
    `java.lang.String` | `getDialPlan()` | Get the dial plan
    `java.lang.String` | `getDisplayName()` |
    `java.lang.String` | `getDomain()` |
    `java.util.Set<java.lang.String>` | `getEmergencyNumbers()` | Get the emergency phone numbers.
    `java.lang.String` | `getLanguage()` |
    `int` | `getMaxNumberOfControllingEndpoints()` | The maximum number of controlling endpoints the user can link with the controlled endpoint simultaneously.
    `int` | `getMaxSimultaneousRegistrations()` |
    `MediaAddressMode` | `getMediaAddressMode()` |
    `java.util.List<MediaEncryptionType>` | `getMediaEncryptionTypeList()` |
    `SecurityPolicy` | `getMediaSecurity()` | Deprecated. Starting with Client SDK 3.1, media security policy is based on the cipher suites configuration.
    `MobilityMode` | `getMobilityMode()` |
    `OutboundSubscriptionConfiguration` | `getOutboundSubscriptionConfig()` |
    `SignalingAddressMode` | `getSignalingAddressMode()` |
    `SecurityPolicy` | `getSignalingSecurity()` |
    `SIPAgentConfiguration` | `getSIPAgentConfiguration()` | Get configuration information for SIP Agent Feature service.
    `SIPClientConfiguration` | `getSIPClientConfiguration()` |
    `java.lang.String` | `getUserId()` | Returns the user ID associated with the identity.
    `MediaTransportPreference` | `getVoIPCallingPreference()` |
    `boolean` | `isAutomaticLineReservationEnabled()` |
    `boolean` | `isControlledEndpointEnabled()` |
    `boolean` | `isEnabled()` |
    `boolean` | `isIncomingVoipCallsBarred()` |
    `boolean` | `isMacAddressInfoInSIPRegistrationEnabled()` |
    `boolean` | `isRTCP5TracerouteCollectionEnabled()` |
    `boolean` | `isSharedControl()` | Indicates whether SIP shared control feature is enabled
    `boolean` | `isSrtcpEnabled()` |
    `boolean` | `isTransferToVoicemailEnabled()` |
    `boolean` | `isUseSIPSURIOverTLSEnabled()` | Indicates whether SIP endpoint uses sips (secure SIP) URI scheme for all SIP requests it initiates towards the network, including secure media calls.
    `boolean` | `isVideoEnabled()` | Indicates whether video is enabled
    `void` | `setAlternateAddressOfRecord​(java.lang.String alternateAor)` | Sets the address-of-record for the user in the alternate network.
    `void` | `setAlternateNetwork​(java.lang.String alternateNetwork)` | Sets the alternate network type for a dual mode client.
    `void` | `setAutomaticLineReservationEnabled​(boolean automaticLineReservationEnabled)` | Controls whether the Client SDK shall automatically invoke line reservation feature prior to placing an outgoing call.
    `void` | `setCallDenialPolicy​(CallDenialPolicy callDenialPolicy)` | Sets the call denial policy configured for the user.
    `void` | `setConnectionPolicy​(ConnectionPolicy policy)` | Set connection policy.
    `void` | `setControlledEndpointEnabled​(boolean enabled)` | Sets Client SDK as a controlled endpoint.
    `void` | `setCredentialProvider​(CredentialProvider credentialProvider)` | Set the object that provides credentials to handle authentication challenges.
    `void` | `setDialPlan​(java.lang.String dialPlan)` |
    `void` | `setDisplayName​(java.lang.String displayName)` | Sets the display name used as a user-friendly label to identify the endpoint the user is on.
    `void` | `setDomain​(java.lang.String domain)` | Sets the SIP domain for the identity.
    `void` | `setEmergencyNumbers​(java.util.Set<java.lang.String> numbers)` | Set the emergency phone numbers Used in the Non-Aura environment.
    `void` | `setEnabled​(boolean enabled)` | Set the SIP provider enabled.
    `void` | `setIncomingVoipCallsBarred​(boolean enabled)` | Sets a boolean value indicating that the user doesn't wish to receive incoming calls through VoIP service.
    `void` | `setLanguage​(java.lang.String language)` | Sets the language string to use in the Accept-Language header.
    `void` | `setMacAddressInfoInSIPRegistrationEnabled​(boolean enabled)` | Sets the boolean value indicating whether the device's MAC address is added to the SIP message registration.
    `void` | `setMaxNumberOfControllingEndpoints​(int maxNumberOfControllingEndpoints)` | Sets the maximum number of controlling endpoints the user can link with the controlled endpoint simultaneously.
    `void` | `setMaxSimultaneousRegistrations​(int maxSimultaneousRegistrations)` | Sets the maximum number of servers a user can simultaneously register to.
    `void` | `setMediaAddressMode​(MediaAddressMode mediaAddressMode)` | Sets the Media Address Mode configured for the user.
    `void` | `setMediaEncryptionTypeList​(java.util.List<MediaEncryptionType> list)` | Sets the list of enabled ciphersuites for SRTP.
    `void` | `setMediaSecurity​(SecurityPolicy mediaSecurity)` | Deprecated. Starting with Client SDK 3.1, media security policy is based on the cipher suites configuration.
    `void` | `setMobilityMode​(MobilityMode mobilityMode)` | Sets the mobility mode for the user.
    `void` | `setOutboundSubscriptionConfig​(OutboundSubscriptionConfiguration outboundSubscriptionConfig)` | Set the Outbound Subscription configuration
    `void` | `setRTCP5TracerouteCollectionEnabled​(boolean rtcp5TracerouteCollectionEnabled)` | Controls whether the client should collect traceroute info for RTCP Subtype 5 for established calls.
    `void` | `setSharedControl​(boolean sharedControl)` | Controls whether SIP shared control feature is enabled
    `void` | `setSignalingAddressMode​(SignalingAddressMode signallingAddressMode)` | Sets the Signaling Address Mode configured for the user.
    `void` | `setSignalingSecurity​(SecurityPolicy signalingSecurity)` | Controls the signaling security setting.
    `void` | `setSIPAgentConfiguration​(SIPAgentConfiguration sipAgentConfiguration)` | Set configuration information for SIP Agent Feature service.
    `void` | `setSIPClientConfiguration​(SIPClientConfiguration sipClientConfiguration)` | Set SIP client configuration.
    `void` | `setSrtcpEnabled​(boolean enabled)` | Sets the boolean value indicating whether SRTCP encryption is enabled
    `void` | `setTransferToVoicemailEnabled​(boolean enabled)` | Sets the boolean value indicating whether transfer to voicemail is supported.
    `void` | `setUserId​(java.lang.String userId)` | Sets the user ID associated with the identity.
    `void` | `setUseSIPSURIOverTLSEnabled​(boolean useSIPSURIOverTLSEnabled)` | Controls whether SIP endpoint uses sips (secure SIP) URI scheme for all SIP requests it initiates towards the network, including secure media calls.
    `void` | `setVideoEnabled​(boolean videoEnabled)` | Controls whether video is enabled.
    `void` | `setVoIPCallingPreference​(MediaTransportPreference voipCallingPreference)` | Sets the VoIP Calling preference.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SIPUserConfiguration

          public SIPUserConfiguration()

  - ### Method Detail

    - #### isEnabled

          public boolean isEnabled()

      Returns:
        true if the SIP provider enabled.

    - #### setEnabled

          public void setEnabled​(boolean enabled)

      Set the SIP provider enabled.
      Parameters:
        `enabled` - the SIP provider enabled.

    - #### getConnectionPolicy

          public ConnectionPolicy getConnectionPolicy()

      Returns:
        connection policy.

    - #### setConnectionPolicy

          public void setConnectionPolicy​(ConnectionPolicy policy)

      Set connection policy.
      Parameters:
        `policy` - connection policy.

    - #### getSIPClientConfiguration

          public SIPClientConfiguration getSIPClientConfiguration()

      Returns:
        SIP client configuration.

    - #### setSIPClientConfiguration

          public void setSIPClientConfiguration​(SIPClientConfiguration sipClientConfiguration)

      Set SIP client configuration.
      Parameters:
        `sipClientConfiguration` - SIP client configuration.

    - #### getSIPAgentConfiguration

          public SIPAgentConfiguration getSIPAgentConfiguration()

      Get configuration information for SIP Agent Feature service.
      Returns:
        configuration information for SIP Agent Feature service.

    - #### setSIPAgentConfiguration

          public void setSIPAgentConfiguration​(SIPAgentConfiguration sipAgentConfiguration)

      Set configuration information for SIP Agent Feature service.
      Parameters:
        `sipAgentConfiguration` - the configuration information

    - #### getUserId

          public java.lang.String getUserId()

      Returns the user ID associated with the identity.
      Returns:
        the user ID associated with the identity.

    - #### setUserId

          public void setUserId​(java.lang.String userId)

      Sets the user ID associated with the identity.
      Parameters:
        `userId` - The user ID.

    - #### getDomain

          public java.lang.String getDomain()

      Returns:
        the SIP domain for the identity.

    - #### setDomain

          public void setDomain​(java.lang.String domain)

      Sets the SIP domain for the identity.
      Parameters:
        `domain` - The SIP domain.

    - #### getCredentialProvider

          public CredentialProvider getCredentialProvider()

      Returns:
        the object that provides credentials to handle authentication challenges.

    - #### setCredentialProvider

          public void setCredentialProvider​(CredentialProvider credentialProvider)

      Set the object that provides credentials to handle authentication challenges.
      Parameters:
        `credentialProvider` - the object that provides credentials to handle authentication challenges.

    - #### getDisplayName

          public java.lang.String getDisplayName()

      Returns:
        the user's display name.

    - #### setDisplayName

          public void setDisplayName​(java.lang.String displayName)

      Sets the display name used as a user-friendly label to identify the endpoint the user is on. In SIP this is inserted in the display name portion of SIP Contact header. For example, the display name may be set to "Alice's Flare on iPad". This label is used to identify an endpoint from a list of endpoints that can be registered on behalf of the user e.g., when SM's parallel forking group feature is enabled.
      Parameters:
        `displayName` - The display name.

    - #### getLanguage

          public java.lang.String getLanguage()

      Returns:
        the language string used in the Accept-Language header.

    - #### setLanguage

          public void setLanguage​(java.lang.String language)

      Sets the language string to use in the Accept-Language header. The signaling engine does not parse this field, it is passed into the header as-is.
      Parameters:
        `language` - The language string.

    - #### getMobilityMode

          public MobilityMode getMobilityMode()

      Returns:
        the the mobility mode for the user.

    - #### setMobilityMode

          public void setMobilityMode​(MobilityMode mobilityMode)

      Sets the mobility mode for the user.
      Parameters:
        `mobilityMode` - The mobility mode.

    - #### getAlternateNetwork

          public java.lang.String getAlternateNetwork()

      Returns:
        the alternate network type for a dual mode client, if configured.

    - #### setAlternateNetwork

          public void setAlternateNetwork​(java.lang.String alternateNetwork)

      Sets the alternate network type for a dual mode client. According to reference architecture dual mode client operations, it can be set to "mobile". In the future, it can be expanded to support other types of networks.
      Parameters:
        `alternateNetwork` - The alternate network string.

    - #### getAlternateAddressOfRecord

          public java.lang.String getAlternateAddressOfRecord()

      Returns:
        the address-of-record for the user in the alternate network, if configured.

    - #### setAlternateAddressOfRecord

          public void setAlternateAddressOfRecord​(java.lang.String alternateAor)

      Sets the address-of-record for the user in the alternate network. For dual mode client, this specifies user's cell number.
      Parameters:
        `alternateAor` - The alternate address-of-record.

    - #### getMediaEncryptionTypeList

          public java.util.List<MediaEncryptionType> getMediaEncryptionTypeList()

      Returns:
        the list of enabled ciphersuites for SRTP

    - #### setMediaEncryptionTypeList

          public void setMediaEncryptionTypeList​(java.util.List<MediaEncryptionType> list)

      Sets the list of enabled ciphersuites for SRTP.
      Parameters:
        `list` - enabled ciphersuites for SRTP.

    - #### isSrtcpEnabled

          public boolean isSrtcpEnabled()

      Returns:
        the boolean value indicating whether SRTCP encryption is enabled

    - #### setSrtcpEnabled

          public void setSrtcpEnabled​(boolean enabled)

      Sets the boolean value indicating whether SRTCP encryption is enabled
      Parameters:
        `enabled` - the boolean value indicating whether SRTCP encryption is enabled

    - #### isUseSIPSURIOverTLSEnabled

          public boolean isUseSIPSURIOverTLSEnabled()

      Indicates whether SIP endpoint uses sips (secure SIP) URI scheme for all SIP requests it initiates towards the network, including secure media calls.
      Returns:
        `false` if the endpoint registers a SIP Contact address with the SIP registrar, and uses SRTP crypto suites as controlled by `getMediaEncryptionTypeList()`. `true` if the endpoint registers a SIPS Contact address with the SIP registrar, and uses SRTP crypto suites as controlled by `getMediaEncryptionTypeList()`.

    - #### setUseSIPSURIOverTLSEnabled

          public void setUseSIPSURIOverTLSEnabled​(boolean useSIPSURIOverTLSEnabled)

      Controls whether SIP endpoint uses sips (secure SIP) URI scheme for all SIP requests it initiates towards the network, including secure media calls.
      Parameters:
        `useSIPSURIOverTLSEnabled` - Set `false` if the endpoint registers a SIP Contact address with the SIP registrar, or `true` if the endpoint registers a SIPS Contact address with the SIP registrar. In either case, the endpoint uses SRTP crypto suites as controlled by `getMediaEncryptionTypeList()`.

    - #### isVideoEnabled

          public boolean isVideoEnabled()

      Indicates whether video is enabled
      Returns:
        true if video is enabled.

    - #### setVideoEnabled

          public void setVideoEnabled​(boolean videoEnabled)

      Controls whether video is enabled.
      Parameters:
        `videoEnabled` - Boolean parameter indicating whether video is enabled.

    - #### isSharedControl

          public boolean isSharedControl()

      Indicates whether SIP shared control feature is enabled
      Returns:
        true if shared control feature is enabled

    - #### setSharedControl

          public void setSharedControl​(boolean sharedControl)

      Controls whether SIP shared control feature is enabled
      Parameters:
        `sharedControl` - controls whether SIP shared control feature is enabled

    - #### getOutboundSubscriptionConfig

          public OutboundSubscriptionConfiguration getOutboundSubscriptionConfig()

      Returns:
        the Outbound Subscription configuration.

    - #### setOutboundSubscriptionConfig

          public void setOutboundSubscriptionConfig​(OutboundSubscriptionConfiguration outboundSubscriptionConfig)

      Set the Outbound Subscription configuration
      Parameters:
        `outboundSubscriptionConfig` - the Outbound Subscription configuration

    - #### getSignalingSecurity

          public SecurityPolicy getSignalingSecurity()

      Returns:
        the signaling security setting.

    - #### setSignalingSecurity

          public void setSignalingSecurity​(SecurityPolicy signalingSecurity)

      Controls the signaling security setting.
      Parameters:
        `signalingSecurity` - the signaling security setting.

    - #### getMediaSecurity

          @Deprecated
          public SecurityPolicy getMediaSecurity()

      Deprecated.
      Starting with Client SDK 3.1, media security policy is based on the cipher suites configuration. `getMediaEncryptionTypeList()`.
      Returns:
        the media security setting.

    - #### setMediaSecurity

          @Deprecated
          public void setMediaSecurity​(SecurityPolicy mediaSecurity)

      Deprecated.
      Starting with Client SDK 3.1, media security policy is based on the cipher suites configuration. `getMediaEncryptionTypeList()`.
      Controls the media security setting
      Parameters:
        `mediaSecurity` - the media security setting

    - #### getVoIPCallingPreference

          public MediaTransportPreference getVoIPCallingPreference()

      Returns:
        the VoIP Calling preference.

    - #### setVoIPCallingPreference

          public void setVoIPCallingPreference​(MediaTransportPreference voipCallingPreference)

      Sets the VoIP Calling preference.
      Parameters:
        `voipCallingPreference` - the VoIP Calling preference.

    - #### isTransferToVoicemailEnabled

          public boolean isTransferToVoicemailEnabled()

      Returns:
        the boolean value indicating whether transfer to voicemail is supported.

    - #### setTransferToVoicemailEnabled

          public void setTransferToVoicemailEnabled​(boolean enabled)

      Sets the boolean value indicating whether transfer to voicemail is supported. It should be set true to indicate Voicemail transfer is supported.
      Parameters:
        `enabled` - the boolean value indicating whether transfer to voicemail is supported.

    - #### isIncomingVoipCallsBarred

          public boolean isIncomingVoipCallsBarred()

      Returns:
        the boolean value indicating that the user doesn't wish to receive incoming calls through VoIP service.

    - #### setIncomingVoipCallsBarred

          public void setIncomingVoipCallsBarred​(boolean enabled)

      Sets a boolean value indicating that the user doesn't wish to receive incoming calls through VoIP service.
      Parameters:
        `enabled` - a boolean value indicating that the user doesn't wish to receive incoming calls through VoIP service.

    - #### getDialPlan

          public java.lang.String getDialPlan()

      Get the dial plan
      Returns:
        The dial plan used in the telephone. It accelerates dialing by eliminating the need to wait for the INTER_DIGIT_TIMEOUT timer to expire. The value can contain 0 to 1023 characters; the default value is null (""). See the telephone Administrator's Guide for format and setting alternatives. example: "[23]xxxx|91xxxxxxxxxx|9[2-9]xxxxxxxxx"

    - #### setDialPlan

          public void setDialPlan​(java.lang.String dialPlan)

      Parameters:
        `dialPlan` - the dial plan
      See Also:
        `getDialPlan()`

    - #### getEmergencyNumbers

          public java.util.Set<java.lang.String> getEmergencyNumbers()

      Get the emergency phone numbers.
      Returns:
        the emergency phone numbers.

    - #### setEmergencyNumbers

          public void setEmergencyNumbers​(java.util.Set<java.lang.String> numbers)

      Set the emergency phone numbers Used in the Non-Aura environment. In a Aura environment, the identification of emergency numbers occurs automatically.
      Parameters:
        `numbers` - set of emergency phone numbers

    - #### getSignalingAddressMode

          public SignalingAddressMode getSignalingAddressMode()

      Returns:
        the Signalling Address Mode configured for the user.

    - #### setSignalingAddressMode

          public void setSignalingAddressMode​(SignalingAddressMode signallingAddressMode)

      Sets the Signaling Address Mode configured for the user.
      Parameters:
        `signallingAddressMode` - the Signaling Address Mode configured for the user.

    - #### getMediaAddressMode

          public MediaAddressMode getMediaAddressMode()

      Returns:
        the Media Address Mode configured for the user.

    - #### setMediaAddressMode

          public void setMediaAddressMode​(MediaAddressMode mediaAddressMode)

      Sets the Media Address Mode configured for the user.
      Parameters:
        `mediaAddressMode` - the Media Address Mode configured for the user.

    - #### isMacAddressInfoInSIPRegistrationEnabled

          public boolean isMacAddressInfoInSIPRegistrationEnabled()

      Returns:
        the boolean value indicating whether the device's MAC address is added to the SIP registration.

    - #### setMacAddressInfoInSIPRegistrationEnabled

          public void setMacAddressInfoInSIPRegistrationEnabled​(boolean enabled)

      Sets the boolean value indicating whether the device's MAC address is added to the SIP message registration. It should be set true to indicate the device's MAC address is supported.
      Parameters:
        `enabled` - the boolean value indicating whether the device's MAC address is supported.

    - #### getCallDenialPolicy

          public CallDenialPolicy getCallDenialPolicy()

      Returns:
        The call denial policy configured for the user.

    - #### setCallDenialPolicy

          public void setCallDenialPolicy​(CallDenialPolicy callDenialPolicy)

      Sets the call denial policy configured for the user. If a user denies a call using `Call.deny(CallCompletionHandler)` method then the denial reason will be determined based on CallDenialPolicy. By default, the policy is set to Busy.
      Parameters:
        `callDenialPolicy` - the call denial policy configured for the user.

    - #### getMaxSimultaneousRegistrations

          public int getMaxSimultaneousRegistrations()

      Returns:
        the maximum number of servers a user can simultaneously register to.

    - #### setMaxSimultaneousRegistrations

          public void setMaxSimultaneousRegistrations​(int maxSimultaneousRegistrations)

      Sets the maximum number of servers a user can simultaneously register to. The recommended range is from 1 to 5. If the property is not set, Client SDK will continue to simultaneously register to a maximum of three servers, as provided by PPM.
      Parameters:
        `maxSimultaneousRegistrations` - the maximum number of servers a user can simultaneously register to

    - #### setControlledEndpointEnabled

          public void setControlledEndpointEnabled​(boolean enabled)

      Sets Client SDK as a controlled endpoint. When it is true it shall expand the Client SDK's Aura Shared Control functionality to allow a remote endpoint to control Client SDK based applications. Client SDK based application shall thus be able to act as controlled endpoints as well. The default value is false.
      Parameters:
        `enabled` - the boolean value indicating whether Client SDK should act as a controlled endpoint or not.

    - #### isControlledEndpointEnabled

          public boolean isControlledEndpointEnabled()

      Returns:
        the boolean value indicating indicating whether Client SDK should act as a controlled endpoint or not.
      See Also:
        `setControlledEndpointEnabled(boolean)`

    - #### getMaxNumberOfControllingEndpoints

          public int getMaxNumberOfControllingEndpoints()

      The maximum number of controlling endpoints the user can link with the controlled endpoint simultaneously.
      Returns:
        the maximum number of controlling endpoints the user can link with the controlled endpoint simultaneously.
      See Also:
        `setMaxNumberOfControllingEndpoints(int)`

    - #### setMaxNumberOfControllingEndpoints

          public void setMaxNumberOfControllingEndpoints​(int maxNumberOfControllingEndpoints)

      Sets the maximum number of controlling endpoints the user can link with the controlled endpoint simultaneously. The recommended range is from 1 to 5. Default value is 1.
      Parameters:
        `maxNumberOfControllingEndpoints` - the maximum number of controlling endpoints the user can link with the controlled endpoint simultaneously.
      See Also:
        `getMaxNumberOfControllingEndpoints()`

    - #### setAutomaticLineReservationEnabled

          public void setAutomaticLineReservationEnabled​(boolean automaticLineReservationEnabled)

      Controls whether the Client SDK shall automatically invoke line reservation feature prior to placing an outgoing call. Automatic line reservation is disabled by default.
      Parameters:
        `automaticLineReservationEnabled` - the boolean value indicating whether automatic line reservation should be enabled or disabled.

    - #### isAutomaticLineReservationEnabled

          public boolean isAutomaticLineReservationEnabled()

      Returns:
        the boolean value indicating whether automatic line reservation is enabled for outgoing calls.

    - #### setRTCP5TracerouteCollectionEnabled

          public void setRTCP5TracerouteCollectionEnabled​(boolean rtcp5TracerouteCollectionEnabled)

      Controls whether the client should collect traceroute info for RTCP Subtype 5 for established calls. Traceroute info collection is disabled by default.
      Parameters:
        `rtcp5TracerouteCollectionEnabled` - the boolean value traceroute info collection for RTCP Subtype 5 for established calls should be enabled or disabled.

    - #### isRTCP5TracerouteCollectionEnabled

          public boolean isRTCP5TracerouteCollectionEnabled()

      Returns:
        the boolean value indicating whether traceroute info collection for RTCP Subtype 5 for established calls should be enabled or disabled.