// // Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. // A copy of the License is located at // // http://aws.amazon.com/apache2.0 // // or in the "license" file accompanying this file. This file is distributed // on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either // express or implied. See the License for the specific language governing // permissions and limitations under the License. // #import #import #import NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSKinesisVideoSignalingErrorDomain; typedef NS_ENUM(NSInteger, AWSKinesisVideoSignalingErrorType) { AWSKinesisVideoSignalingErrorUnknown, AWSKinesisVideoSignalingErrorClientLimitExceeded, AWSKinesisVideoSignalingErrorInvalidArgument, AWSKinesisVideoSignalingErrorInvalidClient, AWSKinesisVideoSignalingErrorNotAuthorized, AWSKinesisVideoSignalingErrorResourceNotFound, AWSKinesisVideoSignalingErrorSessionExpired, }; typedef NS_ENUM(NSInteger, AWSKinesisVideoSignalingService) { AWSKinesisVideoSignalingServiceUnknown, AWSKinesisVideoSignalingServiceTurn, }; @class AWSKinesisVideoSignalingGetIceServerConfigRequest; @class AWSKinesisVideoSignalingGetIceServerConfigResponse; @class AWSKinesisVideoSignalingIceServer; @class AWSKinesisVideoSignalingSendAlexaOfferToMasterRequest; @class AWSKinesisVideoSignalingSendAlexaOfferToMasterResponse; /** */ @interface AWSKinesisVideoSignalingGetIceServerConfigRequest : AWSRequest /**

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

*/ @property (nonatomic, strong) NSString * _Nullable channelARN; /**

Unique identifier for the viewer. Must be unique within the signaling channel.

*/ @property (nonatomic, strong) NSString * _Nullable clientId; /**

Specifies the desired service. Currently, TURN is the only valid value.

*/ @property (nonatomic, assign) AWSKinesisVideoSignalingService service; /**

An optional user ID to be associated with the credentials.

*/ @property (nonatomic, strong) NSString * _Nullable username; @end /** */ @interface AWSKinesisVideoSignalingGetIceServerConfigResponse : AWSModel /**

The list of ICE server information objects.

*/ @property (nonatomic, strong) NSArray * _Nullable iceServerList; @end /**

A structure for the ICE server connection data.

*/ @interface AWSKinesisVideoSignalingIceServer : AWSModel /**

A password to login to the ICE server.

*/ @property (nonatomic, strong) NSString * _Nullable password; /**

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

*/ @property (nonatomic, strong) NSNumber * _Nullable ttl; /**

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.

*/ @property (nonatomic, strong) NSArray * _Nullable uris; /**

A username to login to the ICE server.

*/ @property (nonatomic, strong) NSString * _Nullable username; @end /** */ @interface AWSKinesisVideoSignalingSendAlexaOfferToMasterRequest : AWSRequest /**

The ARN of the signaling channel by which Alexa and the master peer communicate.

*/ @property (nonatomic, strong) NSString * _Nullable channelARN; /**

The base64-encoded SDP offer content.

*/ @property (nonatomic, strong) NSString * _Nullable messagePayload; /**

The unique identifier for the sender client.

*/ @property (nonatomic, strong) NSString * _Nullable senderClientId; @end /** */ @interface AWSKinesisVideoSignalingSendAlexaOfferToMasterResponse : AWSModel /**

The base64-encoded SDP answer content.

*/ @property (nonatomic, strong) NSString * _Nullable answer; @end NS_ASSUME_NONNULL_END