Package com.avaya.clientservices.provider.sip

## Class SIPClientConfiguration

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

-     public class SIPClientConfiguration
      extends java.lang.Object

  Configuration data that is common for a SIP Client.

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getFailedSessionRemovalTimeout()` | The number of seconds the session line appearance will be displayed after an invalid extension has been dialed if the user does not press the End Call softkey.
    `int` | `getFastResponseTimeout()` | Get the length of time that the SIP stack will wait for a provisional response on INVITE requests.
    `int` | `getInterDigitTimeout()` | The number of seconds that the telephone will wait after a digit is dialed before sending a SIP INVITE.
    `Layer2PriorityMarking` | `getLayer2PriorityMarking()` | The layer 2 priority marking value as per IEEE 802.1p requirements to be for signaling frames generated by the endpoint.
    `int` | `getLineReservationTimeout()` | Get the line reservation time during which line stays reserved (in seconds).
    `int` | `getLocalVideoResponseTimeout()` | Get the local video response timeout (in seconds).
    `int` | `getMaxForwardLimit()` | Get the max forward limit as indicated in the Max-Forwards SIP header.
    `int` | `getNoDigitTimeout()` | The number of seconds that the telephone will wait for a digit to be dialed after going off-hook before generating a warning tone.
    `int` | `getPeriodicRingbackTimeout()` | Get the default time to re-transmit 180 Ringing while in alerting state (in seconds).
    `int` | `getPublishTimeout()` | Get the default publish timeout (in seconds).
    `int` | `getRegistrationTimeout()` | Get the default registration timeout (in seconds).
    `int` | `getSessionRefreshTimeout()` | Get the session refresh timeout (in seconds).
    `int` | `getSignalingDSCP()` | Get the layer 3 Differentiated Services (DiffServ) Code Point used for signaling frames generated by the endpoint.
    `int` | `getSubscriptionTimeout()` | Get the default subscription timeout (in seconds).
    `int` | `getTotalRingbackTimeout()` | Get the maximum default time that an incoming session stays in the alerting state (in seconds).
    `int` | `getTransferCompletionTimeout()` | Get the maximum wait time for completion of call transfer with 200 OK sipfrag notify after REFER is accepted.
    `int` | `getWaitTimeForCallCancel()` | Get the maximum wait time for completion of call cancellation.
    `boolean` | `isAutomaticDSCPConfigurationEnabled()` | Boolean value indicating whether the DSCP tagging values will be updated or not
    `boolean` | `isExactSIPDomainComparison()` | * Is the exact SIP domain comparison algorithm used? *
    `boolean` | `isReliableProvisionalResponsesEnabled()` | Are reliable provisional responses enabled?
    `boolean` | `isSelectCodecBasedOnCallerPreferences()` | Is the codec selection on the answerer side done based on the codec preferences of the calling UA or the answering UA?
    `boolean` | `isSIPSAndSRTPCouplingEnabled()` | Deprecated. Use the `SIPUserConfiguration.isUseSIPSURIOverTLSEnabled()` method instead.
    `void` | `setAutomaticDSCPConfigurationEnabled​(boolean automaticDscpConfigurationEnabled)` | Enables or disables the ability to update DSCP tagging values with PPM for signaling.
    `void` | `setExactSIPDomainComparison​(boolean exactSIPDomainComparison)` | * Used for SIP domain comparison.
    `void` | `setFailedSessionRemovalTimeout​(int failedSessionRemovalTimeout)` |
    `void` | `setFastResponseTimeout​(int fastResponseTimeout)` | Set the length of time that the SIP stack will wait for a provisional response on INVITE requests.
    `void` | `setInterDigitTimeout​(int interDigitTimeout)` |
    `void` | `setLayer2PriorityMarking​(Layer2PriorityMarking layer2PriorityMarking)` | Set the layer 2 priority marking value as per IEEE 802.1p requirements to be used for signaling frames generated by the endpoint.
    `void` | `setLineReservationTimeout​(int lineReservationTimeout)` | Set the line reservation time during which line stays reserved (in seconds).
    `void` | `setLocalVideoResponseTimeout​(int localVideoResponseTimeout)` | Set the local video response timeout (in seconds).
    `void` | `setMaxForwardLimit​(int maxForwardLimit)` | Set the max forward limit as indicated in the Max-Forwards SIP header.
    `void` | `setNoDigitTimeout​(int noDigitTimeout)` |
    `void` | `setPeriodicRingbackTimeout​(int periodicRingbackTimeout)` |
    `void` | `setPublishTimeout​(int publishTimeout)` | Set the default publish timeout (in seconds).
    `void` | `setRegistrationTimeout​(int registrationTimeout)` | Set the default registration timeout (in seconds).
    `void` | `setReliableProvisionalResponsesEnabled​(boolean reliableProvisionalResponsesEnabled)` | Set whether reliable provisional responses are enabled.
    `void` | `setSelectCodecBasedOnCallerPreferences​(boolean selectCodecBasedOnCallerPreferences)` | Set whether the codec selection on the answerer side done based on the codec preferences of the calling UA or the answering UA.
    `void` | `setSessionRefreshTimeout​(int sessionRefreshTimeout)` | Set the session refresh timeout (in seconds).
    `void` | `setSignalingDSCP​(int signalingDscp)` | Set the layer 3 Differentiated Services (DiffServ) Code Point to be used for signaling frames generated by the endpoint.
    `void` | `setSIPSAndSRTPCouplingEnabled​(boolean sipsAndSrtpCouplingEnabled)` | Deprecated. Use the `SIPUserConfiguration.setUseSIPSURIOverTLSEnabled(boolean)` method instead.
    `void` | `setSubscriptionTimeout​(int subscriptionTimeout)` | Set the default subscription timeout (in seconds).
    `void` | `setTotalRingbackTimeout​(int totalRingbackTimeout)` | Set the maximum default time that an incoming session stays in the alerting state (in seconds).
    `void` | `setTransferCompletionTimeout​(int transferCompletionTimeout)` | Set the maximum wait time for completion of call transfer with 200 OK sipfrag notify after REFER is accepted.
    `void` | `setWaitTimeForCallCancel​(int waitTimeForCallCancel)` | Set the maximum wait time for completion of call cancellation.

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

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

- - ### Constructor Detail

    - #### SIPClientConfiguration

          public SIPClientConfiguration()

  - ### Method Detail

    - #### getSignalingDSCP

          public int getSignalingDSCP()

      Get the layer 3 Differentiated Services (DiffServ) Code Point used for signaling frames generated by the endpoint.

      The default is 24 - Class Selector 3 (CS3).

      Returns:
        The DSCP value used for signaling.

    - #### setSignalingDSCP

          public void setSignalingDSCP​(int signalingDscp)

      Set the layer 3 Differentiated Services (DiffServ) Code Point to be used for signaling frames generated by the endpoint.
      Parameters:
        `signalingDscp` - The DSCP value to be used for signaling.

    - #### setAutomaticDSCPConfigurationEnabled

          public void setAutomaticDSCPConfigurationEnabled​(boolean automaticDscpConfigurationEnabled)

      Enables or disables the ability to update DSCP tagging values with PPM for signaling. When it is enabled the values that come from PPM will be set for the next tag, and if it is disabled then the tagging values will be the ones set by the client, or default ones if none was set.

      The default is true.

      Parameters:
        `automaticDscpConfigurationEnabled` - Indicates if enabled.
      See Also:
        `isAutomaticDSCPConfigurationEnabled()`

    - #### isAutomaticDSCPConfigurationEnabled

          public boolean isAutomaticDSCPConfigurationEnabled()

      Boolean value indicating whether the DSCP tagging values will be updated or not
      Returns:
        True if dscp enabled, False otherwise.
      See Also:
        `setAutomaticDSCPConfigurationEnabled(boolean)`

    - #### getLayer2PriorityMarking

          public Layer2PriorityMarking getLayer2PriorityMarking()

      The layer 2 priority marking value as per IEEE 802.1p requirements to be for signaling frames generated by the endpoint.

      The default is Layer2PriorityMarking.BEST_EFFORT.

      Returns:
        The layer 2 priority marking value to be used for signaling.

    - #### setLayer2PriorityMarking

          public void setLayer2PriorityMarking​(Layer2PriorityMarking layer2PriorityMarking)

      Set the layer 2 priority marking value as per IEEE 802.1p requirements to be used for signaling frames generated by the endpoint.

      802.1p tagging is not supported on generic non-Vantage Android devices.

      Parameters:
        `layer2PriorityMarking` - The layer 2 priority marking value to be used for signaling.

    - #### getMaxForwardLimit

          public int getMaxForwardLimit()

      Get the max forward limit as indicated in the Max-Forwards SIP header.

      The default is 70.

      Returns:
        The max forward limit set in new outgoing SIP requests.

    - #### setMaxForwardLimit

          public void setMaxForwardLimit​(int maxForwardLimit)

      Set the max forward limit as indicated in the Max-Forwards SIP header.
      Parameters:
        `maxForwardLimit` - The new max forward limit to use.

    - #### getRegistrationTimeout

          public int getRegistrationTimeout()

      Get the default registration timeout (in seconds).

      The default is 3600 (1 hour).

      Returns:
        The registration timeout in seconds.

    - #### setRegistrationTimeout

          public void setRegistrationTimeout​(int registrationTimeout)

      Set the default registration timeout (in seconds).
      Parameters:
        `registrationTimeout` - The new registration timeout to use.

    - #### getSubscriptionTimeout

          public int getSubscriptionTimeout()

      Get the default subscription timeout (in seconds).

      The default is 3600 (1 hour).

      Returns:
        The subscription timeout in seconds.

    - #### setSubscriptionTimeout

          public void setSubscriptionTimeout​(int subscriptionTimeout)

      Set the default subscription timeout (in seconds).
      Parameters:
        `subscriptionTimeout` - The new subscription timeout to use.

    - #### getPublishTimeout

          public int getPublishTimeout()

      Get the default publish timeout (in seconds).

      The default is 3600 (1 hour).

      Returns:
        The publish timeout in seconds.

    - #### setPublishTimeout

          public void setPublishTimeout​(int publishTimeout)

      Set the default publish timeout (in seconds).
      Parameters:
        `publishTimeout` - The new publish timeout to use.

    - #### getSessionRefreshTimeout

          public int getSessionRefreshTimeout()

      Get the session refresh timeout (in seconds).

      The default is 0 (feature disabled).

      Returns:
        The session refresh timeout in seconds.

    - #### setSessionRefreshTimeout

          public void setSessionRefreshTimeout​(int sessionRefreshTimeout)

      Set the session refresh timeout (in seconds). It is not recommended to enable this feature in Avaya (Aura, IPO) deployment. If session refresh is enabled, active call might be ended automatically without media preservation in case session expires due to refresh failure. Default value 0 means Session Timer is disabled. Session refresh timeout have to be equal or more than 90 seconds. Otherwise user creatioin will be failed.
      Parameters:
        `sessionRefreshTimeout` - The new session refresh timeout to use.

    - #### getPeriodicRingbackTimeout

          public int getPeriodicRingbackTimeout()

      Get the default time to re-transmit 180 Ringing while in alerting state (in seconds).

      The default is 60 (1 minute).

      Returns:
        The default time for retransmitting 180 Ringing in the alerting state in seconds.

    - #### setPeriodicRingbackTimeout

          public void setPeriodicRingbackTimeout​(int periodicRingbackTimeout)

    - #### getTotalRingbackTimeout

          public int getTotalRingbackTimeout()

      Get the maximum default time that an incoming session stays in the alerting state (in seconds).

      The default is 180 (3 minutes).

      Returns:
        The maximum timeout for the alerting state in seconds.

    - #### setTotalRingbackTimeout

          public void setTotalRingbackTimeout​(int totalRingbackTimeout)

      Set the maximum default time that an incoming session stays in the alerting state (in seconds).
      Parameters:
        `totalRingbackTimeout` - The new maximum timeout for the alerting state in seconds.

    - #### getWaitTimeForCallCancel

          public int getWaitTimeForCallCancel()

      Get the maximum wait time for completion of call cancellation.

      The default is 5.

      Returns:
        The maximum wait time for completion of call cancellation.

    - #### setWaitTimeForCallCancel

          public void setWaitTimeForCallCancel​(int waitTimeForCallCancel)

      Set the maximum wait time for completion of call cancellation.
      Parameters:
        `waitTimeForCallCancel` - The new maximum wait time for completion of call cancellation to use.

    - #### getTransferCompletionTimeout

          public int getTransferCompletionTimeout()

      Get the maximum wait time for completion of call transfer with 200 OK sipfrag notify after REFER is accepted.

      The default is 185.

      Returns:
        The maximum wait time for completion of call transfer.

    - #### setTransferCompletionTimeout

          public void setTransferCompletionTimeout​(int transferCompletionTimeout)

      Set the maximum wait time for completion of call transfer with 200 OK sipfrag notify after REFER is accepted.
      Parameters:
        `transferCompletionTimeout` - The new maximum wait time for completion of call transfer to use.

    - #### getLocalVideoResponseTimeout

          public int getLocalVideoResponseTimeout()

      Get the local video response timeout (in seconds).

      This is the time waited for a local response to the incoming video request before automatically denying the request.

      The default is 15.

      Returns:
        The local video response timeout in seconds.

    - #### setLocalVideoResponseTimeout

          public void setLocalVideoResponseTimeout​(int localVideoResponseTimeout)

      Set the local video response timeout (in seconds).
      Parameters:
        `localVideoResponseTimeout` - The new local video response timeout in seconds to use.

    - #### getLineReservationTimeout

          public int getLineReservationTimeout()

      Get the line reservation time during which line stays reserved (in seconds).

      The default is 30.

      Returns:
        The line reservation timeout in seconds.

    - #### setLineReservationTimeout

          public void setLineReservationTimeout​(int lineReservationTimeout)

      Set the line reservation time during which line stays reserved (in seconds).
      Parameters:
        `lineReservationTimeout` - Thew new line reservation timeout in seconds to use.

    - #### getFastResponseTimeout

          public int getFastResponseTimeout()

      Get the length of time that the SIP stack will wait for a provisional response on INVITE requests.

      The default is 5.

      Returns:
        The fast response timeout.

    - #### setFastResponseTimeout

          public void setFastResponseTimeout​(int fastResponseTimeout)

      Set the length of time that the SIP stack will wait for a provisional response on INVITE requests.
      Parameters:
        `fastResponseTimeout` - Set the new fast response timeout.

    - #### isSelectCodecBasedOnCallerPreferences

          public boolean isSelectCodecBasedOnCallerPreferences()

      Is the codec selection on the answerer side done based on the codec preferences of the calling UA or the answering UA?

      The default is `true`, meaning the common codec is selected based on the preferences of the calling UA.

      Returns:
        `true` if the common codec is selected based on the calling UA's preferences, `false` if it is selected based on the answering UA's preferences.

    - #### setSelectCodecBasedOnCallerPreferences

          public void setSelectCodecBasedOnCallerPreferences​(boolean selectCodecBasedOnCallerPreferences)

      Set whether the codec selection on the answerer side done based on the codec preferences of the calling UA or the answering UA.
      Parameters:
        `selectCodecBasedOnCallerPreferences` - If `true`, the common codec is selected based on the calling UA's preferences. If `false`, it is selected based on the answering UA's preferences.

    - #### isSIPSAndSRTPCouplingEnabled

          @Deprecated
          public boolean isSIPSAndSRTPCouplingEnabled()

      Deprecated.
      Use the `SIPUserConfiguration.isUseSIPSURIOverTLSEnabled()` method instead. Starting with Client SDK 3.1.
      Are SIPS and SRTP coupled?

      The SIPS mechanism is used to secure the signaling, while SRTP is used to secure the media. If `true`, do not offer secure media (SRTP) for a SIP URI (unsecure) request over TLS.

      The default is `true`.

      Returns:
        If SIPS and SRTP are coupled.

    - #### setSIPSAndSRTPCouplingEnabled

          @Deprecated
          public void setSIPSAndSRTPCouplingEnabled​(boolean sipsAndSrtpCouplingEnabled)

      Deprecated.
      Use the `SIPUserConfiguration.setUseSIPSURIOverTLSEnabled(boolean)` method instead. Starting with Client SDK 3.1.
      Set whether SIPS and SRTP are coupled.
      Parameters:
        `sipsAndSrtpCouplingEnabled` - If `true`, secure media (SRTP) will not be offered for a SIP URI (unsecure) request over TLS.

    - #### isReliableProvisionalResponsesEnabled

          public boolean isReliableProvisionalResponsesEnabled()

      Are reliable provisional responses enabled?

      If `true`, outgoing requests support reliable provisional responses. This gives the far-end the option of using reliable provisional responses if desired.

      The default is `false`.

      Returns:
        true If reliable provisional responses are enabled, false otherwise

    - #### setReliableProvisionalResponsesEnabled

          public void setReliableProvisionalResponsesEnabled​(boolean reliableProvisionalResponsesEnabled)

      Set whether reliable provisional responses are enabled.
      Parameters:
        `reliableProvisionalResponsesEnabled` - If `true`, outgoing requests support reliable provisional responses. This gives the far-end the option of using reliable provisional responses if desired.

    - #### isExactSIPDomainComparison

          public boolean isExactSIPDomainComparison()

      * Is the exact SIP domain comparison algorithm used? *

      * The default is `true`, meaning the exact SIP domain comparison algorithm will be used *

      Returns:
        true if the exact SIP domain comparison algorithm will be used, false if the weak comparison algorithm will be used.

    - #### setExactSIPDomainComparison

          public void setExactSIPDomainComparison​(boolean exactSIPDomainComparison)

      * Used for SIP domain comparison. *

      * In case Avaya Aura servers have deployed a non split horizon DNS, the small difference in domain names of caller and user can be observed: * Ex.: 123456@sbc.avaya.com and 654321@avaya.com. * To support cases where split-horizon DNS is not being used and cases when SM hosted at other domains than SBC, this new setting is used to control how SIP domain names will be compared. When this property is set to false, the comparison of different domains is considered to be a match when one of the domains is the root domain of the other. For example, userid@domain.com and userid@sbc.domain.com are considered to be matching domains even though the exact string comparison is not a match. *

      Parameters:
        `exactSIPDomainComparison` - true to enable exact SIP domain comparison, false to disable (this is the default setting)

    - #### getInterDigitTimeout

          public int getInterDigitTimeout()

      The number of seconds that the telephone will wait after a digit is dialed before sending a SIP INVITE. Valid values are 1 through 10 seconds; the default value is 5 seconds.
      Returns:
        the number of seconds that the telephone will wait after a digit is dialed before sending a SIP INVITE

    - #### setInterDigitTimeout

          public void setInterDigitTimeout​(int interDigitTimeout)

      Parameters:
        `interDigitTimeout` - the number of seconds that the telephone will wait after a digit is dialed before sending a SIP INVITE
      See Also:
        `getInterDigitTimeout()`

    - #### getNoDigitTimeout

          public int getNoDigitTimeout()

      The number of seconds that the telephone will wait for a digit to be dialed after going off-hook before generating a warning tone. Valid values are 1 through 60 seconds; the default value is 20 seconds.
      Returns:
        The number of seconds that the telephone will wait

    - #### setNoDigitTimeout

          public void setNoDigitTimeout​(int noDigitTimeout)

      Parameters:
        `noDigitTimeout` - The number of seconds that the telephone will wait for a digit
      See Also:
        `getNoDigitTimeout()`

    - #### getFailedSessionRemovalTimeout

          public int getFailedSessionRemovalTimeout()

      The number of seconds the session line appearance will be displayed after an invalid extension has been dialed if the user does not press the End Call softkey. Valid values are 5 through 99; the default value is 15.
      Returns:
        The number of seconds that the telephone will wait

    - #### setFailedSessionRemovalTimeout

          public void setFailedSessionRemovalTimeout​(int failedSessionRemovalTimeout)

      Parameters:
        `failedSessionRemovalTimeout` - The number of seconds the session line appearance will be displayed after an invalid extension has been dialed if the user does not press the End Call softkey. Valid values are 5 through 99; the default value is 15.
      See Also:
        `getFailedSessionRemovalTimeout()`