Interface KinesisVideoSignalingAsyncClient

All Superinterfaces:
AutoCloseable, AwsClient, SdkAutoCloseable, SdkClient

@Generated("software.amazon.awssdk:codegen") @ThreadSafe public interface KinesisVideoSignalingAsyncClient extends AwsClient
Service client for accessing Amazon Kinesis Video Signaling Channels asynchronously. This can be created using the static builder() method.The asynchronous client performs non-blocking I/O when configured with any
invalid reference
SdkAsyncHttpClient
supported in the SDK. However, full non-blocking is not guaranteed as the async client may perform blocking calls in some cases such as credentials retrieval and endpoint discovery as part of the async API call.

Kinesis Video Streams Signaling Service is a intermediate service that establishes a communication channel for discovering peers, transmitting offers and answers in order to establish peer-to-peer connection in webRTC technology.

  • Field Details

  • Method Details

    • getIceServerConfig

      default CompletableFuture<GetIceServerConfigResponse> getIceServerConfig(GetIceServerConfigRequest getIceServerConfigRequest)

      Gets the Interactive Connectivity Establishment (ICE) server configuration information, including URIs, username, and password which can be used to configure the WebRTC connection. The ICE component uses this configuration information to setup the WebRTC connection, including authenticating with the Traversal Using Relays around NAT (TURN) relay server.

      TURN is a protocol that is used to improve the connectivity of peer-to-peer applications. By providing a cloud-based relay service, TURN ensures that a connection can be established even when one or more peers are incapable of a direct peer-to-peer connection. For more information, see A REST API For Access To TURN Services.

      You can invoke this API to establish a fallback mechanism in case either of the peers is unable to establish a direct peer-to-peer connection over a signaling channel. You must specify either a signaling channel ARN or the client ID in order to invoke this API.

      Parameters:
      getIceServerConfigRequest -
      Returns:
      A Java Future containing the result of the GetIceServerConfig operation returned by the service.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions.
      • InvalidClientException The specified client is invalid.
      • SessionExpiredException If the client session is expired. Once the client is connected, the session is valid for 45 minutes. Client should reconnect to the channel to continue sending/receiving messages.
      • ClientLimitExceededException Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.
      • ResourceNotFoundException The specified resource is not found.
      • InvalidArgumentException The value for this input parameter is invalid.
      • NotAuthorizedException The caller is not authorized to perform this operation.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • KinesisVideoSignalingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getIceServerConfig

      default CompletableFuture<GetIceServerConfigResponse> getIceServerConfig(Consumer<GetIceServerConfigRequest.Builder> getIceServerConfigRequest)

      Gets the Interactive Connectivity Establishment (ICE) server configuration information, including URIs, username, and password which can be used to configure the WebRTC connection. The ICE component uses this configuration information to setup the WebRTC connection, including authenticating with the Traversal Using Relays around NAT (TURN) relay server.

      TURN is a protocol that is used to improve the connectivity of peer-to-peer applications. By providing a cloud-based relay service, TURN ensures that a connection can be established even when one or more peers are incapable of a direct peer-to-peer connection. For more information, see A REST API For Access To TURN Services.

      You can invoke this API to establish a fallback mechanism in case either of the peers is unable to establish a direct peer-to-peer connection over a signaling channel. You must specify either a signaling channel ARN or the client ID in order to invoke this API.


      This is a convenience which creates an instance of the GetIceServerConfigRequest.Builder avoiding the need to create one manually via GetIceServerConfigRequest.builder()

      Parameters:
      getIceServerConfigRequest - A Consumer that will call methods on GetIceServerConfigRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the GetIceServerConfig operation returned by the service.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions.
      • InvalidClientException The specified client is invalid.
      • SessionExpiredException If the client session is expired. Once the client is connected, the session is valid for 45 minutes. Client should reconnect to the channel to continue sending/receiving messages.
      • ClientLimitExceededException Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.
      • ResourceNotFoundException The specified resource is not found.
      • InvalidArgumentException The value for this input parameter is invalid.
      • NotAuthorizedException The caller is not authorized to perform this operation.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • KinesisVideoSignalingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • sendAlexaOfferToMaster

      default CompletableFuture<SendAlexaOfferToMasterResponse> sendAlexaOfferToMaster(SendAlexaOfferToMasterRequest sendAlexaOfferToMasterRequest)

      This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.

      Parameters:
      sendAlexaOfferToMasterRequest -
      Returns:
      A Java Future containing the result of the SendAlexaOfferToMaster operation returned by the service.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions.
      • ClientLimitExceededException Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.
      • ResourceNotFoundException The specified resource is not found.
      • InvalidArgumentException The value for this input parameter is invalid.
      • NotAuthorizedException The caller is not authorized to perform this operation.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • KinesisVideoSignalingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • sendAlexaOfferToMaster

      default CompletableFuture<SendAlexaOfferToMasterResponse> sendAlexaOfferToMaster(Consumer<SendAlexaOfferToMasterRequest.Builder> sendAlexaOfferToMasterRequest)

      This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.


      This is a convenience which creates an instance of the SendAlexaOfferToMasterRequest.Builder avoiding the need to create one manually via SendAlexaOfferToMasterRequest.builder()

      Parameters:
      sendAlexaOfferToMasterRequest - A Consumer that will call methods on SendAlexaOfferToMasterRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the SendAlexaOfferToMaster operation returned by the service.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions.
      • ClientLimitExceededException Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.
      • ResourceNotFoundException The specified resource is not found.
      • InvalidArgumentException The value for this input parameter is invalid.
      • NotAuthorizedException The caller is not authorized to perform this operation.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • KinesisVideoSignalingException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • serviceClientConfiguration

      default KinesisVideoSignalingServiceClientConfiguration serviceClientConfiguration()
      Description copied from interface: SdkClient
      The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration
      Specified by:
      serviceClientConfiguration in interface AwsClient
      Specified by:
      serviceClientConfiguration in interface SdkClient
      Returns:
      SdkServiceClientConfiguration
    • create

      Create a KinesisVideoSignalingAsyncClient with the region loaded from the DefaultAwsRegionProviderChain and credentials loaded from the DefaultCredentialsProvider.
    • builder

      Create a builder that can be used to configure and create a KinesisVideoSignalingAsyncClient.