get_ice_server_config

get_ice_server_config(**kwargs)

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.

See also: AWS API Documentation

Request Syntax

response = client.get_ice_server_config(
    ChannelARN='string',
    ClientId='string',
    Service='TURN',
    Username='string'
)
Parameters
  • ChannelARN (string) --

    [REQUIRED]

    The ARN of the signaling channel to be used for the peer-to-peer connection between configured peers.

  • ClientId (string) -- Unique identifier for the viewer. Must be unique within the signaling channel.
  • Service (string) -- Specifies the desired service. Currently, TURN is the only valid value.
  • Username (string) -- An optional user ID to be associated with the credentials.
Return type

dict

Returns

Response Syntax

{
    'IceServerList': [
        {
            'Uris': [
                'string',
            ],
            'Username': 'string',
            'Password': 'string',
            'Ttl': 123
        },
    ]
}

Response Structure

  • (dict) --

    • IceServerList (list) --

      The list of ICE server information objects.

      • (dict) --

        A structure for the ICE server connection data.

        • Uris (list) --

          An array of URIs, in the form specified in the I-D.petithuguenin-behave-turn-uris spec. These URIs provide the different addresses and/or protocols that can be used to reach the TURN server.

          • (string) --
        • Username (string) --

          A username to login to the ICE server.

        • Password (string) --

          A password to login to the ICE server.

        • Ttl (integer) --

          The period of time, in seconds, during which the username and password are valid.

Exceptions

  • KinesisVideoSignalingChannels.Client.exceptions.InvalidClientException
  • KinesisVideoSignalingChannels.Client.exceptions.SessionExpiredException
  • KinesisVideoSignalingChannels.Client.exceptions.ClientLimitExceededException
  • KinesisVideoSignalingChannels.Client.exceptions.ResourceNotFoundException
  • KinesisVideoSignalingChannels.Client.exceptions.InvalidArgumentException
  • KinesisVideoSignalingChannels.Client.exceptions.NotAuthorizedException