internal virtual GetIceServerConfigResponse GetIceServerConfig(GetIceServerConfigRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetIceServerConfigRequestMarshaller.Instance; options.ResponseUnmarshaller = GetIceServerConfigResponseUnmarshaller.Instance; return(Invoke <GetIceServerConfigResponse>(request, options)); }
/// <summary> /// 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. /// /// /// /// <para> /// 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 href="https://tools.ietf.org/html/draft-uberti-rtcweb-turn-rest-00">A /// REST API For Access To TURN Services</a>. /// </para> /// /// <para> /// 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. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the GetIceServerConfig service method.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// /// <returns>The response from the GetIceServerConfig service method, as returned by KinesisVideoSignalingChannels.</returns> /// <exception cref="Amazon.KinesisVideoSignalingChannels.Model.ClientLimitExceededException"> /// Your request was throttled because you have exceeded the limit of allowed client calls. /// Try making the call later. /// </exception> /// <exception cref="Amazon.KinesisVideoSignalingChannels.Model.InvalidArgumentException"> /// The value for this input parameter is invalid. /// </exception> /// <exception cref="Amazon.KinesisVideoSignalingChannels.Model.InvalidClientException"> /// The specified client is invalid. /// </exception> /// <exception cref="Amazon.KinesisVideoSignalingChannels.Model.NotAuthorizedException"> /// The caller is not authorized to perform this operation. /// </exception> /// <exception cref="Amazon.KinesisVideoSignalingChannels.Model.ResourceNotFoundException"> /// The specified resource is not found. /// </exception> /// <exception cref="Amazon.KinesisVideoSignalingChannels.Model.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. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04/GetIceServerConfig">REST API Reference for GetIceServerConfig Operation</seealso> public virtual Task <GetIceServerConfigResponse> GetIceServerConfigAsync(GetIceServerConfigRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetIceServerConfigRequestMarshaller.Instance; options.ResponseUnmarshaller = GetIceServerConfigResponseUnmarshaller.Instance; return(InvokeAsync <GetIceServerConfigResponse>(request, options, cancellationToken)); }
/// <summary> /// Initiates the asynchronous execution of the GetIceServerConfig operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetIceServerConfig operation on AmazonKinesisVideoSignalingChannelsClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetIceServerConfig /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04/GetIceServerConfig">REST API Reference for GetIceServerConfig Operation</seealso> public virtual IAsyncResult BeginGetIceServerConfig(GetIceServerConfigRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetIceServerConfigRequestMarshaller.Instance; options.ResponseUnmarshaller = GetIceServerConfigResponseUnmarshaller.Instance; return(BeginInvoke(request, options, callback, state)); }