diff --git a/docs/6.10.1/Blocks/TVOAVAudioSessionConfigurationBlock.html b/docs/6.10.1/Blocks/TVOAVAudioSessionConfigurationBlock.html new file mode 100644 index 0000000..d8560d9 --- /dev/null +++ b/docs/6.10.1/Blocks/TVOAVAudioSessionConfigurationBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOAVAudioSessionConfigurationBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAVAudioSessionConfigurationBlock Block Reference

+ + +
+ + + + +
Declared inTVODefaultAudioDevice.h
+ + + + + + + + + + +

Block Definition

+

TVOAVAudioSessionConfigurationBlock

+ + +
+

TVOAVAudioSessionConfigurationBlock allows you to configure AVAudioSession.

+
+ + + +typedef void (^TVOAVAudioSessionConfigurationBlock) (void ) + + + +
+

Discussion

+

TVOAVAudioSessionConfigurationBlock allows you to configure AVAudioSession.

+
+ + + + + + + + + +
+

Declared In

+ TVODefaultAudioDevice.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Blocks/TVOAcceptOptionsBuilderBlock.html b/docs/6.10.1/Blocks/TVOAcceptOptionsBuilderBlock.html new file mode 100644 index 0000000..d900f56 --- /dev/null +++ b/docs/6.10.1/Blocks/TVOAcceptOptionsBuilderBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOAcceptOptionsBuilderBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAcceptOptionsBuilderBlock Block Reference

+ + +
+ + + + +
Declared inTVOAcceptOptions.h
+ + + + + + + + + + +

Block Definition

+

TVOAcceptOptionsBuilderBlock

+ + +
+

TVOAcceptOptionsBuilderBlock allows you to construct TVOAcceptOptions using the builder pattern.

+
+ + + +typedef void (^TVOAcceptOptionsBuilderBlock) (TVOAcceptOptionsBuilder *_Nonnull, builder ) + + + +
+

Discussion

+

TVOAcceptOptionsBuilderBlock allows you to construct TVOAcceptOptions using the builder pattern.

+
+ + + + + + + + + +
+

Declared In

+ TVOAcceptOptions.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Blocks/TVOAudioDeviceWorkerBlock.html b/docs/6.10.1/Blocks/TVOAudioDeviceWorkerBlock.html new file mode 100644 index 0000000..5bb6dad --- /dev/null +++ b/docs/6.10.1/Blocks/TVOAudioDeviceWorkerBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOAudioDeviceWorkerBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAudioDeviceWorkerBlock Block Reference

+ + +
+ + + + +
Declared inTVOAudioDevice.h
+ + + + + + + + + + +

Block Definition

+

TVOAudioDeviceWorkerBlock

+ + +
+

A block which is executed on the media engine’s worker thread.

+
+ + + +typedef void (^TVOAudioDeviceWorkerBlock) (void ) + + + +
+

Discussion

+

A block which is executed on the media engine’s worker thread.

+
+ + + + + + + + + +
+

Declared In

+ TVOAudioDevice.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Blocks/TVOCallGetStatsBlock.html b/docs/6.10.1/Blocks/TVOCallGetStatsBlock.html new file mode 100644 index 0000000..d73c933 --- /dev/null +++ b/docs/6.10.1/Blocks/TVOCallGetStatsBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOCallGetStatsBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallGetStatsBlock Block Reference

+ + +
+ + + + +
Declared inTVOCall.h
+ + + + + + + + + + +

Block Definition

+

TVOCallGetStatsBlock

+ + +
+

TVOCallGetStatsBlock is invoked asynchronously when the results of the [TVOCall getStatsWithBlock:] method are available.

+
+ + + +typedef void (^TVOCallGetStatsBlock) (NSArray <, TVOStatsReport *>, * _Nonnull, statsReports ) + + + +
+

Discussion

+

TVOCallGetStatsBlock is invoked asynchronously when the results of the [TVOCall getStatsWithBlock:] method are available.

+
+ + + + + + + + + +
+

Declared In

+ TVOCall.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Blocks/TVOCallMessageBuilderBlock.html b/docs/6.10.1/Blocks/TVOCallMessageBuilderBlock.html new file mode 100644 index 0000000..4a6d9c3 --- /dev/null +++ b/docs/6.10.1/Blocks/TVOCallMessageBuilderBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOCallMessageBuilderBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallMessageBuilderBlock Block Reference

+ + +
+ + + + +
Declared inTVOCallMessage.h
+ + + + + + + + + + +

Block Definition

+

TVOCallMessageBuilderBlock

+ + +
+

TVOCallMessageBuilderBlock allows you to construct TVOCallMessage using the builder pattern.

+
+ + + +typedef void (^TVOCallMessageBuilderBlock) (TVOCallMessageBuilder *_Nonnull, builder ) + + + +
+

Discussion

+

TVOCallMessageBuilderBlock allows you to construct TVOCallMessage using the builder pattern.

+
+ + + + + + + + + +
+

Declared In

+ TVOCallMessage.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Blocks/TVOConnectOptionsBuilderBlock.html b/docs/6.10.1/Blocks/TVOConnectOptionsBuilderBlock.html new file mode 100644 index 0000000..bbf48d4 --- /dev/null +++ b/docs/6.10.1/Blocks/TVOConnectOptionsBuilderBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOConnectOptionsBuilderBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOConnectOptionsBuilderBlock Block Reference

+ + +
+ + + + +
Declared inTVOConnectOptions.h
+ + + + + + + + + + +

Block Definition

+

TVOConnectOptionsBuilderBlock

+ + +
+

TVOConnectOptionsBuilderBlock allows you to construct TVOConnectOptions using the builder pattern.

+
+ + + +typedef void (^TVOConnectOptionsBuilderBlock) (TVOConnectOptionsBuilder *_Nonnull, builder ) + + + +
+

Discussion

+

TVOConnectOptionsBuilderBlock allows you to construct TVOConnectOptions using the builder pattern.

+
+ + + + + + + + + +
+

Declared In

+ TVOConnectOptions.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Blocks/TVOIceOptionsBuilderBlock.html b/docs/6.10.1/Blocks/TVOIceOptionsBuilderBlock.html new file mode 100644 index 0000000..4bad0be --- /dev/null +++ b/docs/6.10.1/Blocks/TVOIceOptionsBuilderBlock.html @@ -0,0 +1,143 @@ + + + + + + TVOIceOptionsBuilderBlock Block Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceOptionsBuilderBlock Block Reference

+ + +
+ + + + +
Declared inTVOIceOptions.h
+ + + + + + + + + + +

Block Definition

+

TVOIceOptionsBuilderBlock

+ + +
+

TVOIceOptionsBuilderBlock is a block to configure ICE options.

+
+ + + +typedef void (^TVOIceOptionsBuilderBlock) (TVOIceOptionsBuilder *_Nonnull, builder ) + + + +
+

Discussion

+

TVOIceOptionsBuilderBlock is a block to configure ICE options.

+
+ + + + + + + + + +
+

Declared In

+ TVOIceOptions.h
+
+ + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Categories/TVOCall+CallKit.html b/docs/6.10.1/Categories/TVOCall+CallKit.html new file mode 100644 index 0000000..3df13e5 --- /dev/null +++ b/docs/6.10.1/Categories/TVOCall+CallKit.html @@ -0,0 +1,197 @@ + + + + + + TVOCall(CallKit) Category Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCall(CallKit) Category Reference

+ + +
+ + + + +
Declared inTVOCall.h
+ + + + +
+ +

Overview

+

CallKit specific additions.

+
+ + + + + +
+ + + + + + +
+
+ +

  uuid +

+ +
+
+ +
+ + +
+

A unique identifier for the Call.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) NSUUID *uuid
+ + + + + + + + + +
+

Discussion

+

Use this UUID as an argument to CallKit methods. +You can provide a UUID for outgoing calls using [TwilioVoiceSDK connectWithOptions:delegate:]. +Calls created via [TVOCallInvite acceptWithOptions:delegate:] inherit their uuid from the Invite itself.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Categories/TVOCallInvite+CallKit.html b/docs/6.10.1/Categories/TVOCallInvite+CallKit.html new file mode 100644 index 0000000..833e04a --- /dev/null +++ b/docs/6.10.1/Categories/TVOCallInvite+CallKit.html @@ -0,0 +1,196 @@ + + + + + + TVOCallInvite(CallKit) Category Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallInvite(CallKit) Category Reference

+ + +
+ + + + +
Declared inTVOCallInvite.h
+ + + + +
+ +

Overview

+

CallKit specific additions.

+
+ + + + + +
+ + + + + + +
+
+ +

  uuid +

+ +
+
+ +
+ + +
+

UUID of the Call Invite.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSUUID *uuid
+ + + + + + + + + +
+

Discussion

+

Use this UUID for CallKit methods. Accepting a TVOCallInvite yields a TVOCall which inherits its +UUID from the Invite.

+
+ + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Categories/TVOCallInvite+Utility.html b/docs/6.10.1/Categories/TVOCallInvite+Utility.html new file mode 100644 index 0000000..0c7a735 --- /dev/null +++ b/docs/6.10.1/Categories/TVOCallInvite+Utility.html @@ -0,0 +1,203 @@ + + + + + + TVOCallInvite(Utility) Category Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallInvite(Utility) Category Reference

+ + +
+ + + + +
Declared inTVOCallInvite.h
+ + + + +
+ +

Overview

+

Utility methods.

+
+ + + + + +
+ + + + + + +
+
+ +

+ isValid: +

+ +
+
+ +
+ + +
+

Returns true if the provided payload would result in a TVOCallInvite via the [TVONotificationDelegate callInviteReceived:] +callback when passed into [TwilioVoiceSDK handleNotification:delegate:delegateQueue:callMessageDelegate:].

+
+ + + +
+ (BOOL)isValid:(nonnull NSDictionary *)payload
+ + + +
+

Parameters

+ + + + + + + +
payload

Push notification payload.

+
+ + + + + + + + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Categories/TVOCallOptions+CallKit.html b/docs/6.10.1/Categories/TVOCallOptions+CallKit.html new file mode 100644 index 0000000..ad52cc0 --- /dev/null +++ b/docs/6.10.1/Categories/TVOCallOptions+CallKit.html @@ -0,0 +1,197 @@ + + + + + + TVOCallOptions(CallKit) Category Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallOptions(CallKit) Category Reference

+ + +
+ + + + +
Declared inTVOCallOptions.h
+ + + + +
+ +

Overview

+

CallKit specific additions.

+
+ + + + + +
+ + + + + + +
+
+ +

  uuid +

+ +
+
+ +
+ + +
+

The CallKit identifier for the Call. You must set this property if you are using CallKit to manage the Call.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) NSUUID *uuid
+ + + + + + + + + +
+

Discussion

+

This property allows you to provide your CallKit UUID as part of TVOConnectOptions or TVOAcceptOptions. +This is offered as a convenience if you wish to useTVOCallfor CallKit book keeping. The UUID set here will be reflected on any +TVOCall` instance created with these options.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Categories/TVOCallOptionsBuilder+CallKit.html b/docs/6.10.1/Categories/TVOCallOptionsBuilder+CallKit.html new file mode 100644 index 0000000..9b21e54 --- /dev/null +++ b/docs/6.10.1/Categories/TVOCallOptionsBuilder+CallKit.html @@ -0,0 +1,197 @@ + + + + + + TVOCallOptionsBuilder(CallKit) Category Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallOptionsBuilder(CallKit) Category Reference

+ + +
+ + + + +
Declared inTVOCallOptions.h
+ + + + +
+ +

Overview

+

CallKit specific additions.

+
+ + + + + +
+ + + + + + +
+
+ +

  uuid +

+ +
+
+ +
+ + +
+

The CallKit identifier for the Call. You must set this property if you are using CallKit to manage the Call.

+
+ + + +
@property (nonatomic, strong, nullable) NSUUID *uuid
+ + + + + + + + + +
+

Discussion

+

This property allows you to provide your CallKit UUID as part of TVOConnectOptions or TVOAcceptOptions. +This is offered as a convenience if you wish to useTVOCallfor CallKit book keeping. The UUID set here will be reflected on any +TVOCall` instance created with these options.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Categories/TwilioVoiceSDK+CallKitIntegration.html b/docs/6.10.1/Categories/TwilioVoiceSDK+CallKitIntegration.html new file mode 100644 index 0000000..09719de --- /dev/null +++ b/docs/6.10.1/Categories/TwilioVoiceSDK+CallKitIntegration.html @@ -0,0 +1,128 @@ + + + + + + TwilioVoiceSDK(CallKitIntegration) Category Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TwilioVoiceSDK(CallKitIntegration) Category Reference

+ + +
+ + + + +
Declared inTwilioVoice.h
+ + + + +
+ +

Overview

+

CallKit Audio Session Handling

+
+ + + + + + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOAcceptOptions.html b/docs/6.10.1/Classes/TVOAcceptOptions.html new file mode 100644 index 0000000..d9a9ba0 --- /dev/null +++ b/docs/6.10.1/Classes/TVOAcceptOptions.html @@ -0,0 +1,335 @@ + + + + + + TVOAcceptOptions Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAcceptOptions Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOCallOptions : NSObject
Declared inTVOAcceptOptions.h
+ + + + +
+ +

Overview

+

Accept options builder to use when accepting a call. For example:

+ +
 let acceptOptions = TVOAcceptOptions(callInvite: callInvite) { builder in
+     builder.uuid = callInvite.uuid
+     builder.enableIceGatheringOnAnyAddressPorts = true
+ }
+
+ let call = callInvite.accept(with: acceptOptions, delegate: self)
+
+
+ + + + + +
+ + + + + + +
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Use the TVOConnectOptions or TVOAcceptOptions builder method instead.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

+ optionsWithCallInvite: +

+ +
+
+ +
+ + +
+

Creates an instance of TVOAcceptOptions using a TVOCallInvite object.

+
+ + + +
+ (nonnull instancetype)optionsWithCallInvite:(nonnull TVOCallInvite *)callInvite
+ + + +
+

Parameters

+ + + + + + + +
callInvite

A TVOCallInvite object with the information to accept the incoming Call.

+
+ + + +
+

Return Value

+

An instance of TVOAcceptOptions.

+
+ + + + + + + + + + + +
+

Declared In

+

TVOAcceptOptions.h

+
+ + +
+
+
+ +

+ optionsWithCallInvite:block: +

+ +
+
+ +
+ + +
+

Creates an instance of TVOAcceptOptions using a TVOCallInvite object and a builder block.

+
+ + + +
+ (nonnull instancetype)optionsWithCallInvite:(nonnull TVOCallInvite *)callInvite block:(nonnull TVOAcceptOptionsBuilderBlock)block
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callInvite

A TVOCallInvite object with the information to accept the incoming call.

block

The builder block which will be used to configure the TVOAcceptOptions instance.

+
+ + + +
+

Return Value

+

An instance of TVOAcceptOptions.

+
+ + + + + + + + + + + +
+

Declared In

+

TVOAcceptOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOAcceptOptionsBuilder.html b/docs/6.10.1/Classes/TVOAcceptOptionsBuilder.html new file mode 100644 index 0000000..5767ed0 --- /dev/null +++ b/docs/6.10.1/Classes/TVOAcceptOptionsBuilder.html @@ -0,0 +1,201 @@ + + + + + + TVOAcceptOptionsBuilder Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAcceptOptionsBuilder Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOCallOptionsBuilder : NSObject
Declared inTVOAcceptOptions.h
+ + + + +
+ +

Overview

+

TVOAcceptOptionsBuilder is a builder class for TVOAcceptOptions.

Accept options builder to use when accepting a call. For example:

+ +
 let acceptOptions = TVOAcceptOptions(callInvite: callInvite) { builder in
+     builder.uuid = callInvite.uuid
+     builder.enableIceGatheringOnAnyAddressPorts = true
+ }
+
+ let call = callInvite.accept(with: acceptOptions, delegate: self)
+
+
+ + + + + +
+ + + + + + +
+
+ +

– init +

+ +
+
+ +
+ + +
+

You should not initialize TVOCallOptionsBuilder directly, use a TVOCallOptionsBuilderBlock instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOAudioCodec.html b/docs/6.10.1/Classes/TVOAudioCodec.html new file mode 100644 index 0000000..fd81afc --- /dev/null +++ b/docs/6.10.1/Classes/TVOAudioCodec.html @@ -0,0 +1,245 @@ + + + + + + TVOAudioCodec Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAudioCodec Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOAudioCodec.h
+ + + + +
+ +

Overview

+

TVOAudioCodec is the base class for all supported audio codecs.

+
+ + + + + +
+ + + + + + +
+
+ +

  name +

+ +
+
+ +
+ + +
+

The name of the audio codec.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *name
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOAudioCodec.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

TVOAudioCodec can not be created with init. To use an audio codec, use one of the TVOAudioCodec subclasses.

+
+ + + + + + + +
+

Declared In

+

TVOAudioCodec.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOAudioFormat.html b/docs/6.10.1/Classes/TVOAudioFormat.html new file mode 100644 index 0000000..dc2be94 --- /dev/null +++ b/docs/6.10.1/Classes/TVOAudioFormat.html @@ -0,0 +1,545 @@ + + + + + + TVOAudioFormat Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAudioFormat Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOAudioFormat.h
+ + + + +
+ +

Overview

+

TVOAudioFormat describes audio that is captured or rendered via a TVOAudioDevice. The class also offers +convenience methods to help interoperate with CoreAudio and size your audio buffers appropriately.

+
+ + + + + +
+ + + + + + +
+
+ +

  numberOfChannels +

+ +
+
+ +
+ + +
+

The number of channels in the audio stream.

+
+ + + +
@property (nonatomic, assign, readonly) size_t numberOfChannels
+ + + + + + + + + +
+

Discussion

+

Valid values for this property are either 1 or 2. Only mono and stereo LPCM audio are supported.

+
+ + + + + + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+ +

  sampleRate +

+ +
+
+ +
+ + +
+

The sample rate of the audio stream in units of frequency (Hz), i.e. the number of audio samples per second.

+
+ + + +
@property (nonatomic, assign, readonly) uint32_t sampleRate
+ + + + + + + + + +
+

Discussion

+

Valid values for this property are 8000, 16000, 24000, 32000, 44100 and 48000 Hz.

+
+ + + + + + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+ +

  framesPerBuffer +

+ +
+
+ +
+ + +
+

The maximum number of frames contained in a single audio buffer.

+
+ + + +
@property (nonatomic, assign, readonly) size_t framesPerBuffer
+ + + + + + + + + +
+

Discussion

+

The underlying media engine operates on 20 millisecond slices of LPCM audio. Ideally, your audio device +should capture and render in exactly 10 millisecond buffers. However, in many cases this is not possible on iOS. +If you’re using AudioUnits to produce or consume audio you should use AVAudioSession.preferredIOBufferDuration +to request appropriately sized buffers.

+
+ + + + + + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t use init to create TVOAudioFormat.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Use initWithChannels:sampleRate:framesPerBuffer: instead.

+
+ + + + + + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+ +

– initWithChannels:sampleRate:framesPerBuffer: +

+ +
+
+ +
+ + +
+

Initializes an instance of TVOAudioFormat.

+
+ + + +
- (nullable instancetype)initWithChannels:(size_t)channels sampleRate:(uint32_t)sampleRate framesPerBuffer:(size_t)framesPerBuffer
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
channels

The number of channels in the audio stream.

sampleRate

The sample rate of the audio stream.

framesPerBuffer

The maximum number of frames contained in a single audio stream buffer.

+
+ + + +
+

Return Value

+

An instance of TVOAudioFormat, which is immutable once created. Returns nil if one or more parameters +passed to the initializer are not supported by the SDK.

+
+ + + + + +
+

Discussion

+

TVOAudioFormat describes signed 16-bit LPCM audio. This is the working format used to interoperate +between TVOAudioDevice and the underlying media engine. Please note that the media engine may be forced to perform +a format conversion depending on the codecs used for sending and receiving audio. For example, ISAC accepts mono +32 kHz audio while OPUS accepts mono or stereo at 48 kHz.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+ +

– bufferSize +

+ +
+
+ +
+ + +
+

Computes the required buffer size for a given audio format.

+
+ + + +
- (size_t)bufferSize
+ + + + + +
+

Return Value

+

The required buffer size, in bytes, to work with a given TVOAudioFormat.

+
+ + + + + +
+

Discussion

+

This helper method can be used to size audio buffers appropriately.

+
+ + + + + + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+ +

– streamDescription +

+ +
+
+ +
+ + +
+

Generates an audio stream description which can be used with CoreAudio.

+
+ + + +
- (AudioStreamBasicDescription)streamDescription
+ + + + + +
+

Return Value

+

An AudioStreamBasicDescription which reflects the properties of the TVOAudioFormat being queried.

+
+ + + + + +
+

Discussion

+

AudioStreamBasicDescription can be used to describe many different constant bitrate audio formats. +Since TVOAudioFormat defines only signed 16-bit LPCM audio there is a well known transformation between the two.

+
+ + + + + + + +
+

Declared In

+

TVOAudioFormat.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOBaseTrackStats.html b/docs/6.10.1/Classes/TVOBaseTrackStats.html new file mode 100644 index 0000000..93638fb --- /dev/null +++ b/docs/6.10.1/Classes/TVOBaseTrackStats.html @@ -0,0 +1,417 @@ + + + + + + TVOBaseTrackStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOBaseTrackStats Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOBaseTrackStats.h
+ + + + +
+ +

Overview

+

TVOBaseTrackStats represents stats common to both local and remote tracks.

+
+ + + + + +
+ + + + + + +
+
+ +

  trackId +

+ +
+
+ +
+ + +
+

The Tracks’s identifier. This value uniquely identifies the Track within the scope of a Call.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *trackId
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOBaseTrackStats.h

+
+ + +
+
+
+ +

  packetsLost +

+ +
+
+ +
+ + +
+

Total number of RTP packets lost for this SSRC since the beginning of the reception.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger packetsLost
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOBaseTrackStats.h

+
+ + +
+
+
+ +

  codec +

+ +
+
+ +
+ + +
+

Name of codec used for this track.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *codec
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOBaseTrackStats.h

+
+ + +
+
+
+ +

  ssrc +

+ +
+
+ +
+ + +
+

The SSRC identifier of the source.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *ssrc
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOBaseTrackStats.h

+
+ + +
+
+
+ +

  timestamp +

+ +
+
+ +
+ + +
+

Unix timestamp in milliseconds

+
+ + + +
@property (nonatomic, assign, readonly) CFTimeInterval timestamp
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOBaseTrackStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Base track stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVOBaseTrackStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCall.html b/docs/6.10.1/Classes/TVOCall.html new file mode 100644 index 0000000..d4b78eb --- /dev/null +++ b/docs/6.10.1/Classes/TVOCall.html @@ -0,0 +1,1299 @@ + + + + + + TVOCall Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCall Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCall.h
+ + + + +
+ +

Overview

+

The TVOCall class represents a signaling and media session between the host device and Twilio infrastructure. + Calls can represent an outbound call initiated from the SDK via [TwilioVoiceSDK connectWithAccessToken:delegate:] + or an incoming call accepted via a [TVOCallInvite acceptWithDelegate:]. Devices that initiate an outbound + call represent the caller and devices that receive a TVOCallInvite represent the callee.

+ +

The lifecycle of a call differs for the caller and the callee. Making or accepting a call requires a TVOCallDelegate + which receives call state changes defined in TVOCallState. The TVOCallState can be obtained at any time from + the state property of TVOCall.

+ +

The caller callback behavior is affected by the answerOnBridge flag provided in the Dial verb of your TwiML application + associated with this client. If the answerOnBridge flag is false, which is the default, the [TVOCallDelegate callDidConnect:] + callback will be emitted immediately after [TVOCallDelegate callDidStartRinging:]. If the answerOnBridge flag + is true this will cause the call to emit the [TVOCallDelegate callDidConnect:] callback only until the call + is answered. + See Answer on Bridge documentation for + more details on how to use it with the Dial TwiML verb.

+ +

The following table provides expected call sequences for common scenarios from the perspective of the caller:

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ScenarioTVOCallDelegate CallbacksTVOCallState Transitions
A call is initiated and the caller disconnects before reaching the ringing state. +
    +
  1. [TVOCallDelegate call:didDisconnectWithError:]
  2. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateDisconnected
  4. +
+
A call is initiated, reaches the ringing state and the caller disconnects before being connected. +
    +
  1. [TVOCallDelegate callDidStartRinging:]
  2. +
  3. [TVOCallDelegate call:didDisconnectWithError:]
  4. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateRinging
  4. +
  5. TVOCallStateDisconnected
  6. +
+
A call is initiated and the call fails to connect before reaching the ringing state. +
    +
  1. [TVOCallDelegate call:didFailToConnectWithError:]
  2. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateDisconnected
  4. +
+
A call is initiated and the call fails to connect after reaching the ringing state. +
    +
  1. [TVOCallDelegate callDidStartRinging:]
  2. +
  3. [TVOCallDelegate call:didFailToConnectWithError:]
  4. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateRinging
  4. +
  5. TVOCallStateDisconnected
  6. +
+
A call is initiated, becomes connected, and ends for one of the following reasons: +
    +
  • The caller disconnects the call
  • +
  • The callee disconnects the call
  • +
  • An on-device error occurs. (eg. network loss)
  • +
  • An error between the caller and callee occurs. (eg. media connection lost or Twilio infrastructure failure)
  • +
+
+
    +
  1. [TVOCallDelegate callDidStartRinging:]
  2. +
  3. [TVOCallDelegate callDidConnect:]
  4. +
  5. [TVOCallDelegate call:didDisconnectWithError:]
  6. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateRinging
  4. +
  5. TVOCallStateConnected
  6. +
  7. TVOCallStateDisconnected
  8. +
+

+ +

The following table provides expected call sequences for common scenarios from the callee perspective:

+ +

+ + + + + + + + + + + + + + + + + + +
ScenarioTVOCallDelegate CallbacksTVOCallState Transitions
A TVOCallInvite is accepted and the callee disconnects the call before being connected. +
    +
  1. [TVOCallDelegate call:didDisconnectWithError:]
  2. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateDisconnected
  4. +
+
A TVOCallInvite is accepted and the call fails to connect. +
    +
  1. [TVOCallDelegate call:didFailToConnectWithError:]
  2. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateDisconnected
  4. +
+
A TVOCallInvite is accepted, becomes connected, and ends for one of the following reasons: +
    +
  • The caller disconnects the call
  • +
  • The callee disconnects the call
  • +
  • An on-device error occurs. (eg. network loss)
  • +
  • An error between the caller and callee occurs. (eg. media connection lost or Twilio infrastructure failure)
  • +
+
+
    +
  1. [TVOCallDelegate callDidStartRinging:]
  2. +
  3. [TVOCallDelegate callDidConnect:]
  4. +
  5. [TVOCallDelegate call:didDisconnectWithError:]
  6. +
+
+
    +
  1. TVOCallStateConnecting
  2. +
  3. TVOCallStateRinging
  4. +
  5. TVOCallStateConnected
  6. +
  7. TVOCallStateDisconnected
  8. +
+

+ +

It is important to call the [TVOCall disconnect] method to terminate the call. Not calling [TVOCall disconnect] + results in leaked native resources and may lead to an out-of-memory crash. If the call is disconnected by the + caller, callee, or Twilio, the SDK will automatically free native resources. However, [TVOCall disconnect] is + an idempotent operation so it is best to call this method when you are certain your application no longer needs + the object.

+ +

It is strongly recommended that <TVOCall> instances are created and accessed from a single dispatch queue. + Accessing a <TVOCall> instance from multiple queues may cause synchronization problems. TVOCallDelegate methods + are called on the main dispatch queue by default or on the delegateQueue provided to TVOConnectOptions + or TVOAcceptOptions upon initiating or accepting a call.

+ +

An ongoing call will automatically switch to a more preferred network type if one becomes available. + The following are the network types listed in preferred order: ETHERNET, LOOPBACK, WIFI, VPN, and CELLULAR. + For example, if a WIFI network becomes available whilst in a call that is using CELLULAR data, the call will automatically + switch to using the WIFI network.

+ +

Media and signaling reconnections are handled independently. As a result, it is possible that a single network change + event produces consecutive [TVOCallDelegate call:isReconnectingWithError:] and [TVOCallDelegate callDidReconnect:] + callbacks. For example, a network change may result in the following callback sequence.

+ +
    +
  • [TVOCallDelegate call:isReconnectingWithError:] with error.code TVOErrorSignalingConnectionDisconnectedError.
  • +
  • [TVOCallDelegate callDidReconnect:].
  • +
  • [TVOCallDelegate call:isReconnectingWithError:] with error.code TVOErrorMediaConnectionError.
  • +
  • [TVOCallDelegate callDidReconnect:].
  • +
+ + +

Note that the SDK will always raise a [TVOCallDelegate call:isReconnectingWithError:] callback followed by a + [TVOCallDelegate callDidReconnect:] callback when reconnection is successful.

+ +

During the reconnecting state operations such as [TVOCall setOnHold:], [TVOCall setMuted:], [TVOCall sendDigits:] will result in + undefined behavior. When building applications, the recommended practice is to show a UI update when the Call enters reconnecting + regardless of the cause, and then clear the UI update once the call has reconnected or disconnected.

+ +

Insights

+ +

The following connection events are reported to Insights during a call:

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
connectionmutedAudio input of the call is muted by calling [TVOCall setMuted:] with YES.3.0.0-beta2
connectionunmutedAudio input of the call is unmuted by calling [TVOCall setMuted:] with NO.3.0.0-beta2
connectionaccepted-by-remoteServer returns an answer to the Client’s offer over the signaling channel.3.0.0-beta2
connectionringingCall state transitions to TVOCallStateRinging.3.0.0-beta2
connectionconnectedCall state transitions to TVOCallStateConnected.3.0.0-beta2
connectiondisconnect-called[TVOCall disconnect] is called.3.0.0-beta2
connectiondisconnected-by-localCall disconnected as a result of calling [TVOCall disconnect]. Call transitions to TVOCallStateDisconnected.3.0.0-beta2
connectiondisconnected-by-remoteCall is disconnected by the remote. Call transitions to TVOCallStateDisconnected.3.0.0-beta2
connectionholdCall is on hold by calling [TVOCall setOnHold:] with YES.3.0.0-beta2
connectionunholdCall is on unhold by calling [TVOCall setOnHold:] with NO.3.0.0-beta2
connectionerrorError description. Call state transitions to TVOCallStateDisconnected.3.0.0-beta2
connectionreconnectingThe Call is attempting to recover from a signaling or media connection interruption3.0.0-beta3
connectionreconnectedThe Call has recovered from a signaling or media connection interruption3.0.0-beta3

+ +

The following peer connection state events are reported to Insights during a call:

+ +

+ + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
pc-connection-statenewThe PeerConnection ice connection state changed to “new”.6.0.0
pc-connection-stateconnectingThe PeerConnection state changed to “connecting”.6.0.0
pc-connection-stateconnectedThe PeerConnection state changed to “connected”.6.0.0
pc-connection-statedisconnectedThe PeerConnection state changed to “disconnected”.6.0.0
pc-connection-statefailedThe PeerConnection state changed to “failed”.6.0.0
pc-connection-stateclosedThe PeerConnection state changed to “closed”.6.0.0

+ +

The following ICE candidate event is reported to Insights during a call:

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
ice-candidateice-candidateICE candidate events are raised when OnIceCandidate is called on the PeerConnection4.1.0
ice-candidateselected-ice-candidate-pairThe active local ICE candidate and remote ICE candidate6.0.0

+ +

The following ICE connection state events are reported to Insights during a call:

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
ice-connection-statenewThe PeerConnection ice connection state changed to “new”.3.0.0-beta3
ice-connection-statecheckingThe PeerConnection ice connection state changed to “checking”.3.0.0-beta3
ice-connection-stateconnectedThe PeerConnection ice connection state changed to “connected”.3.0.0-beta3
ice-connection-statecompletedThe PeerConnection ice connection state changed to “completed”.3.0.0-beta3
ice-connection-stateclosedThe PeerConnection ice connection state changed to “closed”.3.0.0-beta3
ice-connection-statedisconnectedThe PeerConnection ice connection state changed to “disconnected”.3.0.0-beta3
ice-connection-statefailedThe PeerConnection ice connection state changed to “failed”.3.0.0-beta3

+ +

The following ICE gathering state events are reported to Insights during a call:

+ +

+ + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
ice-gathering-statenewThe PeerConnection ice gathering state changed to “new”.3.0.0-beta3
ice-gathering-stategatheringThe PeerConnection ice gathering state changed to “checking”.3.0.0-beta3
ice-gathering-statecompleteThe PeerConnection ice gathering state changed to “connected”.3.0.0-beta3

+ +

The following signaling state events are reported to Insights during a call:

+ +

+ + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
signaling-statestableThe PeerConnection signaling state changed to “stable”.3.0.0-beta3
signaling-statehave-local-offerThe PeerConnection signaling state changed to “have-local-offer”.3.0.0-beta3
signaling-statehave-remote-offersThe PeerConnection signaling state changed to “have-remote-offers”.3.0.0-beta3
signaling-statehave-local-pranswerThe PeerConnection signaling state changed to “have-local-pranswer”.3.0.0-beta3
signaling-statehave-remote-pranswerThe PeerConnection signaling state changed to “have-remote-pranswer”.3.0.0-beta3
signaling-stateclosedThe PeerConnection signaling state changed to “closed”.3.0.0-beta3

+ +

The following network quality warning and network quality warning cleared events are reported to Insights during a call:

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
network-quality-warning-raisedhigh-jitterThree out of last five jitter samples exceed 30 ms.3.0.0-beta3
network-quality-warning-clearedhigh-jitterhigh-jitter warning cleared if last five jitter samples are less than 30 ms.3.0.0-beta3
network-quality-warning-raisedlow-mosThree out of last five mos samples are lower than 3.5.3.0.0-beta3
network-quality-warning-clearedlow-moslow-mos cleared if last five mos samples are higher than 3.5.3.0.0-beta3
network-quality-warning-raisedhigh-packets-lost-fractionThe average packet loss > 3% in last 7 samples.3.0.0-beta3
network-quality-warning-clearedhigh-packets-lost-fractionhigh-packets-lost-fraction cleared if average packet loss <= 1% in last 7 samples.3.0.0-beta3
network-quality-warning-raisedhigh-rttThree out of last five RTT samples show greater than 400 ms.3.0.0-beta3
network-quality-warning-clearedhigh-rtthigh-rtt warning cleared if last five RTT samples are lower than 400 ms.3.0.0-beta3

+ +

The following audio level warning and audio level warning cleared events are reported to Insights during a call

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
audio-level-warning-raisedconstant-audio-input-levelThe standard deviation of audio input levels for last 10 samples is less than or equals 1% of the maximum possible audio input level (32767) i.e. 327.67 and the call is not in the muted state3.0.0-beta3
audio-level-warning-clearedconstant-audio-input-levelconstant-audio-input-level warning cleared if the standard deviation of audio input levels for last 10 samples is greater than 3% of the maximum possible audio input level.3.0.0-beta3

+ +

The following feedback events are reported to Insights during a call:

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
feedbackreceived[TVOCall postFeedback:issue:] is called if the score is not TVOCallFeedbackScoreNotReported or the issue type is not TVOCallFeedbackIssueNotReported.3.0.0-beta3
feedbackreceived-none[TVOCall postFeedback:issue:] is called if the score is TVOCallFeedbackScoreNotReported and the issue type is TVOCallFeedbackIssueNotReported.3.0.0-beta3

+
+ + + + + +
+ + + + +

Properties

+ +
+
+ +

  from +

+ +
+
+ +
+ + +
+

From value of the Call.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) NSString *from
+ + + + + + + + + +
+

Discussion

+

This may be nil if the call object was created by calling the +[TwilioVoiceSDK connectWithOptions:delegate:] method or if the call object was +created by calling the [TVOCallInvite acceptWithOptions:delegate:] method +where the from value of the TVOCallInvite object was also nil.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

  to +

+ +
+
+ +
+ + +
+

To value of the Call.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) NSString *to
+ + + + + + + + + +
+

Discussion

+

This may be nil if the call object was created by calling the +[TwilioVoiceSDK connectWithOptions:delegate:] method.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

  sid +

+ +
+
+ +
+ + +
+

A server assigned identifier (SID) for the Call.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) NSString *sid
+ + + + + + + + + +
+

Discussion

+

A SID is a globally unique identifier which can be very useful for debugging Call traffic. The Call sid +may be nil until the call is in TVOCallStateRinging state.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

  muted +

+ +
+
+ +
+ + +
+

Property that defines if the Call is muted.

+
+ + + +
@property (nonatomic, assign, getter=isMuted) BOOL muted
+ + + + + + + + + +
+

Discussion

+

The Voice SDK’s media engine will start sending silent audio frames when the Call is muted. Setting the +property will only take effect if the state is TVOCallStateConnected.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

  state +

+ +
+
+ +
+ + +
+

The current state of the Call.

+
+ + + +
@property (nonatomic, assign, readonly) TVOCallState state
+ + + + + + + + + +
+

Discussion

+

All TVOCall instances start in TVOCallStateConnecting and end in TVOCallStateDisconnected. +After creation, a Call will transition to TVOCallStateConnected if successful or TVOCallStateDisconnected if the +connection attempt fails.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

  onHold +

+ +
+
+ +
+ + +
+

Property that defines if the Call is on hold.

+
+ + + +
@property (nonatomic, getter=isOnHold) BOOL onHold
+ + + + + + + + + +
+

Discussion

+

If the Call is on hold, The Voice SDK’s media engine will send silent audio frames to the remote party, +and remote party’s audio playback will be disabled.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

  callQualityWarnings +

+ +
+
+ +
+ + +
+

The current set of Call quality warnings.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) NSSet *callQualityWarnings
+ + + + + + + + + +
+

Discussion

+

Values in the <NSSet> are <NSNumber> with values of TVOCallQualityWarning.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+
+ + + +

General Call Actions

+ +
+
+ +

– disconnect +

+ +
+
+ +
+ + +
+

Disconnects the Call.

+
+ + + +
- (void)disconnect
+ + + + + + + + + +
+

Discussion

+

Calling this method on a TVOCall that is in the state TVOCallStateDisconnected has no effect.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

– sendDigits: +

+ +
+
+ +
+ + +
+

Send a string of digits.

+
+ + + +
- (void)sendDigits:(nonnull NSString *)digits
+ + + +
+

Parameters

+ + + + + + + +
digits

A string of characters to be played. Valid values are ‘0’ - ‘9’, ‘*’, ‘#’, and ‘w’. +Each ‘w’ will cause a 500 ms pause between digits sent.

+
+ + + + + + + +
+

Discussion

+

Calling this method on a TVOCall that is not in the state TVOCallStateConnected has no effect.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

– getStatsWithBlock: +

+ +
+
+ +
+ + +
+

Retrieve stats for the audio track.

+
+ + + +
- (void)getStatsWithBlock:(nonnull TVOCallGetStatsBlock)block
+ + + +
+

Parameters

+ + + + + + + +
block

The block to be invoked when the stats are available.

+
+ + + + + + + +
+

Discussion

+

The call needs to be in the state TVOCallStateConnected for stats reports to be delivered.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

– postFeedback:issue: +

+ +
+
+ +
+ + +
+

Posts the feedback collected for this Call to Twilio.

+
+ + + +
- (void)postFeedback:(TVOCallFeedbackScore)score issue:(TVOCallFeedbackIssue)issue
+ + + +
+

Parameters

+ + + + + + + + + + + + +
score

The quality score of the Call.

issue

The issue associated with the Call.

+
+ + + + + + + +
+

Discussion

+

If TVOCallFeedbackScoreNotReported and TVOCallFeedbackIssueNotReported are passed, Twilio will report feedback was not available for this call.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

– sendMessage: +

+ +
+
+ +
+ + +
+

Sends a user-defined message to the endpoints that subscribe to the user-defined messages of this call.

+
+ + + +
- (nonnull NSString *)sendMessage:(nonnull TVOCallMessage *)callMessage
+ + + +
+

Parameters

+ + + + + + + +
callMessage

The TVOCallMessage object with the message and configuration.

+
+ + + +
+

Return Value

+

A unique identifier for tracking the message.

+
+ + + + + +
+

Discussion

+

The result will be raised to the TVOCallMessageDelegate provided in the TVOCallOptions on the same +dispatch queue used for connecting the call. Dispatch main queue will be used if not specified.

Sending a call message with content size that exceeds 10 KB or sending more than 10 call messages +within one minute will result in the [TVOCallMessageDelegate call:didFailToSendMessage:error] callback.

A call message with content that does not match the content type will not result in the [TVOCallMessageDelegate call:didFailToSendMessage:error] +callback but will generate an error in your Twilio developer console. For example, a call message with content type “application/json” but +with the content “Hello World”, which is not a valid JSON object, will result in such error.

A subscription with a user-defined message callback is required prior to calling this method. Calling the +[TVOCall sendMessage:] method without subscribing first will result in an error in your Twilio developer console.

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Call cannot be instantiated directly. Use [TVOCallInvite acceptWithOptions:delegate:] and [TwilioVoiceSDK connectWithOptions:delegate:].

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCallInvite.html b/docs/6.10.1/Classes/TVOCallInvite.html new file mode 100644 index 0000000..83b09a7 --- /dev/null +++ b/docs/6.10.1/Classes/TVOCallInvite.html @@ -0,0 +1,1011 @@ + + + + + + TVOCallInvite Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallInvite Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCallInvite.h
+ + + + +
+ +

Overview

+

The TVOCallInvite object represents an incoming Call Invite. TVOCallInvites are not created directly; +they are returned by the [TVONotificationDelegate callInviteReceived:] delegate method.

+
+ + + + + +
+ + + + +

Properties

+ +
+
+ +

  from +

+ +
+
+ +
+ + +
+

From value of the Call Invite.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *from
+ + + + + + + + + +
+

Discussion

+

This may be nil if the notification passed in [TwilioVoiceSDK handleNotification:delegate:delegateQueue:callMessageDelegate:] +method does not have valid information in it.

+
+ + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

  to +

+ +
+
+ +
+ + +
+

To value of the Call Invite.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *to
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

  callSid +

+ +
+
+ +
+ + +
+

A server assigned identifier (SID) for the incoming Call.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *callSid
+ + + + + + + + + +
+

Discussion

+

Accepting a TVOCallInvite yields a TVOCall which inherits this SID.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

  customParameters +

+ +
+
+ +
+ + +
+

Custom parameters embedded in the VoIP notification payload.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) NSDictionary<NSString*NSString*> *customParameters
+ + + + + + + + + +
+

Discussion

+

The custom parameters will be received in the notification payload with the + twi_params key and in query-string format, e.g. key1=value1&key2=value2. To receive custom + parameters on the mobile client, add <Parameter> tags into the <Client> tag in the TwiML response.

+ +
<?xml version="1.0" encoding="UTF-8"?>
+<Response>
+  <Dial callerId="client:alice">
+    <Client>
+      <Identity>bob</Identity>
+      <Parameter name="caller_first_name" value="alice" />
+      <Parameter name="caller_last_name" value="smith" />
+    </Client>
+  </Dial>
+</Response>
+
+ +

The customParameters value would be:

+ +
{
+    "caller_first_name" = "alice";
+    "caller_last_name" = "smith";
+}
+
+ +

Note: While the value field passed into <Parameter> gets URI encoded by the Twilio infrastructure + and URI decoded when parsed during the creation of a TVOCallInvite, the name does not get URI encoded + or decoded. As a result, it is recommended that the name field only use ASCII characters.

+
+ + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

  callerInfo +

+ +
+
+ +
+ + +
+

The TVOCallerInfo that represents SHAKEN/STIR status information about the caller.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) TVOCallerInfo *callerInfo
+ + + + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+
+ + + +

Call Invite Actions

+ +
+
+ +

– acceptWithDelegate: +

+ +
+
+ +
+ + +
+

Accepts the incoming Call Invite.

+
+ + + +
- (nonnull TVOCall *)acceptWithDelegate:(nonnull id<TVOCallDelegate>)delegate
+ + + +
+

Parameters

+ + + + + + + +
delegate

A TVOCallDelegate to receive Call state updates.

+
+ + + +
+

Return Value

+

A TVOCall object.

+
+ + + + + +
+

Discussion

+

This method is guaranteed to return a TVOCall object. It’s possible for the returned Call to either succeed or fail to connect.

+ +

The TVOCallDelegate will receive the Call state update callbacks. The callbacks are listed here.

+ +

+ + + + + + + + + + + + + + + +
Callback NameDescriptionSince version
call:didFailToConnectWithError The call failed to connect. An NSError object provides details of the root cause.3.0.0-preview1
callDidStartRinging: This callback should not be invoked when calling [TVOCallInvite acceptWithDelegate:].3.0.0-preview2
callDidConnect: The Call has connected.3.0.0-preview1
call:didDisconnectWithError The Call was disconnected. If the Call ends due to an error the NSError is non-null. If the call ends normally NSError is nil.3.0.0-preview1

+ +

If accept fails, call:didFailToConnectWithError: or call:didDisconnectWithError: callback is raised with an NSError object. [error localizedDescription], + [error localizedFailureReason] and [error code] provide details of the failure.

+ +

If [TVOCallInvite acceptWithDelegate:] fails due to an authentication error, the SDK receives the following error.

+ +

+ + + + + + +
Authentication ErrorsError CodeDescription
TVOErrorAuthFailureCodeError20151Twilio failed to authenticate the client

+ +

If any connection fails because of any other error then the SDK will receive one of the following errors.

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Connection ErrorsError CodeDescription
TVOErrorConnectionError31005Connection error
TVOErrorCallCancelledError31008Call Cancelled
TVOErrorTransportError31009Transport error
TVOErrorAuthorizationError31201Authorization error
TVOErrorForbiddenError31403Forbidden
TVOErrorRequestTimeoutError31408Request Timeout
TVOErrorCallDoesNotExistError31481Call/Transaction Does Not Exist
TVOErrorRequestTerminatedError31487Request Terminated
TVOErrorInternalServerError31500Internal Server Error
TVOErrorBadGatewayError31502Bad Gateway
TVOErrorServiceUnavailableError31503Service Unavailable
TVOErrorGatewayTimeoutError31504Gateway Timeout
TVOErrorDNSResolutionError31530DNS Resolution Error
TVOErrorDoesNotExistAnywhereError31604Does Not Exist Anywhere
TVOErrorSignalingConnectionDisconnectedError53001Signaling connection disconnected
TVOErrorMediaClientLocalDescFailedError53400Client is unable to create or apply a local media description
TVOErrorMediaServerLocalDescFailedError53401Server is unable to create or apply a local media description
TVOErrorMediaClientRemoteDescFailedError53402Client is unable to apply a remote media description
TVOErrorMediaServerRemoteDescFailedError53403Server is unable to apply a remote media description
TVOErrorMediaNoSupportedCodecError53404No supported codec
TVOErrorMediaConnectionError53405Media connection failed
TVOMediaDtlsTransportFailedErrorCode53407Media connection failed due to DTLS handshake failure

+ +

Insights

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
connectionaccepted-by-localCall invite accepted3.0.0-beta2
settingscodecnegotiated selected codec is received and remote SDP is set5.1.1

+ +

If connection fails then an error event will be published.

+ +

+ + + + + + +
Group NameEvent NameDescriptionSince version
connectionerrorerror description3.0.0-beta2

+ +

An example of using the acceptWithDelegate: API

+ +
@interface CallViewController () <TVOCallDelegate, TVONotificationDelegate, ... >
+
+// property declarations
+
+@end
+
+@implementation CallViewController
+
+// ViewController setup and other code ...
+
+- (void)callInviteReceived:(TVOCallInvite *)callInvite {
+    self.call = [callInvite acceptWithDelegate:self];
+}
+
+#pragma mark - TVOCallDelegate
+
+- (void)call:(TVOCall *)call didFailToConnectWithError:(NSError *)error {
+    NSLog("Failed to Connect the Call: %@\n\t  - reason: %@", [error localizedDescription], [error localizedFailureReason]);
+}
+
+- (void)call:(TVOCall *)call didDisconnectWithError:(NSError *)error {
+    if (error) {
+        NSLog(@"Call disconnected with error: %@", error);
+    } else {
+        NSLog(@"Call disconnected");
+    }
+}
+
+- (void)callDidConnect:(TVOCall *)call {
+    NSLog(@"Call connected.");
+}
+
+@end
+
+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

– acceptWithOptions:delegate: +

+ +
+
+ +
+ + +
+

Accepts the incoming Call Invite.

+
+ + + +
- (nonnull TVOCall *)acceptWithOptions:(nonnull TVOAcceptOptions *)options delegate:(nonnull id<TVOCallDelegate>)delegate
+ + + +
+

Parameters

+ + + + + + + + + + + + +
options

An accept options.

delegate

A TVOCallDelegate to receive Call state updates.

+
+ + + +
+

Return Value

+

A TVOCall object.

+
+ + + + + +
+

Discussion

+

This method is guaranteed to return a TVOCall object. It’s possible for the returned Call to either succeed or fail to connect.

+ +

The TVOCallDelegate will receive the Call state update callbacks. The callbacks are same as acceptWithDelegate: API.

+ +

If accept fails, call:didFailToConnectWithError: or call:didDisconnectWithError: callback is raised with an NSError object. [error localizedDescription], [error localizedFailureReason] and [error code] provide details of the failure. The error codes are same as acceptWithDelegate: API.

+ +

Insights

+ +

+ + + + + + +
Group NameEvent NameDescriptionSince version
connectionaccepted-by-localCall invite accepted3.0.0-beta2

+ +

If connection fails then an error event will be published.

+ +

+ + + + + + +
Group NameEvent NameDescriptionSince version
connectionerrorerror description3.0.0-beta2

+ +

An example of using the acceptWithOptions:delegate: API

+ +
@interface CallViewController () <TVOCallDelegate, TVONotificationDelegate, ... >
+
+// property declarations
+
+@end
+
+@implementation CallViewController
+
+// ViewController setup and other code ...
+
+- (void)callInviteReceived:(TVOCallInvite *)callInvite {
+    TVOAcceptOptions *options = [TVOAcceptOptions optionsWithCallInvite:callInvite
+                                                                  block:^(TVOAcceptOptionsBuilder *builder) {
+        builder.uuid = callInvite.uuid;
+    }];
+    self.call = [callInvite acceptWithOptions:options delegate:self];
+}
+
+#pragma mark - TVOCallDelegate
+
+- (void)call:(TVOCall *)call didFailToConnectWithError:(NSError *)error {
+    NSLog("Failed to Connect the Call: %@\n\t  - reason: %@", [error localizedDescription], [error localizedFailureReason]);
+}
+
+- (void)call:(TVOCall *)call didDisconnectWithError:(NSError *)error {
+    if (error) {
+        NSLog(@"Call disconnected with error: %@", error);
+    } else {
+        NSLog(@"Call disconnected");
+    }
+}
+
+- (void)callDidConnect:(TVOCall *)call {
+    NSLog(@"Call connected.");
+}
+
+@end
+
+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

– reject +

+ +
+
+ +
+ + +
+

Rejects the incoming Call Invite.

+ +

Insights

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
connectionrejected-by-localCall invite rejected3.0.0-preview5
connectionerrorThe event will be sent with code 31600 and message “Busy Everywhere : SIP/2.0 600 Call Rejected”3.1.0

+
+ + + +
- (void)reject
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

– sendMessage: +

+ +
+
+ +
+ + +
+

Sends a user-defined message to the endpoints that subscribe to the user-defined messages of this Call Invite.

+
+ + + +
- (nonnull NSString *)sendMessage:(nonnull TVOCallMessage *)callMessage
+ + + +
+

Parameters

+ + + + + + + +
callMessage

The TVOCallMessage object with the message and configuration.

+
+ + + +
+

Return Value

+

A unique identifier for tracking the message.

+
+ + + + + +
+

Discussion

+

The result will be raised to the TVOCallMessageDelegate provided in the +[TwilioVoiceSDK handleNotification:delegate:delegateQueue:callMessageDelegate:] on the same +dispatch queue. Dispatch main queue will be used if not specified.

Sending a call message with content size that exceeds 10 KB or sending more than 10 call messages +within one minute will result in the [TVOCallMessageDelegate call:didFailToSendMessage:error] callback.

A call message with content that does not match the content type will not result in the +[TVOCallMessageDelegate call:didFailToSendMessage:error] callback but will generate an error in your +Twilio developer console. For example, a call message with content type “application/json” but with the content “Hello World”, +which is not a valid JSON object, will result in such error.

A subscription with a user-defined message callback is required prior to calling this method. Calling the +[TVOCallInvite sendMessage:] method without subscribing first will result in an error in your Twilio developer console.

This method returns an empty string and will not send out the Call Message if the Call Invite has been accepted or rejected.

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Call Invites cannot be instantiated directly. See TVONotificationDelegate instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallInvite.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCallMessage.html b/docs/6.10.1/Classes/TVOCallMessage.html new file mode 100644 index 0000000..e994aec --- /dev/null +++ b/docs/6.10.1/Classes/TVOCallMessage.html @@ -0,0 +1,463 @@ + + + + + + TVOCallMessage Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallMessage Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCallMessage.h
+ + + + +
+ +

Overview

+

Message builder to use when using the [TVOCall sendMessage:] method. Example:

+ +
 let messageContent = "{\"foo\": \"bar\"}"
+ let callMessage = CallMessage(content: messageContent)
+
+ let voiceEventSid = call.sendMessage(callMessage)
+
+
+ + + + + +
+ + + + + + +
+
+ +

  messageType +

+ +
+
+ +
+ + +
+

The type for the message.

+
+ + + +
@property (nonatomic, readonly, assign) TVOCallMessageType messageType
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

  contentType +

+ +
+
+ +
+ + +
+

The MIME type for the message.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *contentType
+ + + + + + + + + +
+

Discussion

+

Currently the only supported type is “application/json”, which is also the default value.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

  content +

+ +
+
+ +
+ + +
+

The content body of the message.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *content
+ + + + + + + + + +
+

Discussion

+

The format of the message body must match the content type. The size limit of the message content +is 10 KB. [TVOCall sendMessage:] with message content that exceeds the size limitation will result in the +[TVOCallMessageDelegate call:didFailToSendMessage:error] callback.

A call message with content that does not match the content type will not result in the [TVOCallMessageDelegate call:didFailToSendMessage:error] +callback but will generate an error in your Twilio developer console. For example, a call message with content type “application/json” but +with the content “Hello World”, which is not a valid JSON object, will result in such error.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

  voiceEventSid +

+ +
+
+ +
+ + +
+

The unique identifier of the message.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *voiceEventSid
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Use the TVOCallMessage builder method instead.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

+ messageWithContent: +

+ +
+
+ +
+ + +
+

Creates TVOCallMessage with the message content.

+
+ + + +
+ (nonnull instancetype)messageWithContent:(nonnull NSString *)content
+ + + +
+

Parameters

+ + + + + + + +
content

The message content.

+
+ + + +
+

Return Value

+

An instance of TVOCallMessage.

+
+ + + + + +
+

Discussion

+

Default values will be used for both the message type (TVOCallMessageUserDefinedMessage) and the content type (application/json).

+
+ + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCallMessageBuilder.html b/docs/6.10.1/Classes/TVOCallMessageBuilder.html new file mode 100644 index 0000000..f52fe75 --- /dev/null +++ b/docs/6.10.1/Classes/TVOCallMessageBuilder.html @@ -0,0 +1,340 @@ + + + + + + TVOCallMessageBuilder Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallMessageBuilder Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCallMessage.h
+ + + + +
+ +

Overview

+

TVOCallMessageBuilder is a builder class for TVOCallMessage.

+
+ + + + + +
+ + + + + + +
+
+ +

  messageType +

+ +
+
+ +
+ + +
+

The type for the message.

+
+ + + +
@property (nonatomic, assign) TVOCallMessageType messageType
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

  contentType +

+ +
+
+ +
+ + +
+

The MIME type for the message.

+
+ + + +
@property (nonatomic, copy, nullable) NSString *contentType
+ + + + + + + + + +
+

Discussion

+

Currently the only supported type is “application/json”, which is also the default value.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

  content +

+ +
+
+ +
+ + +
+

The content body of the message.

+
+ + + +
@property (nonatomic, copy, nonnull) NSString *content
+ + + + + + + + + +
+

Discussion

+

The format of the message body must match the content type. The size limit of the message content +is 10 KB. [TVOCall sendMessage:] with message content that exceeds the size limitation will result in the +[TVOCallMessageDelegate call:didFailToSendMessage:error] callback.

A call message with content that does not match the content type will not result in the [TVOCallMessageDelegate call:didFailToSendMessage:error] +callback but will generate an error in your Twilio developer console. For example, a call message with content type “application/json” but +with the content “Hello World”, which is not a valid JSON object, will result in such error.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

You should not initialize TVOCallMessageBuilder directly, use a TVOCallMessageBuilderBlock instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCallOptions.html b/docs/6.10.1/Classes/TVOCallOptions.html new file mode 100644 index 0000000..03ba93e --- /dev/null +++ b/docs/6.10.1/Classes/TVOCallOptions.html @@ -0,0 +1,487 @@ + + + + + + TVOCallOptions Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallOptions Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCallOptions.h
+ + + + +
+ +

Overview

+

Represents options available when connecting to a Call. Normally, this class is not used directly. +See TVOConnectOptions or TVOCAcceptOptions for example usage.

+
+ + + + + +
+ + + + + + +
+
+ +

  delegateQueue +

+ +
+
+ +
+ + +
+

The queue where the Call and associated classes will invoke delegate methods.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) dispatch_queue_t delegateQueue
+ + + + + + + + + +
+

Discussion

+

All delegate methods are performed on this queue. Any TVOCall instance +which is created with these options will maintain a strong reference to the queue until +it is destroyed. +The default value of nil indicates that the main dispatch queue will be used.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  iceOptions +

+ +
+
+ +
+ + +
+

A custom ICE configuration used to connect to a Call.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) TVOIceOptions *iceOptions
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  preferredAudioCodecs +

+ +
+
+ +
+ + +
+

The collection of preferred audio codecs.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSArray<TVOAudioCodec*> *preferredAudioCodecs
+ + + + + + + + + +
+

Discussion

+

The list specifies which audio codecs will be preferred when negotiating audio between participants. +The preferences are applied in the order found in the list starting with the most preferred audio codec to the +least preferred audio codec. Audio codec preferences are not guaranteed to be satisfied because not all participants +are guaranteed to support all audio codecs. TVOOpusCodec is the default audio codec if no preferences are set.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  enableDscp +

+ +
+
+ +
+ + +
+

Enables Differentiated Services Field Code Point (DSCP) with Expedited Forwarding (EF). +https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-18#section-5

+
+ + + +
@property (nonatomic, assign, readonly) BOOL enableDscp
+ + + + + + + + + +
+

Discussion

+

DSCP is enabled by default.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  enableIceGatheringOnAnyAddressPorts +

+ +
+
+ +
+ + +
+

Enable gathering of ICE candidates on “any address” ports. When this flag is set, ports not bound to any +specific network interface will be used, in addition to normal ports bound to the enumerated interfaces. This flag may +need to be set to support certain network configurations (e.g. some VPN implementations) where ports are not +bound to specific interfaces. Setting this flag means that additional candidates might need to be gathered and +evaluated, which could lead to slower ICE connection times for regular networks.

+
+ + + +
@property (nonatomic, assign, readonly) BOOL enableIceGatheringOnAnyAddressPorts
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  callMessageDelegate +

+ +
+
+ +
+ + +
+

The TVOCallMessageDelegate for TVOCallMessage related updates.

+
+ + + +
@property (nonatomic, weak, readonly, nullable) id<TVOCallMessageDelegate> callMessageDelegate
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Use the TVOConnectOptions or TVOAcceptOptions builder method instead.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCallOptionsBuilder.html b/docs/6.10.1/Classes/TVOCallOptionsBuilder.html new file mode 100644 index 0000000..41ad9e4 --- /dev/null +++ b/docs/6.10.1/Classes/TVOCallOptionsBuilder.html @@ -0,0 +1,481 @@ + + + + + + TVOCallOptionsBuilder Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallOptionsBuilder Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCallOptions.h
+ + + + +
+ +

Overview

+

TVOCallOptionsBuilder is a builder class for TVOCallOptions.

+
+ + + + + +
+ + + + + + +
+
+ +

  delegateQueue +

+ +
+
+ +
+ + +
+

The queue where the Call and associated classes will invoke delegate methods.

+
+ + + +
@property (nonatomic, strong, nullable) dispatch_queue_t delegateQueue
+ + + + + + + + + +
+

Discussion

+

All delegate methods are performed on this queue. Any TVOCall instance +which is created with these options will maintain a strong reference to the queue until +it is destroyed. +The default value of nil indicates that the main dispatch queue will be used.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  iceOptions +

+ +
+
+ +
+ + +
+

A custom ICE configuration used to connect to a Call.

+
+ + + +
@property (nonatomic, strong, nullable) TVOIceOptions *iceOptions
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  preferredAudioCodecs +

+ +
+
+ +
+ + +
+

The collection of preferred audio codecs.

+
+ + + +
@property (nonatomic, copy, nonnull) NSArray<TVOAudioCodec*> *preferredAudioCodecs
+ + + + + + + + + +
+

Discussion

+

The list specifies which audio codecs will be preferred when negotiating audio between participants. +The preferences are applied in the order found in the list starting with the most preferred audio codec to the +least preferred audio codec. Audio codec preferences are not guaranteed to be satisfied because not all participants +are guaranteed to support all audio codecs. TVOOpusCodec is the default audio codec if no preferences are set.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  enableDscp +

+ +
+
+ +
+ + +
+

Enables Differentiated Services Field Code Point (DSCP) with Expedited Forwarding (EF). +https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-18#section-5

+
+ + + +
@property (nonatomic, assign) BOOL enableDscp
+ + + + + + + + + +
+

Discussion

+

DSCP is enabled by default.

+
+ + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  enableIceGatheringOnAnyAddressPorts +

+ +
+
+ +
+ + +
+

Enable gathering of ICE candidates on “any address” ports. When this flag is set, ports not bound to any +specific network interface will be used, in addition to normal ports bound to the enumerated interfaces. This flag may +need to be set to support certain network configurations (e.g. some VPN implementations) where ports are not +bound to specific interfaces. Setting this flag means that additional candidates might need to be gathered and +evaluated, which could lead to slower ICE connection times for regular networks.

+
+ + + +
@property (nonatomic, assign) BOOL enableIceGatheringOnAnyAddressPorts
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

  callMessageDelegate +

+ +
+
+ +
+ + +
+

The TVOCallMessageDelegate for TVOCallMessage related updates.

+
+ + + +
@property (nonatomic, weak, nullable) id<TVOCallMessageDelegate> callMessageDelegate
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

You should not initialize TVOCallOptionsBuilder directly, use a TVOCallOptionsBuilderBlock instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCallerInfo.html b/docs/6.10.1/Classes/TVOCallerInfo.html new file mode 100644 index 0000000..29657fe --- /dev/null +++ b/docs/6.10.1/Classes/TVOCallerInfo.html @@ -0,0 +1,245 @@ + + + + + + TVOCallerInfo Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallerInfo Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCallerInfo.h
+ + + + + + + + +
+ + + + + + +
+
+ +

  verified +

+ +
+
+ +
+ + +
+

Returns true in NSNumber if the caller has been validated at ‘A’ level, false if the caller has been + verified at any lower level or has failed validation. Returns nil if no caller verification information is available or + if stir status value is null.

+
+ + + +
@property (nonatomic, strong, readonly, nullable, getter=isVerified) NSNumber *verified
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCallerInfo.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Caller Info objects cannot be instantiated directly. Use the TVOCallInvite.callerInfo property instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallerInfo.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOCancelledCallInvite.html b/docs/6.10.1/Classes/TVOCancelledCallInvite.html new file mode 100644 index 0000000..85d0bc6 --- /dev/null +++ b/docs/6.10.1/Classes/TVOCancelledCallInvite.html @@ -0,0 +1,416 @@ + + + + + + TVOCancelledCallInvite Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCancelledCallInvite Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOCancelledCallInvite.h
+ + + + +
+ +

Overview

+

The TVOCancelledCallInvite object represents a cancelled incoming Call Invite. TVOCancelledCallInvites are not created directly; +they are returned by the [TVONotificationDelegate cancelledCallInviteReceived:error:] delegate method.

+
+ + + + + +
+ + + + + +

Properties

+
+
+ +

  from +

+ +
+
+ +
+ + +
+

From value of the Call Invite.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *from
+ + + + + + + + + +
+

Discussion

+

This may be nil if the notification passed in [TwilioVoiceSDK handleNotification:delegate:delegateQueue:callMessageDelegate:] +method does not have valid information in it.

+
+ + + + + + + +
+

Declared In

+

TVOCancelledCallInvite.h

+
+ + +
+
+
+ +

  to +

+ +
+
+ +
+ + +
+

To value of the Call Invite.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *to
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCancelledCallInvite.h

+
+ + +
+
+
+ +

  callSid +

+ +
+
+ +
+ + +
+

A server assigned identifier (SID) for the incoming Call.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *callSid
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOCancelledCallInvite.h

+
+ + +
+
+
+ +

  customParameters +

+ +
+
+ +
+ + +
+

Custom parameters embedded in the VoIP notification payload.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) NSDictionary<NSString*NSString*> *customParameters
+ + + + + + + + + +
+

Discussion

+

The custom parameters will be received in the notification payload with the + twi_params key and in query-string format, e.g. key1=value1&key2=value2. To receive custom + parameters on the mobile client, add <Parameter> tags into the <Client> tag in the TwiML response.

+ +
<?xml version="1.0" encoding="UTF-8"?>
+<Response>
+  <Dial callerId="client:alice">
+    <Client>
+      <Identity>bob</Identity>
+      <Parameter name="caller_first_name" value="alice" />
+      <Parameter name="caller_last_name" value="smith" />
+    </Client>
+  </Dial>
+</Response>
+
+ +

The customParameters value would be:

+ +
{
+    "caller_first_name" = "alice";
+    "caller_last_name" = "smith";
+}
+
+ +

Note: While the value field passed into <Parameter> gets URI encoded by the Twilio infrastructure + and URI decoded when parsed during the creation of a TVOCancelledCallInvite, the name does not get URI encoded + or decoded. As a result, it is recommended that the name field only use ASCII characters.

+
+ + + + + + + +
+

Declared In

+

TVOCancelledCallInvite.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

TVOCancelCallInvite cannot be instantiated directly. See TVONotificationDelegate instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCancelledCallInvite.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOConnectOptions.html b/docs/6.10.1/Classes/TVOConnectOptions.html new file mode 100644 index 0000000..ceb7512 --- /dev/null +++ b/docs/6.10.1/Classes/TVOConnectOptions.html @@ -0,0 +1,439 @@ + + + + + + TVOConnectOptions Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOConnectOptions Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOCallOptions : NSObject
Declared inTVOConnectOptions.h
+ + + + +
+ +

Overview

+

Connect options builder to use when connecting. For example:

+ +
 let connectOptions = TVOConnectOptions(accessToken: accessToken) { builder in
+     builder.params = ["to": "bob"]
+     builder.enableIceGatheringOnAnyAddressPorts = true
+ }
+
+ let call = TwilioVoiceSDK.connect(with: connectOptions, delegate: callDelegate)
+
+
+ + + + + +
+ + + + + + +
+
+ +

  accessToken +

+ +
+
+ +
+ + +
+

A JWT access token which will be used to connect a Call.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *accessToken
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+ +

  params +

+ +
+
+ +
+ + +
+

The parameters passed to the server application associated with this Call.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSDictionary<NSString*NSString*> *params
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Use the class methods optionsWithToken: or optionsWithToken:block: instead.

+
+ + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+ +

+ optionsWithAccessToken: +

+ +
+
+ +
+ + +
+

Creates TVOConnectOptions using an access token.

+
+ + + +
+ (nonnull instancetype)optionsWithAccessToken:(nonnull NSString *)accessToken
+ + + +
+

Parameters

+ + + + + + + +
accessToken

A JWT access token which will be used to connect to the Call.

+
+ + + +
+

Return Value

+

An instance of TVOConnectOptions.

+
+ + + + + +
+

Discussion

+

The maximum number of characters for the identity provided in the token is 121. The identity may +only contain alpha-numeric and underscore characters. Other characters, including spaces, or exceeding the maximum +number of characters, will result in not being able to place or receive calls.

+
+ + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+ +

+ optionsWithAccessToken:block: +

+ +
+
+ +
+ + +
+

Creates an instance of TVOConnectOptions using an access token and a builder block.

+
+ + + +
+ (nonnull instancetype)optionsWithAccessToken:(nonnull NSString *)accessToken block:(nonnull TVOConnectOptionsBuilderBlock)block
+ + + +
+

Parameters

+ + + + + + + + + + + + +
accessToken

A JWT access token which will be used to connect to the Call.

block

The builder block which will be used to configure the TVOConnectOptions instance.

+
+ + + +
+

Return Value

+

An instance of TVOConnectOptions.

+
+ + + + + +
+

Discussion

+

The maximum number of characters for the identity provided in the token is 121. The identity may +only contain alpha-numeric and underscore characters. Other characters, including spaces, or exceeding the maximum +number of characters, will result in not being able to place or receive calls.

+
+ + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOConnectOptionsBuilder.html b/docs/6.10.1/Classes/TVOConnectOptionsBuilder.html new file mode 100644 index 0000000..a140ff1 --- /dev/null +++ b/docs/6.10.1/Classes/TVOConnectOptionsBuilder.html @@ -0,0 +1,253 @@ + + + + + + TVOConnectOptionsBuilder Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOConnectOptionsBuilder Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOCallOptionsBuilder : NSObject
Declared inTVOConnectOptions.h
+ + + + +
+ +

Overview

+

TVOConnectOptionsBuilder is a builder class for TVOConnectOptions.

Connect options builder to use when connecting. For example:

+ +
 let connectOptions = TVOConnectOptions(accessToken: accessToken) { builder in
+     builder.params = ["to": "bob"]
+     builder.enableIceGatheringOnAnyAddressPorts = true
+ }
+
+ let call = TwilioVoiceSDK.connect(with: connectOptions, delegate: callDelegate)
+
+
+ + + + + +
+ + + + + + +
+
+ +

  params +

+ +
+
+ +
+ + +
+

Additional parameters for connecting the Call.

+
+ + + +
@property (nonatomic, copy, nonnull) NSDictionary<NSString*NSString*> *params
+ + + + + + + + + +
+

Discussion

+

The Voice SDK URI encodes the parameters before passing them to your TwiML Application.

+
+ + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

You should not initialize TVOConnectOptionsBuilder directly, use a TVOConnectOptionsBuilderBlock instead.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOConnectOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVODefaultAudioDevice.html b/docs/6.10.1/Classes/TVODefaultAudioDevice.html new file mode 100644 index 0000000..7686820 --- /dev/null +++ b/docs/6.10.1/Classes/TVODefaultAudioDevice.html @@ -0,0 +1,517 @@ + + + + + + TVODefaultAudioDevice Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVODefaultAudioDevice Class Reference

+ + +
+ + + + + + + + + + +
Inherits fromNSObject
Conforms toTVOAudioDevice
Declared inTVODefaultAudioDevice.h
+ + + + +
+ +

Overview

+

TVODefaultAudioDevice allows you to record and playback audio when you are connected to a Call.

+
+ + + + + +
+ + + + + + +
+
+ +

  block +

+ +
+
+ +
+ + +
+

A block to configure the AVAudiosession.

+
+ + + +
@property (nonatomic, copy, nonnull) TVOAVAudioSessionConfigurationBlock block
+ + + + + + + + + +
+

Discussion

+

If TVODefaultAudioDevice is enabled, the SDK executes this block and activates the audio session while + connecting to a Call, otherwise it is the developer’s responsibility to execute the block. Please note that the getter of + this property returns a wrapper block which internally executes the block you set. By default, the SDK returns a default + wrapper block which executes kTVODefaultAVAudioSessionConfigurationBlock internally.

+ +

The following example demonstrates changing the audio route from speaker to receiver:

+ +
  TVODefaultAudioDevice *audioDevice = [TVODefaultAudioDevice audioDevice];
+
+  TwilioVoiceSDK.audioDevice = audioDevice;
+
+  //...connect to a Call with audioDevice. By default the audio route will be configured to receiver.
+
+  audioDevice.block =  ^ {
+      // We will execute `kTVODefaultAVAudioSessionConfigurationBlock` first.
+      kTVODefaultAVAudioSessionConfigurationBlock();
+
+      // Overwrite the audio route
+      AVAudioSession *session = [AVAudioSession sharedInstance];
+      NSError *error = nil;
+      if (![session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error]) {
+          NSLog(@"AVAudiosession overrideOutputAudioPort %@",error);
+      }
+  };
+  audioDevice.block();
+
+
+ + + + + + + +
+

Declared In

+

TVODefaultAudioDevice.h

+
+ + +
+
+
+ +

  ignoresPreferredAttributeConfigurationErrors +

+ +
+
+ +
+ + +
+

A boolean to ignore preferred configuration errors.

+
+ + + +
@property (nonatomic, class) BOOL ignoresPreferredAttributeConfigurationErrors
+ + + + + + + + + +
+

Discussion

+

When YES, calls to AudioSession preferred configuration ignore errors in +configuring the audio session’s “preferred” attributes (e.g. preferredInputNumberOfChannels). +Typically, configurations to preferred attributes are optimizations, and ignoring this type of +configuration error allows code flow to continue along the happy path when these optimization are +not available. The default value of this property is NO.

+
+ + + + + + + +
+

Declared In

+

TVODefaultAudioDevice.h

+
+ + +
+
+
+ +

  enabled +

+ +
+
+ +
+ + +
+

A boolean which enables playback and recording.

+
+ + + +
@property (nonatomic, assign, getter=isEnabled) BOOL enabled
+ + + + + + + + + +
+

Discussion

+

By default, the SDK initializes this property to YES. Setting it to NO forces the underlying CoreAudio +graph to be stopped (if active), and prevents it from being started again. Setting the property to YES allows the +audio graph to be started whenever there is audio to play or record in a Call.

+
+ + + + + + + +
+

Declared In

+

TVODefaultAudioDevice.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Use defaultAudioDeviceto create a TVODefaultAudioDevice.

+
+ + + + + + + +
+

Declared In

+

TVODefaultAudioDevice.h

+
+ + +
+
+
+ +

+ audioDevice +

+ +
+
+ +
+ + +
+

Factory method to create an instance of TVODefaultAudioDevice.

+
+ + + +
+ (nonnull instancetype)audioDevice
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVODefaultAudioDevice.h

+
+ + +
+
+
+ +

+ audioDeviceWithBlock: +

+ +
+
+ +
+ + +
+

Factory method with a block to create an instance of TVODefaultAudioDevice.

+
+ + + +
+ (nonnull instancetype)audioDeviceWithBlock:(TVOAVAudioSessionConfigurationBlock _Nonnull)block
+ + + +
+

Parameters

+ + + + + + + +
block

The AVAudioSession configuration block.

+
+ + + +
+

Return Value

+

An instance of TVODefaultAudioDevice.

+
+ + + + + +
+

Discussion

+

Use this factory method if you want to connect to a Call with your choice of audio session configuration.

+ +

The following example demonstrates connecting to a Call using the AVAudioSessionCategoryPlayback category:

+ +
  TwilioVoiceSDK.audioDevice = [TVODefaultAudioDevice audioDeviceWithBlock:^ {
+      // We will execute `kTVODefaultAVAudioSessionConfigurationBlock` first.
+      kTVODefaultAVAudioSessionConfigurationBlock();
+
+      // Overwrite the category to `playback`
+      AVAudioSession *session = [AVAudioSession sharedInstance];
+      NSError *error = nil;
+      if (![session setCategory:AVAudioSessionCategoryPlayback
+                           mode:AVAudioSessionModeVoiceChat
+                        options:AVAudioSessionCategoryOptionAllowBluetooth | AVAudioSessionCategoryOptionAllowBluetoothA2DP
+                          error:&error]) {
+          NSLog(@"AVAudioSession setCategory:options:mode:error: %@",error);
+      }
+  }];
+
+  TVOConnectOptions *connectOptions = [TVOConnectOptions optionsWithToken:token
+                                                                    block:^(TVOConnectOptionsBuilder *builder) {
+      // configure builder attributes here
+  }];
+
+  TVOCall *call = [TwilioVoiceSDK connectWithOptions:connectOptions];
+
+
+ + + + + + + +
+

Declared In

+

TVODefaultAudioDevice.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVODefaultLogger.html b/docs/6.10.1/Classes/TVODefaultLogger.html new file mode 100644 index 0000000..8c46872 --- /dev/null +++ b/docs/6.10.1/Classes/TVODefaultLogger.html @@ -0,0 +1,220 @@ + + + + + + TVODefaultLogger Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVODefaultLogger Class Reference

+ + +
+ + + + + + + + + + +
Inherits fromNSObject
Conforms toTVOLogger
Declared inTVODefaultLogger.h
+ + + + +
+ +

Overview

+

TVODefaultLogger allows you to send your app to the default logger.

+
+ + + + + +
+ + + + + + +
+
+ +

– log: +

+ +
+
+ +
+ + +
+

This method can be invoked to send app level logs to the default logger +used by the SDK to log to stdout. Please note that timeStamp parameter provided in the +logParameters will not be used by the default logger and the timestamp +string will be generated during actual logging to stdout.

+
+ + + +
- (void)log:(nonnull TVOLogParameters *)logParameters
+ + + +
+

Parameters

+ + + + + + + +
logParameters

The TVOLogParameters for the log message.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVODefaultLogger.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOIceCandidatePairStats.html b/docs/6.10.1/Classes/TVOIceCandidatePairStats.html new file mode 100644 index 0000000..37a9411 --- /dev/null +++ b/docs/6.10.1/Classes/TVOIceCandidatePairStats.html @@ -0,0 +1,1440 @@ + + + + + + TVOIceCandidatePairStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceCandidatePairStats Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOIceCandidatePairStats.h
+ + + + +
+ +

Overview

+

TVOIceCandidatePairStats reflects the properties of a Ice candidate pair

+
+ + + + + +
+ + + + + + +
+
+ +

  activeCandidatePair +

+ +
+
+ +
+ + +
+

A boolean to indicate if the candidate pair is active.

+
+ + + +
@property (nonatomic, assign, readonly, getter=isActiveCandidatePair) BOOL activeCandidatePair
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  relayProtocol +

+ +
+
+ +
+ + +
+

The relay protocol.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *relayProtocol
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  transportId +

+ +
+
+ +
+ + +
+

The unique identifier used for TVOIceCandidateStats associated with this candidate.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *transportId
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  localCandidateId +

+ +
+
+ +
+ + +
+

The unique identifier that is associated to the object that was inspected to produce the Ice candidate +attributes for the local candidate associated with this candidate pair.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *localCandidateId
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  localCandidateIp +

+ +
+
+ +
+ + +
+

The IP address of the local candidate associated with this candidate pair.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *localCandidateIp
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  remoteCandidateId +

+ +
+
+ +
+ + +
+

The unique identifier that is associated to the object that was inspected to produce the Ice candidate +attributes for the remote candidate associated with this candidate pair.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *remoteCandidateId
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  remoteCandidateIp +

+ +
+
+ +
+ + +
+

The IP address of the remote candidate associated with this candidate pair.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *remoteCandidateIp
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  state +

+ +
+
+ +
+ + +
+

Represents the state of the checklist for the local and remote candidates in a pair.

+
+ + + +
@property (nonatomic, assign, readonly) TVOIceCandidatePairState state
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  priority +

+ +
+
+ +
+ + +
+

The priority of the candidate. Priority is calculated as defined in [RFC5245] section 15.1.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t priority
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  nominated +

+ +
+
+ +
+ + +
+

This booean is related to updating the nominated flag described in Section 7.1.3.2.4 of [ RFC5245].

+
+ + + +
@property (nonatomic, assign, readonly, getter=isNominated) BOOL nominated
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  writeable +

+ +
+
+ +
+ + +
+

Has gotten ACK to an ICE request.

+
+ + + +
@property (nonatomic, assign, readonly, getter=isWriteable) BOOL writeable
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  readable +

+ +
+
+ +
+ + +
+

Has gotten a valid incoming ICE request.

+
+ + + +
@property (nonatomic, assign, readonly, getter=isReadable) BOOL readable
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  bytesSent +

+ +
+
+ +
+ + +
+

Represents the total number of payload bytes sent on this candidate pair, i.e., not including headers or +padding.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t bytesSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  bytesReceived +

+ +
+
+ +
+ + +
+

Represents the total number of payload bytes received on this candidate pair, i.e., not including headers or +padding.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t bytesReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  totalRoundTripTime +

+ +
+
+ +
+ + +
+

Total round trip time.

+
+ + + +
@property (nonatomic, assign, readonly) CFTimeInterval totalRoundTripTime
+ + + + + + + + + +
+

Discussion

+

Represents the sum of all round trip time measurements in seconds since the beginning of the session, +based on both STUN connectivity check [ STUN-PATH-CHAR] responses (responsesReceived) and consent [ RFC7675] +responses (consentResponsesReceived). The average round trip time can be computed from totalRoundTripTime by +dividing it by (responsesReceived + consentResponsesReceived).

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  currentRoundTripTime +

+ +
+
+ +
+ + +
+

Current round trip time.

+
+ + + +
@property (nonatomic, assign, readonly) CFTimeInterval currentRoundTripTime
+ + + + + + + + + +
+

Discussion

+

Represents the latest round trip time measured in seconds, computed from both STUN connectivity checks +[STUN-PATH-CHAR] and consent responses [RFC7675].

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  availableOutgoingBitrate +

+ +
+
+ +
+ + +
+

Available outgoing bitrate

+
+ + + +
@property (nonatomic, assign, readonly) double availableOutgoingBitrate
+ + + + + + + + + +
+

Discussion

+

It is calculated by the underlying congestion control by combining the available bitrate for all the +outgoing RTP streams using this candidate pair. The bitrate measurement does not count the size of the IP or other +transport layers like TCP or UDP. It is similar to the TIAS defined in [RFC3890], i.e., it is measured in bits per +second and the bitrate is calculated over a 1 second window.

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  availableIncomingBitrate +

+ +
+
+ +
+ + +
+

Available incoming bitrate

+
+ + + +
@property (nonatomic, assign, readonly) double availableIncomingBitrate
+ + + + + + + + + +
+

Discussion

+

It is calculated by the underlying congestion control by combining the available bitrate for all the +incoming RTP streams using this candidate pair. The bitrate measurement does not count the size of the IP or other +transport layers like TCP or UDP. It is similar to the TIAS defined in [RFC3890], i.e., it is measured in bits per +second and the bitrate is calculated over a 1 second window.

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  requestsReceived +

+ +
+
+ +
+ + +
+

Represents the total number of connectivity check requests received (including retransmissions).

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t requestsReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  requestsSent +

+ +
+
+ +
+ + +
+

Represents the total number of connectivity check requests sent (not including retransmissions).

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t requestsSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  responsesReceived +

+ +
+
+ +
+ + +
+

Represents the total number of connectivity check responses received.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t responsesReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  responsesSent +

+ +
+
+ +
+ + +
+

Represents the total number of connectivity check responses sent.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t responsesSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  retransmissionsReceived +

+ +
+
+ +
+ + +
+

Represents the total number of connectivity check retransmissions received.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t retransmissionsReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  retransmissionsSent +

+ +
+
+ +
+ + +
+

Represents the total number of connectivity check retransmissions sent.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t retransmissionsSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  consentRequestsReceived +

+ +
+
+ +
+ + +
+

Represents the total number of consent requests received.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t consentRequestsReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  consentRequestsSent +

+ +
+
+ +
+ + +
+

Represents the total number of consent requests sent.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t consentRequestsSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  consentResponsesReceived +

+ +
+
+ +
+ + +
+

Represents the total number of consent responses received.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t consentResponsesReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

  consentResponsesSent +

+ +
+
+ +
+ + +
+

Represents the total number of consent responses sent.

+
+ + + +
@property (nonatomic, assign, readonly) uint64_t consentResponsesSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Ice candidate pair stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOIceCandidateStats.html b/docs/6.10.1/Classes/TVOIceCandidateStats.html new file mode 100644 index 0000000..7a07000 --- /dev/null +++ b/docs/6.10.1/Classes/TVOIceCandidateStats.html @@ -0,0 +1,599 @@ + + + + + + TVOIceCandidateStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceCandidateStats Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOIceCandidateStats.h
+ + + + +
+ +

Overview

+

TVOIceCandidateStats reflects the properties of a candidate in Section 15.1 in [RFC5245].

+
+ + + + + +
+ + + + + + +
+
+ +

  candidateType +

+ +
+
+ +
+ + +
+

Ice candidate type.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *candidateType
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  deleted +

+ +
+
+ +
+ + +
+

Determines if the ice candidate is deleted or not.

+
+ + + +
@property (nonatomic, assign, readonly, getter=isDeleted) BOOL deleted
+ + + + + + + + + +
+

Discussion

+

For local candidates, YES indicates that the candidate has been deleted/freed as described by +[RFC5245]. For host candidates, this means that any network resources (typically a socket) associated with the +candidate have been released. For TURN candidates, this means the TURN allocation is no longer active.

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  ip +

+ +
+
+ +
+ + +
+

The IP address of the candidate, allowing for IPv4 addresses and IPv6 addresses, but fully qualified domain +names (FQDNs) are not allowed. See [RFC5245] section 15.1 for details.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *ip
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  remote +

+ +
+
+ +
+ + +
+

NO indicates that this represents a local candidate; YES indicates that this represents a remote candidate.

+
+ + + +
@property (nonatomic, assign, readonly, getter=isRemote) BOOL remote
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  port +

+ +
+
+ +
+ + +
+

The port number of the candidate.

+
+ + + +
@property (nonatomic, assign, readonly) long port
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  priority +

+ +
+
+ +
+ + +
+

The priority of the candidate. Priority is calculated as defined in [RFC5245] section 15.1.

+
+ + + +
@property (nonatomic, assign, readonly) long priority
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  protocol +

+ +
+
+ +
+ + +
+

The protocol used by the candidate. The valid values for transport is one of udp and tcp. Based on the +“transport” defined in [RFC5245] section 15.1.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *protocol
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  url +

+ +
+
+ +
+ + +
+

The URL of the TURN or STUN server indicated in the that translated this IP address. It is the URL address +surfaced in an peer connection ice event.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *url
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

  transportId +

+ +
+
+ +
+ + +
+

The unique identifier used for TVOIceCandidateStats associated with this candidate.

+
+ + + +
@property (nonatomic, copy, readonly, nullable) NSString *transportId
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Ice candidate stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVOIceCandidateStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOIceOptions.html b/docs/6.10.1/Classes/TVOIceOptions.html new file mode 100644 index 0000000..f83bfe9 --- /dev/null +++ b/docs/6.10.1/Classes/TVOIceOptions.html @@ -0,0 +1,361 @@ + + + + + + TVOIceOptions Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceOptions Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOIceOptions.h
+ + + + +
+ +

Overview

+

TVOIceOptions specifies custom media connectivity configurations.

Media connections are established using the ICE (Interactive Connectivity Establishment) protocol. +These options allow you to customize how data flows to and from participants, and which protocols to use. +You may also provide your own ICE servers, overriding the defaults. +https://www.twilio.com/stun-turn

+
+ + + + + +
+ + + + + + +
+
+ +

  servers +

+ +
+
+ +
+ + +
+

An array of TVOIceServer objects to be used during connection establishment.

+
+ + + +
@property (nonatomic, copy, nonnull, readonly) NSArray<TVOIceServer*> *servers
+ + + + + + + + + +
+

Discussion

+

An array of TVOIceServer objects to be used during connection establishment.

+
+ + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

  transportPolicy +

+ +
+
+ +
+ + +
+

The transport policy to use. Defaults to TVOIceTransportPolicyAll.

+
+ + + +
@property (nonatomic, assign, readonly) TVOIceTransportPolicy transportPolicy
+ + + + + + + + + +
+

Discussion

+

The transport policy to use. Defaults to TVOIceTransportPolicyAll.

+
+ + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

+ options +

+ +
+
+ +
+ + +
+

Creates a default TVOIceOptions instance.

+
+ + + +
+ (_Null_unspecified instancetype)options
+ + + + + +
+

Return Value

+

An instance of TVOIceOptions.

+
+ + + + + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

+ optionsWithBlock: +

+ +
+
+ +
+ + +
+

Creates a TVOIceOptions instance using a builder block that you specify.

+
+ + + +
+ (nonnull instancetype)optionsWithBlock:(nonnull TVOIceOptionsBuilderBlock)block
+ + + +
+

Parameters

+ + + + + + + +
block

A TVOIceOptionsBuilderBlock which sets specific options on the builder.

+
+ + + +
+

Return Value

+

A TVOIceOptions instance created using options set in the builder block.

+
+ + + + + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOIceOptionsBuilder.html b/docs/6.10.1/Classes/TVOIceOptionsBuilder.html new file mode 100644 index 0000000..5886175 --- /dev/null +++ b/docs/6.10.1/Classes/TVOIceOptionsBuilder.html @@ -0,0 +1,238 @@ + + + + + + TVOIceOptionsBuilder Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceOptionsBuilder Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOIceOptions.h
+ + + + +
+ +

Overview

+

If you provide a transportPolicy but do not provide any ICE Servers, then the servers will automatically +be fetched for you based upon how the Call was created. For Client created Calls the default Call settings +are used, while settings are provided on a per-Call basis when creating Calls using the REST API.

+
+ + + + + +
+ + + + + + +
+
+ +

  servers +

+ +
+
+ +
+ + +
+

An array of TVOIceServer objects to be used during connection establishment.

+
+ + + +
@property (nonatomic, strong, nullable) NSArray<TVOIceServer*> *servers
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

  transportPolicy +

+ +
+
+ +
+ + +
+

The transport policy to use. Defaults to TVOIceTransportPolicyAll.

+
+ + + +
@property (nonatomic, assign) TVOIceTransportPolicy transportPolicy
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOIceServer.html b/docs/6.10.1/Classes/TVOIceServer.html new file mode 100644 index 0000000..1ca8a51 --- /dev/null +++ b/docs/6.10.1/Classes/TVOIceServer.html @@ -0,0 +1,477 @@ + + + + + + TVOIceServer Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceServer Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOIceOptions.h
+ + + + +
+ +

Overview

+

TVOIceServer is a single STUN or TURN server.

+
+ + + + + +
+ + + + + + +
+
+ +

  urlString +

+ +
+
+ +
+ + +
+

The URL string for the ICE server.

+
+ + + +
@property (nonnull, nonatomic, readonly, copy) NSString *urlString
+ + + + + + + + + +
+

Discussion

+

Your server URL must begin with either the stun: or turn: scheme. +For example, a STUN server could be defined as <stun:stun.company.com:port>.

+
+ + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

  username +

+ +
+
+ +
+ + +
+

The user name. Required for TURN servers.

+
+ + + +
@property (nullable, nonatomic, readonly, copy) NSString *username
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

  password +

+ +
+
+ +
+ + +
+

The password. Required for TURN servers.

+
+ + + +
@property (nullable, nonatomic, readonly, copy) NSString *password
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

– initWithURLString: +

+ +
+
+ +
+ + +
+

Creates a TVOIceServer.

+
+ + + +
- (null_unspecified instancetype)initWithURLString:(nonnull NSString *)serverURLString
+ + + +
+

Parameters

+ + + + + + + +
serverURLString

The URL for your STUN or TURN server.

+
+ + + +
+

Return Value

+

A TVOIceServer object.

+
+ + + + + +
+

Discussion

+

Creates a TVOIceServer.

+
+ + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

– initWithURLString:username:password: +

+ +
+
+ +
+ + +
+

Creates a TVOIceServer.

+
+ + + +
- (null_unspecified instancetype)initWithURLString:(nonnull NSString *)serverURLString username:(nullable NSString *)username password:(nullable NSString *)password
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
serverURLString

The URL for your STUN or TURN server.

username

The username credential for your server.

password

The password credential for your server.

+
+ + + +
+

Return Value

+

A TVOIceServer object.

+
+ + + + + +
+

Discussion

+

Creates a TVOIceServer.

+
+ + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers should initialize with a parameterized initializer.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

TVOIceServer cannot be created without supplying parameters.

+
+ + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOLocalAudioTrackStats.html b/docs/6.10.1/Classes/TVOLocalAudioTrackStats.html new file mode 100644 index 0000000..a938b21 --- /dev/null +++ b/docs/6.10.1/Classes/TVOLocalAudioTrackStats.html @@ -0,0 +1,288 @@ + + + + + + TVOLocalAudioTrackStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOLocalAudioTrackStats Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOLocalTrackStats : TVOBaseTrackStats : NSObject
Declared inTVOLocalAudioTrackStats.h
+ + + + +
+ +

Overview

+

TVOLocalAudioTrackStats represents stats about a local audio track.

+
+ + + + + +
+ + + + + + +
+
+ +

  audioLevel +

+ +
+
+ +
+ + +
+

Audio input level.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger audioLevel
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOLocalAudioTrackStats.h

+
+ + +
+
+
+ +

  jitter +

+ +
+
+ +
+ + +
+

Packet jitter measured in milliseconds.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger jitter
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOLocalAudioTrackStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Local audio track stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVOLocalAudioTrackStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOLocalTrackStats.html b/docs/6.10.1/Classes/TVOLocalTrackStats.html new file mode 100644 index 0000000..cef9e07 --- /dev/null +++ b/docs/6.10.1/Classes/TVOLocalTrackStats.html @@ -0,0 +1,331 @@ + + + + + + TVOLocalTrackStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOLocalTrackStats Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOBaseTrackStats : NSObject
Declared inTVOLocalTrackStats.h
+ + + + +
+ +

Overview

+

TVOLocalTrackStats represents stats common to local tracks.

+
+ + + + + +
+ + + + + + +
+
+ +

  bytesSent +

+ +
+
+ +
+ + +
+

Total number of bytes sent for this SSRC.

+
+ + + +
@property (nonatomic, assign, readonly) int64_t bytesSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOLocalTrackStats.h

+
+ + +
+
+
+ +

  packetsSent +

+ +
+
+ +
+ + +
+

Total number of RTP packets sent for this SSRC.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger packetsSent
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOLocalTrackStats.h

+
+ + +
+
+
+ +

  roundTripTime +

+ +
+
+ +
+ + +
+

Estimated round trip time for this SSRC based on the RTCP timestamps. Measured in milliseconds.

+
+ + + +
@property (nonatomic, assign, readonly) int64_t roundTripTime
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOLocalTrackStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Local track stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVOLocalTrackStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOLogParameters.html b/docs/6.10.1/Classes/TVOLogParameters.html new file mode 100644 index 0000000..b5f5395 --- /dev/null +++ b/docs/6.10.1/Classes/TVOLogParameters.html @@ -0,0 +1,761 @@ + + + + + + TVOLogParameters Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOLogParameters Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOLogParameters.h
+ + + + +
+ +

Overview

+

A struct used to pass logging parameters to the log method in TVOLogger.

+
+ + + + + +
+ + + + + + +
+
+ +

  logModule +

+ +
+
+ +
+ + +
+

TVOLogModule for the logger.

+
+ + + +
@property (nonatomic, assign) TVOLogModule logModule
+ + + + + + + + + +
+

Discussion

+

TVOLogModule for the logger.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  logLevel +

+ +
+
+ +
+ + +
+

TVOLogLevel for the logger.

+
+ + + +
@property (nonatomic, assign) TVOLogLevel logLevel
+ + + + + + + + + +
+

Discussion

+

TVOLogLevel for the logger.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  timeStamp +

+ +
+
+ +
+ + +
+

Local Timestamp for the log statement in YY-MM-DD HH:MM:SS.MMM format

+
+ + + +
@property (nonatomic, copy, nullable) NSString *timeStamp
+ + + + + + + + + +
+

Discussion

+

Local Timestamp for the log statement in YY-MM-DD HH:MM:SS.MMM format

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  fileName +

+ +
+
+ +
+ + +
+

File name for the log statement.

+
+ + + +
@property (nonatomic, copy, nullable) NSString *fileName
+ + + + + + + + + +
+

Discussion

+

File name for the log statement.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  functionName +

+ +
+
+ +
+ + +
+

Function name for the log statement.

+
+ + + +
@property (nonatomic, copy, nullable) NSString *functionName
+ + + + + + + + + +
+

Discussion

+

Function name for the log statement.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  lineNumber +

+ +
+
+ +
+ + +
+

Line number for the log statement.

+
+ + + +
@property (nonatomic, strong, nullable) NSNumber *lineNumber
+ + + + + + + + + +
+

Discussion

+

Line number for the log statement.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  tag +

+ +
+
+ +
+ + +
+

Tag for the log statement.

+
+ + + +
@property (nonatomic, copy, nullable) NSString *tag
+ + + + + + + + + +
+

Discussion

+

Tag for the log statement.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  thread +

+ +
+
+ +
+ + +
+

The thread name/id.

+
+ + + +
@property (nonatomic, copy, nonnull) NSString *thread
+ + + + + + + + + +
+

Discussion

+

The thread name/id.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

  message +

+ +
+
+ +
+ + +
+

The log statement body.

+
+ + + +
@property (nonatomic, copy, nonnull) NSString *message
+ + + + + + + + + +
+

Discussion

+

The log statement body.

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

– initWithModule:logLevel:timeStamp:fileName:functionName:lineNumber:tag:thread:message: +

+ +
+
+ +
+ + +
+

Initialize the LogParameters.

+
+ + + +
- (null_unspecified instancetype)initWithModule:(TVOLogModule)logModule logLevel:(TVOLogLevel)logLevel timeStamp:(nullable NSString *)timeStamp fileName:(nullable NSString *)fileName functionName:(nullable NSString *)functionName lineNumber:(nullable NSNumber *)lineNumber tag:(nullable NSString *)tag thread:(nullable NSString *)thread message:(nonnull NSString *)message
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
logModule

The TVOLogModule value for the log statement

logLevel

The TVOLogLevel for the log statement

timeStamp

Local Timestamp in YY-MM-DD HH:MM:SS.MMM format

fileName

A nullable string that shows the file name of the log statement

functionName

A nullable string that shows the function name of the log statement

lineNumber

A nullable number representing the line number of the log statement in the file

tag

A nullable string that can be used to specify any user defined tag in the log line

thread

A nullable string that can be used to specify the thread name or id

message

Nonnull string for the log statement

+
+ + + +
+

Return Value

+

An initialized LogParameters instance.

+
+ + + + + + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+ +

– initWithModule:logLevel:message: +

+ +
+
+ +
+ + +
+

Initialize the LogParameters.

+
+ + + +
- (null_unspecified instancetype)initWithModule:(TVOLogModule)logModule logLevel:(TVOLogLevel)logLevel message:(nonnull NSString *)message
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
logModule

The TVOLogModule value for the log statement

logLevel

The TVOLogLevel for the log statement

message

Nonnull string for the log statement

+
+ + + +
+

Return Value

+

An initialized LogParameters instance.

+
+ + + + + +
+

Discussion

+

This initilizer only initializes required varriables for the log statement. All other parameters are set to nil

+
+ + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOOpusCodec.html b/docs/6.10.1/Classes/TVOOpusCodec.html new file mode 100644 index 0000000..ddb30c6 --- /dev/null +++ b/docs/6.10.1/Classes/TVOOpusCodec.html @@ -0,0 +1,312 @@ + + + + + + TVOOpusCodec Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOOpusCodec Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOAudioCodec : NSObject
Declared inTVOOpusCodec.h
+ + + + + + + + +
+ + + + + + +
+
+ +

– init +

+ +
+
+ +
+ + +
+

Initialzes an instance of the TVOOpusCodec codec.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Initialzes an instance of the TVOOpusCodec codec.

+
+ + + + + + + +
+

Declared In

+

TVOOpusCodec.h

+
+ + +
+
+
+ +

– initWithMaxAverageBitrate: +

+ +
+
+ +
+ + +
+

Initialzes an instance of the TVOOpusCodec codec.

+
+ + + +
- (null_unspecified instancetype)initWithMaxAverageBitrate:(NSUInteger)maxAverageBitrate
+ + + +
+

Parameters

+ + + + + + + +
maxAverageBitrate

The maximum average audio bitrate to use, in bits per second (bps) +based on RFC-7587 7.1. By default, the setting is not used. +If you specify 0, then the setting is not used. Any positive integer is allowed, but values outside the range +6000 to 510000 are ignored and treated as 0. The recommended bitrate for speech is between 8000 and 40000 bps +as noted in RFC-7587 3.1.1.

+
+ + + + + + + +
+

Discussion

+

Initialzes an instance of the TVOOpusCodec codec.

+
+ + + + + + + +
+

Declared In

+

TVOOpusCodec.h

+
+ + +
+
+
+ +

  maxAverageBitrate +

+ +
+
+ +
+ + +
+

Maximum audio send bitrate in bits per second.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger maxAverageBitrate
+ + + + + + + + + +
+

Discussion

+

The maximum average audio bitrate to use, in bits per second (bps) +based on RFC-7587 7.1. By default, the setting is not used. +If you specify 0, then the setting is not used. Any positive integer is allowed, but values outside the range +6000 to 510000 are ignored and treated as 0. The recommended bitrate for speech is between 8000 and 40000 bps +as noted in RFC-7587 3.1.1.

+
+ + + + + + + +
+

Declared In

+

TVOOpusCodec.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOPcmuCodec.html b/docs/6.10.1/Classes/TVOPcmuCodec.html new file mode 100644 index 0000000..3f60786 --- /dev/null +++ b/docs/6.10.1/Classes/TVOPcmuCodec.html @@ -0,0 +1,192 @@ + + + + + + TVOPcmuCodec Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOPcmuCodec Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOAudioCodec : NSObject
Declared inTVOPcmuCodec.h
+ + + + + + + + +
+ + + + + + +
+
+ +

– init +

+ +
+
+ +
+ + +
+

Initialzes an instance of the TVOPcmuCodec codec.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Initialzes an instance of the TVOPcmuCodec codec.

+
+ + + + + + + +
+

Declared In

+

TVOPcmuCodec.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVORemoteAudioTrackStats.html b/docs/6.10.1/Classes/TVORemoteAudioTrackStats.html new file mode 100644 index 0000000..a972692 --- /dev/null +++ b/docs/6.10.1/Classes/TVORemoteAudioTrackStats.html @@ -0,0 +1,361 @@ + + + + + + TVORemoteAudioTrackStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVORemoteAudioTrackStats Class Reference

+ + +
+ + + + + + + +
Inherits fromTVORemoteTrackStats : TVOBaseTrackStats : NSObject
Declared inTVORemoteAudioTrackStats.h
+ + + + +
+ +

Overview

+

TVORemoteAudioTrackStats represents stats about a remote audio track.

+
+ + + + + +
+ + + + + + +
+
+ +

  audioLevel +

+ +
+
+ +
+ + +
+

Audio output level.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger audioLevel
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVORemoteAudioTrackStats.h

+
+ + +
+
+
+ +

  jitter +

+ +
+
+ +
+ + +
+

Packet jitter measured in milliseconds.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger jitter
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVORemoteAudioTrackStats.h

+
+ + +
+
+
+ +

  mos +

+ +
+
+ +
+ + +
+

The Mean Opinion Score (MOS). This is a measure of the call audio quality.

+
+ + + +
@property (nonatomic, assign, readonly) double mos
+ + + + + + + + + +
+

Discussion

+

The Mean Opinion Score (MOS) represents the call audio quality where a score of 5 represents + the best audio possible, for example, real world face to face speech, and 1 represents audio quality that is unintelligible. + Typically, a score of 3.5 or below for a few seconds becomes annoying to the user. The score is calculated using Vincenty’s formulae once + per second and uses jitter, rtt, and packet loss values to perform the calculation. The following table describes + how MOS relates to quality:

+ +

+ + + + + + + + + + + + + + + + + + +
MOS RangePerceived Quality
>= 4.2Excellent
4.1 - 4.2Great
3.7 - 4.0Good
3.1 - 3.6Almost unintelligible
< 3.1Degraded/Unacceptable

+
+ + + + + + + +
+

Declared In

+

TVORemoteAudioTrackStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Remote audio track stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVORemoteAudioTrackStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVORemoteTrackStats.html b/docs/6.10.1/Classes/TVORemoteTrackStats.html new file mode 100644 index 0000000..6a9003d --- /dev/null +++ b/docs/6.10.1/Classes/TVORemoteTrackStats.html @@ -0,0 +1,288 @@ + + + + + + TVORemoteTrackStats Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVORemoteTrackStats Class Reference

+ + +
+ + + + + + + +
Inherits fromTVOBaseTrackStats : NSObject
Declared inTVORemoteTrackStats.h
+ + + + +
+ +

Overview

+

TVORemoteTrackStats represents stats common to remote tracks.

+
+ + + + + +
+ + + + + + +
+
+ +

  bytesReceived +

+ +
+
+ +
+ + +
+

Total number of bytes received.

+
+ + + +
@property (nonatomic, assign, readonly) int64_t bytesReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVORemoteTrackStats.h

+
+ + +
+
+
+ +

  packetsReceived +

+ +
+
+ +
+ + +
+

Total number of packets received.

+
+ + + +
@property (nonatomic, assign, readonly) NSUInteger packetsReceived
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVORemoteTrackStats.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Remote track stats cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVORemoteTrackStats.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TVOStatsReport.html b/docs/6.10.1/Classes/TVOStatsReport.html new file mode 100644 index 0000000..5a235c1 --- /dev/null +++ b/docs/6.10.1/Classes/TVOStatsReport.html @@ -0,0 +1,417 @@ + + + + + + TVOStatsReport Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOStatsReport Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTVOStatsReport.h
+ + + + +
+ +

Overview

+

TVOStatsReport contains stats for all tracks associated with a single peer connection.

+
+ + + + + +
+ + + + + + +
+
+ +

  peerConnectionId +

+ +
+
+ +
+ + +
+

The id of peer connection related to this report.

+
+ + + +
@property (nonatomic, copy, readonly, nonnull) NSString *peerConnectionId
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOStatsReport.h

+
+ + +
+
+
+ +

  localAudioTrackStats +

+ +
+
+ +
+ + +
+

The stats for all local audio tracks in the peer connection.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) NSArray<TVOLocalAudioTrackStats*> *localAudioTrackStats
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOStatsReport.h

+
+ + +
+
+
+ +

  remoteAudioTrackStats +

+ +
+
+ +
+ + +
+

The stats for all remote audio tracks in the peer connection.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) NSArray<TVORemoteAudioTrackStats*> *remoteAudioTrackStats
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOStatsReport.h

+
+ + +
+
+
+ +

  iceCandidateStats +

+ +
+
+ +
+ + +
+

The stats for all Ice candidates.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) NSArray<TVOIceCandidateStats*> *iceCandidateStats
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOStatsReport.h

+
+ + +
+
+
+ +

  iceCandidatePairStats +

+ +
+
+ +
+ + +
+

The stats for all Ice candidates pairs.

+
+ + + +
@property (nonatomic, strong, readonly, nonnull) NSArray<TVOIceCandidatePairStats*> *iceCandidatePairStats
+ + + + + + + + + + + + + + + +
+

Declared In

+

TVOStatsReport.h

+
+ + +
+
+
+ +

– init +

+ +
+
+ +
+ + +
+

Developers shouldn’t initialize this class directly.

+
+ + + +
- (null_unspecified instancetype)init
+ + + + + + + + + +
+

Discussion

+

Stats report cannot be created explicitly.

+
+ + + + + + + +
+

Declared In

+

TVOStatsReport.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Classes/TwilioVoiceSDK.html b/docs/6.10.1/Classes/TwilioVoiceSDK.html new file mode 100644 index 0000000..7b55247 --- /dev/null +++ b/docs/6.10.1/Classes/TwilioVoiceSDK.html @@ -0,0 +1,1883 @@ + + + + + + TwilioVoiceSDK Class Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TwilioVoiceSDK Class Reference

+ + +
+ + + + + + + +
Inherits fromNSObject
Declared inTwilioVoice.h
+ + + + +
+ +

Overview

+

TwilioVoiceSDK is the entry point to the Twilio Voice SDK. You can register for VoIP push notifications, make outgoing +Calls, receive Call invites and set audio device to use in a Call using this class.

+
+ + + + + +
+ + + + +

Other Methods

+ +
+
+ +

  logLevel +

+ +
+
+ +
+ + +
+

The current logging level used by the SDK.

+
+ + + +
@property (nonatomic, assign, class) TVOLogLevel logLevel
+ + + + + + + + + +
+

Discussion

+

The default logging level is TVOLogLevelError. TwilioVoiceSDK and its components use NSLog internally.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

  insights +

+ +
+
+ +
+ + +
+

Specify reporting statistics to Insights.

+
+ + + +
@property (nonatomic, assign, class, getter=isInsightsEnabled) BOOL insights
+ + + + + + + + + +
+

Discussion

+

Sending stats data to Insights is enabled by default.

+
+ + + + + + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

  edge +

+ +
+
+ +
+ + +
+

The edge value is a Twilio Edge name that corresponds to a geographic location of Twilio infrastructure that + the client will connect to.

+
+ + + +
@property (nonatomic, copy, class, nonnull) NSString *edge
+ + + + + + + + + +
+

Discussion

+

The default value roaming automatically selects an edge based on the latency between client and + available edges. roaming requires the upstream DNS to support RFC7871. See Global Low Latency requirements for more information.

+ +

edge value must be specified before calling TwilioVoiceSDK.handleNotification().

+ +

See the new Edge names for possible values.

+
+ + + + + + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

  audioDevice +

+ +
+
+ +
+ + +
+

The TVOAudioDevice used to record and playback audio in a Call.

+
+ + + +
@property (class, nonatomic, strong, nonnull) id<TVOAudioDevice> audioDevice
+ + + + + + + + + +
+

Discussion

+

If you wish to provide your own TVOAudioDevice then you must set it before performing any other +actions with the SDK like connecting to a Call. It is also possible to change the device when you are no longer +connected to any Calls and have destroyed all other SDK objects.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

  logger +

+ +
+
+ +
+ + +
+

The TVOLogger used for logging.

+
+ + + +
@property (class, nonatomic, strong, nonnull) id<TVOLogger> logger
+ + + + + + + + + +
+

Discussion

+

If you wish to provide your own TVOLogger then you can set it by using this property. +Please refer to the changelog to see an example how this property can be set using a custom logger.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ sdkVersion +

+ +
+
+ +
+ + +
+

Returns the version of the SDK.

+
+ + + +
+ (nonnull NSString *)sdkVersion
+ + + + + +
+

Return Value

+

The version of the SDK.

+
+ + + + + + + + + + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ setLogLevel:module: +

+ +
+
+ +
+ + +
+

Sets the logging level for an individual module.

+
+ + + +
+ (void)setLogLevel:(TVOLogLevel)logLevel module:(TVOLogModule)module
+ + + +
+

Parameters

+ + + + + + + + + + + + +
logLevel

The TVOLogLevel level to be used by the module.

module

The TVOLogModule for which the logging level is to be set.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ logLevelForModule: +

+ +
+
+ +
+ + +
+

Retrieve the log level for a specific module in the TwilioVoice SDK.

+
+ + + +
+ (TVOLogLevel)logLevelForModule:(TVOLogModule)module
+ + + +
+

Parameters

+ + + + + + + +
module

The TVOLogModule for which the log level needs to be set.

+
+ + + +
+

Return Value

+

The current log level for the specified module.

+
+ + + + + + + + + + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+
+ + + +

Managing VoIP Push Notifications

+ +
+
+ +

+ registerWithAccessToken:deviceToken:completion: +

+ +
+
+ +
+ + +
+

Registers for Twilio VoIP push notifications.

+
+ + + +
+ (void)registerWithAccessToken:(nonnull NSString *)accessToken deviceToken:(nonnull NSData *)deviceToken completion:(nullable void ( ^ ) ( NSError *__nullable error ))completion
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
accessToken

Twilio Access Token.

deviceToken

The push registry token raw data for Apple VoIP Service.

completion

Callback block to receive the result of the registration.

+
+ + + + + + + +
+

Discussion

+

Registering for push notifications is required to receive incoming call notification messages through Twilio’s + infrastructure. Once successfully registered, the registered binding has a time-to-live(TTL) of 1 year. If the registered binding + is inactive for 1 year it is deleted and push notifications to the registered identity will not succeed. However, whenever + the registered binding is used to reach the registered identity the TTL is reset to 1 year. A successful registration will + ensure that push notifications will arrive via the APNs for the lifetime of the registration device token provided by + the APNs instance.

+ +

Your app must initialize PKPushRegistry with PushKit push type VoIP at the launch time. As mentioned in the + PushKit guidelines, + the system can’t deliver push notifications to your app until you create a PKPushRegistry object for + VoIP push type and set the delegate. If your app delays the initialization of PKPushRegistry, your app may receive outdated + PushKit push notifications, and if your app decides not to report the received outdated push notifications to CallKit, iOS may + terminate your app.

+ +

If the registration is successful the completion handler will contain a Null NSError. If the registration + fails, the completion handler will have a nonnull NSError with UserInfo string describing the reason for failure.

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Registration ErrorError CodeDescription
TVOErrorAccessTokenInvalidError 20101Twilio was unable to validate your Access Token
TVOErrorAccessTokenHeaderInvalidError 20102Invalid Access Token header
TVOErrorAccessTokenIssuerInvalidError 20103Invalid Access Token issuer or subject
TVOErrorAccessTokenExpiredError 20104Access Token has expired or expiration date is invalid
TVOErrorAccessTokenNotYetValidError 20105Access Token not yet valid
TVOErrorAccessTokenGrantsInvalidError 20106Invalid Access Token grants
TVOErrorExpirationTimeExceedsMaxTimeAllowedError 20157Expiration Time in the Access Token Exceeds Maximum Time Allowed
TVOErrorAccessForbiddenError 20403Forbidden. The account lacks permission to access the Twilio API
TVOErrorBadRequestError 31400Bad Request. The request could not be understood due to malformed syntax
TVOErrorForbiddenError 31403Forbidden. The server understood the request, but is refusing to fulfill it
TVOErrorNotFoundError 31404Not Found. The server has not found anything matching the request
TVOErrorRequestTimeoutError 31408Request Timeout. A request timeout occurred
TVOErrorConflictError 31409Conflict. The request could not be processed because of a conflict in the current state of the resource. Another request may be in progress
TVOErrorUpgradeRequiredError 31426Upgrade Required. This error is raised when an HTTP 426 response is received. The reason for this is most likely because of an incompatible TLS version. To mitigate this, you may need to upgrade the OS or download a more recent version of the SDK.
TVOErrorTooManyRequestsError 31429Too Many Requests. Too many requests were sent in a given amount of time
TVOErrorInternalServerError 31500Internal Server Error. The server could not fulfill the request due to some unexpected condition
TVOErrorBadGatewayError 31502Bad Gateway. The server is acting as a gateway or proxy, and received an invalid response from a downstream server while attempting to fulfill the request
TVOErrorServiceUnavailableError 31503Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server
TVOErrorGatewayTimeoutError 31504Gateway Timeout. The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server
TVOErrorTokenAuthenticationRejected 51007Token authentication is rejected by authentication service
TVOErrorRegistrationError 31301Registration failed. Look at [error localizedFailureReason] for details

+ +

Insights

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
registrationregistrationRegistration is successful3.0.0-beta3
registration registration-errorRegistration failed3.0.0-beta3

+ +

An example of using the registration API

+ +
- (void)pushRegistry:(PKPushRegistry *)registry
+didUpdatePushCredentials:(PKPushCredentials *)credentials
+         forType:(NSString *)type {
+    [TwilioVoiceSDK registerWithAccessToken:accessToken
+                                deviceToken:credentials.token
+                                 completion:^(NSError *error) {
+        if(error != nil) {
+            NSLog("Failed to register for incoming push: %@\n\t  - reason: %@", [error localizedDescription], [error localizedFailureReason]);
+        } else {
+            NSLog("Registration successful");
+        }
+    }];
+
+ +

The maximum number of characters for the identity provided in the token is 121. The identity may only contain alpha-numeric + and underscore characters. Other characters, including spaces, or exceeding the maximum number of characters, will result + in not being able to place or receive calls.

+ +

To specify a home region where your data is stored, use the twr specifier in the access token header as the example below:

+ +

{ + “alg”: “HS256”, + “typ”: “JWT”, + “cty”: “twilio-fpa;v=1”, + “twr”: “au1” + }

+ +

This can also be done by using the Twilio helper libraries when generating the access token. Here is an example of using the Twilio Node.js helper library:

+ +

const accessToken = new twilio.jwt.AccessToken( + credentials.accountSid, + credentials.apiKeySid, + credentials.apiKeySecret, { + identity, + ttl, + region: ‘au1’, + }, + );

+ +

Note that the home region configuration is only scoped to one registration request.

+
+ + + + + + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ unregisterWithAccessToken:deviceToken:completion: +

+ +
+
+ +
+ + +
+

Unregisters from Twilio VoIP push notifications.

+
+ + + +
+ (void)unregisterWithAccessToken:(nonnull NSString *)accessToken deviceToken:(nonnull NSData *)deviceToken completion:(nullable void ( ^ ) ( NSError *__nullable error ))completion
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
accessToken

Twilio Access Token.

deviceToken

The push registry token raw data for Apple VoIP Service.

completion

Callback block to receive the result of the unregistration.

+
+ + + + + + + +
+

Discussion

+

Call this method when you no longer want to receive push notifications for incoming Calls.

+ +

If the unregistration is successful the completion handler will contain a Null NSError. If the unregistration + fails, the completion handler will have a nonnull NSError with UserInfo string describing the reason for failure.

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Registration ErrorError CodeDescription
TVOErrorAccessTokenInvalidError 20101Twilio was unable to validate your Access Token
TVOErrorAccessTokenHeaderInvalidError 20102Invalid Access Token header
TVOErrorAccessTokenIssuerInvalidError 20103Invalid Access Token issuer or subject
TVOErrorAccessTokenExpiredError 20104Access Token has expired or expiration date is invalid
TVOErrorAccessTokenNotYetValidError 20105Access Token not yet valid
TVOErrorAccessTokenGrantsInvalidError 20106Invalid Access Token grants
TVOErrorExpirationTimeExceedsMaxTimeAllowedError 20157Expiration Time in the Access Token Exceeds Maximum Time Allowed
TVOErrorAccessForbiddenError 20403Forbidden. The account lacks permission to access the Twilio API
TVOErrorBadRequestError 31400Bad Request. The request could not be understood due to malformed syntax
TVOErrorForbiddenError 31403Forbidden. The server understood the request, but is refusing to fulfill it
TVOErrorNotFoundError 31404Not Found. The server has not found anything matching the request
TVOErrorRequestTimeoutError 31408Request Timeout. A request timeout occurred
TVOErrorConflictError 31409Conflict. The request could not be processed because of a conflict in the current state of the resource. Another request may be in progress
TVOErrorUpgradeRequiredError 31426Upgrade Required. This error is raised when an HTTP 426 response is received. The reason for this is most likely because of an incompatible TLS version. To mitigate this, you may need to upgrade the OS or download a more recent version of the SDK
TVOErrorTooManyRequestsError 31429Too Many Requests. Too many requests were sent in a given amount of time
TVOErrorInternalServerError 31500Internal Server Error. The server could not fulfill the request due to some unexpected condition
TVOErrorBadGatewayError 31502Bad Gateway. The server is acting as a gateway or proxy, and received an invalid response from a downstream server while attempting to fulfill the request
TVOErrorServiceUnavailableError 31503Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server
TVOErrorGatewayTimeoutError 31504Gateway Timeout. The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server
TVOErrorTokenAuthenticationRejected 51007Token authentication is rejected by authentication service
TVOErrorRegistrationError 31301Registration failed. Look at [error localizedFailureReason] for details

+ +

Insights

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
registrationunregistrationUnregistration is successful3.0.0-beta3
registrationunregistration-errorUnregistration failed3.0.0-beta3

+ +

An example of using the unregistration API

+ +
 [TwilioVoiceSDK unregisterWithAccessToken:accessToken
+                               deviceToken:deviceToken
+                                completion:^(NSError *error) {
+     if(error != nil) {
+         NSLog("Failed to unregister for incoming push: %@\n\t  - reason: %@", [error localizedDescription], [error localizedFailureReason]);
+     } else {
+         NSLog("Unregistration successful");
+     }
+ }];
+
+ +

The maximum number of characters for the identity provided in the token is 121. The identity may only contain alpha-numeric + and underscore characters. Other characters, including spaces, or exceeding the maximum number of characters, will result + in not being able to place or receive calls.

+ +

To specify a home region where your data is stored, use the twr specifier in the access token header as the example below:

+ +

{ + “alg”: “HS256”, + “typ”: “JWT”, + “cty”: “twilio-fpa;v=1”, + “twr”: “au1” + }

+ +

This can also be done by using the Twilio helper libraries when generating the access token. Here is an example of using the Twilio Node.js helper library:

+ +

const accessToken = new twilio.jwt.AccessToken( + credentials.accountSid, + credentials.apiKeySid, + credentials.apiKeySecret, { + identity, + ttl, + region: ‘au1’, + }, + );

+ +

Note that the home region configuration is only scoped to one registration request.

+
+ + + + + + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ handleNotification:delegate:delegateQueue: +

+ +
+
+ +
+ + +
+

Processes an incoming VoIP push notification payload.

+
+ + + +
+ (BOOL)handleNotification:(nonnull NSDictionary *)payload delegate:(nonnull id<TVONotificationDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
payload

Push notification payload.

delegate

A TVONotificationDelegate to receive incoming push notification callbacks.

delegateQueue

The queue where the [TVONotificationDelegate cancelledCallInviteReceived:error:] method will invoked. By default the main dispatch queue will be used.

+
+ + + +
+

Return Value

+

A BOOL value that indicates whether the payload is a valid notification sent by Twilio.

+
+ + + + + +
+

Discussion

+

This method will synchronously process call notification payload and call the provided delegate + on the same dispatch queue.

If you are specifying an edge value via the TwilioVoiceSDK.edge property you must do so before calling this method.

+ +

Twilio sends a call notification via Apple VoIP Service. + The notification type is encoded in the dictionary with the key twi_message_type and the value + twilio.voice.call.

+ +

A call notification is sent when someone wants to reach the registered identity. + Passing a call notification into this method will result in a callInviteReceived: callback with a TVOCallInvite + object and return YES.

+ +

To ensure that a cancellation is reported via the [TVONotificationDelegate cancelledCallInviteReceived:error:] callback, + the TVOCallInvite must be retained until the call is accepted or rejected.

+ +

Insights

+ +

+ + + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
connectionincomingIncoming call notification received3.0.0-preview1
connectionlistenReported when an attempt to listen for cancellations is made5.0.0
connectionlisteningReported when an attempt to listen for cancellations has succeeded5.0.0
connectioncancelReported when a cancellation has been reported5.0.0
connectionlistening-errorReported when an attempt to listen for a cancellation has failed5.0.0
registrationunsupported-cancel-message-errorReported when a “cancel” push notification is processed by the SDK. This version of the SDK does not support “cancel” push notifications5.0.0

+ +

An example of using the handleNotification API

+ +
@interface CallViewController () <PKPushRegistryDelegate, TVONotificationDelegate, TVOCallDelegate, ... >
+
+// property declarations
+
+@end
+
+@implementation CallViewController
+
+// ViewController setup and other code ...
+
+#pragma mark - PKPushRegistryDelegate
+
+- (void)pushRegistry:(PKPushRegistry *)registry
+    didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
+    forType:(NSString *)type {
+        NSLog(@"Received incoming push: %@", payload.dictionaryPayload);
+
+        if ([type isEqualToString:PKPushTypeVoIP]) {
+            if (![TwilioVoiceSDK handleNotification:payload.dictionaryPayload delegate:self]) {
+                NSLog(@"The push notification was not a Twilio Voice push notification");
+        }
+    }
+}
+
+#pragma mark - TVONotificationDelegate methods
+
+- (void)callInviteReceived:(TVOCallInvite *)callInvite {
+    // handle call invite
+}
+
+- (void)cancelledCallInviteReceived:(TVOCancelledCallInvite *)cancelledCallInvite {
+    // handle cancelled call invite
+}
+
+@end
+
+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ handleNotification:delegate:delegateQueue:callMessageDelegate: +

+ +
+
+ +
+ + +
+

Processes an incoming VoIP push notification payload.

+
+ + + +
+ (BOOL)handleNotification:(nonnull NSDictionary *)payload delegate:(nonnull id<TVONotificationDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue callMessageDelegate:(nullable id<TVOCallMessageDelegate>)callMessageDelegate
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
payload

Push notification payload.

delegate

A TVONotificationDelegate to receive incoming push notification callbacks.

delegateQueue

The queue where the [TVONotificationDelegate cancelledCallInviteReceived:error:] method will invoked. By default the main dispatch queue will be used.

callMessageDelegate

The TVOCallMessageDelegate for TVOCallMessage related updates that are raised to the TVOCallInvite.

+
+ + + +
+

Return Value

+

A BOOL value that indicates whether the payload is a valid notification sent by Twilio.

+
+ + + + + +
+

Discussion

+

This method will synchronously process call notification payload and call the provided delegate + on the same dispatch queue.

If you are specifying an edge value via the TwilioVoiceSDK.edge property you must do so before calling this method.

+ +

Twilio sends a call notification via Apple VoIP Service. + The notification type is encoded in the dictionary with the key twi_message_type and the value + twilio.voice.call.

+ +

A call notification is sent when someone wants to reach the registered identity. + Passing a call notification into this method will result in a callInviteReceived: callback with a TVOCallInvite + object and return YES.

+ +

To ensure that a cancellation is reported via the [TVONotificationDelegate cancelledCallInviteReceived:error:] callback, + the TVOCallInvite must be retained until the call is accepted or rejected.

+ +

Insights

+ +

+ + + + + + + + + + + + + + + + + + + + + + +
Group NameEvent NameDescriptionSince version
connectionincomingIncoming call notification received3.0.0-preview1
connectionlistenReported when an attempt to listen for cancellations is made5.0.0
connectionlisteningReported when an attempt to listen for cancellations has succeeded5.0.0
connectioncancelReported when a cancellation has been reported5.0.0
connectionlistening-errorReported when an attempt to listen for a cancellation has failed5.0.0
registrationunsupported-cancel-message-errorReported when a “cancel” push notification is processed by the SDK. This version of the SDK does not support “cancel” push notifications5.0.0

+ +

An example of using the handleNotification API

+ +
@interface CallViewController () <PKPushRegistryDelegate, TVONotificationDelegate, TVOCallDelegate, TVOCallMessageDelegate ... >
+
+// property declarations
+
+@end
+
+@implementation CallViewController
+
+// ViewController setup and other code ...
+
+#pragma mark - PKPushRegistryDelegate
+
+- (void)pushRegistry:(PKPushRegistry *)registry
+    didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
+    forType:(NSString *)type {
+        NSLog(@"Received incoming push: %@", payload.dictionaryPayload);
+
+        if ([type isEqualToString:PKPushTypeVoIP]) {
+            if (![TwilioVoiceSDK handleNotification:payload.dictionaryPayload delegate:self callMessageDelegate:self]) {
+                NSLog(@"The push notification was not a Twilio Voice push notification");
+        }
+    }
+}
+
+#pragma mark - TVONotificationDelegate methods
+
+- (void)callInviteReceived:(TVOCallInvite *)callInvite {
+    // handle call invite
+}
+
+- (void)cancelledCallInviteReceived:(TVOCancelledCallInvite *)cancelledCallInvite {
+    // handle cancelled call invite
+}
+
+@end
+
+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+
+ + + +

Connecting Calls

+ +
+
+ +

+ connectWithAccessToken:delegate: +

+ +
+
+ +
+ + +
+

Make an outgoing Call.

+
+ + + +
+ (nonnull TVOCall *)connectWithAccessToken:(nonnull NSString *)accessToken delegate:(nonnull id<TVOCallDelegate>)delegate
+ + + +
+

Parameters

+ + + + + + + + + + + + +
accessToken

The access token.

delegate

A TVOCallDelegate to receive Call state updates.

+
+ + + +
+

Return Value

+

A TVOCall object.

+
+ + + + + +
+

Discussion

+

This method is guaranteed to return a TVOCall object. It’s possible for the returned Call to either + succeed or fail to connect.

+ +

If you are specifying an edge value via the TwilioVoiceSDK.edge property you must do so before calling this method.

+ +

The TVOCallDelegate will receive the Call state update callbacks. The callbacks are listed here.

+ +

+ + + + + + + + + + + + + + + +
Callback NameDescriptionSince version
call:didFailToConnectWithError The call failed to connect. An NSError object provides details of the root cause.3.0.0-preview1
callDidStartRinging Emitted once before the callDidConnect callback when the callee is being alerted of a Call.3.0.0-preview2
callDidConnect The Call has connected.3.0.0-preview1
call:didDisconnectWithError The Call was disconnected. If the Call ends due to an error the NSError is non-null. If the call ends normally NSError is nil.3.0.0-preview1

+ +

If connect fails, call:didFailToConnectWithError or call:didDisconnectWithError callback is raised with an NSError object. [error localizedDescription], + [error localizedFailureReason] and [error code] provide details of the failure.

+ +

If any authentication error occurs then the SDK will receive one of the following errors.

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Authentication ErrorsError CodeDescription
TVOErrorAccessTokenInvalidError20101Twilio was unable to validate your Access Token
TVOErrorAccessTokenHeaderInvalidError20102Invalid Access Token header
TVOErrorAccessTokenIssuerInvalidError20103Invalid Access Token issuer or subject
TVOErrorAccessTokenExpiredError20104Access Token has expired or expiration date is invalid
TVOErrorAccessTokenNotYetValidError20105Access Token not yet valid
TVOErrorAccessTokenGrantsInvalidError20106Invalid Access Token grants
TVOErrorAuthFailureCodeError20151Twilio failed to authenticate the client
TVOErrorExpirationTimeExceedsMaxTimeAllowedError20157Expiration Time in the Access Token Exceeds Maximum Time Allowed
TVOErrorAccessForbiddenError20403Forbidden. The account lacks permission to access the Twilio API
TVOErrorApplicationNotFoundError21218Invalid ApplicationSid

+ +

If any connection fails because of any other error then the SDK will receive one of the following errors.

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Connection ErrorsError CodeDescription
TVOErrorConnectionError31005Connection error
TVOErrorCallCancelledError31008Call Cancelled
TVOErrorTransportError31009Transport error
TVOErrorMalformedRequestError31100Malformed request
TVOErrorAuthorizationError31201Authorization error
TVOErrorBadRequestError31400Bad Request
TVOErrorForbiddenError31403Forbidden
TVOErrorNotFoundError31404Not Found
TVOErrorRequestTimeoutError31408Request Timeout
TVOErrorTemporarilyUnavailableError31480Temporarily Unavailable
TVOErrorCallDoesNotExistError31481Call/Transaction Does Not Exist
TVOErrorAddressIncompleteError31484The phone number is malformed
TVOErrorBusyHereError31486Busy Here
TVOErrorRequestTerminatedError31487Request Terminated
TVOErrorInternalServerError31500Internal Server Error
TVOErrorBadGatewayError31502Bad Gateway
TVOErrorServiceUnavailableError31503Service Unavailable
TVOErrorGatewayTimeoutError31504Gateway Timeout
TVOErrorDNSResolutionError31530DNS Resolution Error
TVOErrorDeclineError31603Decline
TVOErrorDoesNotExistAnywhereError31604Does Not Exist Anywhere
TVOErrorSignalingConnectionDisconnectedError53001Signaling connection disconnected
TVOErrorMediaClientLocalDescFailedError53400Client is unable to create or apply a local media description
TVOErrorMediaServerLocalDescFailedError53401Server is unable to create or apply a local media description
TVOErrorMediaClientRemoteDescFailedError53402Client is unable to apply a remote media description
TVOErrorMediaServerRemoteDescFailedError53403Server is unable to apply a remote media description
TVOErrorMediaNoSupportedCodecError53404No supported codec
TVOErrorMediaConnectionError53405Media connection failed
TVOMediaDtlsTransportFailedErrorCode53407Media connection failed due to DTLS handshake failure

+ +

Insights

+ +

+ + + + + + + + + +
Group NameEvent NameDescriptionSince version
connectionoutgoingOutgoing call is made3.0.0-beta2
settingscodecnegotiated selected codec is received and remote SDP is set5.1.1

+ +

If connection fails then an error event will be published.

+ +

+ + + + + + +
Group NameEvent NameDescriptionSince version
connectionerrorerror description3.0.0-beta2

+ +

An example of using the connectWithAccessToken:delegate: API

+ +
@interface CallViewController () <TVOCallDelegate, ... >
+
+// property declarations
+
+@end
+
+@implementation CallViewController
+
+// ViewController setup and other code ...
+
+- (void)makeCall:(NSString*)accessToken
+    self.call = [TwilioVoiceSDK connectWithAccessToken:accessToken delegate:self];
+}
+
+#pragma mark - TVOCallDelegate
+
+- (void)callDidStartRinging:(TVOCall *)call {
+    NSLog(@"Call is ringing at called party %@", call.to);
+}
+
+- (void)call:(TVOCall *)call didFailToConnectWithError:(NSError *)error {
+    NSLog("Failed to Connect the Call: %@\n\t  - reason: %@", [error localizedDescription], [error localizedFailureReason]);
+}
+
+- (void)call:(TVOCall *)call didDisconnectWithError:(NSError *)error {
+    if (error) {
+        NSLog(@"Call disconnected with error: %@", error);
+    } else {
+        NSLog(@"Call disconnected");
+    }
+}
+
+- (void)callDidConnect:(TVOCall *)call {
+    NSLog(@"Call connected.");
+}
+
+@end
+
+ +

The maximum number of characters for the identity provided in the token is 121. The identity may only contain alpha-numeric + and underscore characters. Other characters, including spaces, or exceeding the maximum number of characters, will result + in not being able to place or receive calls.

+ +

To specify a home region where your data is stored, use the twr specifier in the access token header as the example below:

+ +

{ + “alg”: “HS256”, + “typ”: “JWT”, + “cty”: “twilio-fpa;v=1”, + “twr”: “au1” + }

+ +

This can also be done by using the Twilio helper libraries when generating the access token. Here is an example of using the Twilio Node.js helper library:

+ +

const accessToken = new twilio.jwt.AccessToken( + credentials.accountSid, + credentials.apiKeySid, + credentials.apiKeySecret, { + identity, + ttl, + region: ‘au1’, + }, + );

+ +

Note that the home region configuration is only scoped to one call.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+ +

+ connectWithOptions:delegate: +

+ +
+
+ +
+ + +
+

Make an outgoing Call.

+
+ + + +
+ (nonnull TVOCall *)connectWithOptions:(nonnull TVOConnectOptions *)options delegate:(nonnull id<TVOCallDelegate>)delegate
+ + + +
+

Parameters

+ + + + + + + + + + + + +
options

The connect options.

delegate

A TVOCallDelegate to receive Call state updates.

+
+ + + +
+

Return Value

+

A TVOCall object.

+
+ + + + + +
+

Discussion

+

This method is guaranteed to return a TVOCall object. It’s possible for the returned Call to either + succeed or fail to connect. Use the TVOConnectOptions builder to specify Call parameters and UUID.

If you are specifying an edge value via the TwilioVoiceSDK.edge property you must do so before calling this method.

+ +

The TVOCallDelegate will receive the Call state update callbacks. The callbacks are same as connectWithAccessToken:delegate: API.

+ +

If connect fails, call:didFailToConnectWithError or call:didDisconnectWithError callback is raised with an NSError object. [error localizedDescription], + [error localizedFailureReason] and [error code] provide details of the failure. The error codes are same as connectWithAccessToken:delegate: API.

+ +

Insights

+ +

+ + + + + + +
Group NameEvent NameDescriptionSince version
connectionoutgoingOutgoing call is made3.0.0-beta2

+ +

If connection fails then an error event will be published.

+ +

+ + + + + + +
Group NameEvent NameDescriptionSince version
connectionerrorerror description3.0.0-beta2

+ +

An example of using the connectWithAccessToken:delegate API

+ +
@interface CallViewController () <TVOCallDelegate, ... >
+
+// property declarations
+
+@end
+
+@implementation CallViewController
+
+// ViewController setup and other code ...
+
+- (void)makeCall:(NSString *)accessToken uuid:(NSString *)uuid to:(NSString *)phoneNumber
+    NSMutableDictionary *params = [NSMutableDictionary dictionary];
+
+    if ([to length] > 0) {
+        params[@"Mode"] = @"Voice";
+        params[@"PhoneNumber"] = phoneNumber;
+    }
+
+    TVOConnectOptions *connectOptions = [TVOConnectOptions optionsWithAccessToken:accessToken
+        block:^(TVOConnectOptionsBuilder *builder) {
+            builder.params = params;
+            builder.uuid = uuid;
+    }];
+
+    self.call = [TwilioVoiceSDK connectWithOptions:connectOptions delegate:self];
+}
+
+#pragma mark - TVOCallDelegate
+
+- (void)callDidStartRinging:(TVOCall *)call {
+    NSLog(@"Call is ringing at called party %@", call.to);
+}
+
+- (void)call:(TVOCall *)call didFailToConnectWithError:(NSError *)error {
+    NSLog("Failed to Connect the Call: %@\n\t  - reason: %@", [error localizedDescription], [error localizedFailureReason]);
+}
+
+- (void)call:(TVOCall *)call didDisconnectWithError:(NSError *)error {
+    if (error) {
+        NSLog(@"Call disconnected with error: %@", error);
+    } else {
+        NSLog(@"Call disconnected");
+    }
+}
+
+- (void)callDidConnect:(TVOCall *)call {
+    NSLog(@"Call connected.");
+}
+
+ +

@end

+ +

To specify a home region where your data is stored, use the twr specifier in the access token header as the example below:

+ +

{ + “alg”: “HS256”, + “typ”: “JWT”, + “cty”: “twilio-fpa;v=1”, + “twr”: “au1” + }

+ +

This can also be done by using the Twilio helper libraries when generating the access token. Here is an example of using the Twilio Node.js helper library:

+ +

const accessToken = new twilio.jwt.AccessToken( + credentials.accountSid, + credentials.apiKeySid, + credentials.apiKeySecret, { + identity, + ttl, + region: ‘au1’, + }, + );

+ +

Note that the home region configuration is only scoped to one call.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TwilioVoice.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOCallFeedbackIssue.html b/docs/6.10.1/Constants/TVOCallFeedbackIssue.html new file mode 100644 index 0000000..adeb24a --- /dev/null +++ b/docs/6.10.1/Constants/TVOCallFeedbackIssue.html @@ -0,0 +1,280 @@ + + + + + + TVOCallFeedbackIssue Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallFeedbackIssue Constants Reference

+ + +
+ + + + +
Declared inTVOCall.h
+ + + + + + + +

TVOCallFeedbackIssue

+ + +
+

Available issues for Call quality feedback.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOCallFeedbackIssue ) {
+ +    TVOCallFeedbackIssueNotReported = 0,
+ +    TVOCallFeedbackIssueDroppedCall,
+ +    TVOCallFeedbackIssueAudioLatency,
+ +    TVOCallFeedbackIssueOneWayAudio,
+ +    TVOCallFeedbackIssueChoppyAudio,
+ +    TVOCallFeedbackIssueNoisyCall,
+ +    TVOCallFeedbackIssueEcho,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOCallFeedbackIssueNotReported
+
+ + +

No issue reported.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackIssueDroppedCall
+
+ + +

Call initially connected but was dropped.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackIssueAudioLatency
+
+ + +

Participants can hear each other but with significant delay.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackIssueOneWayAudio
+
+ + +

One participant couldn’t hear the other.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackIssueChoppyAudio
+
+ + +

Periodically, participants couldn’t hear each other. Some words were lost.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackIssueNoisyCall
+
+ + +

There was disturbance, background noise, low clarity.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackIssueEcho
+
+ + +

There was echo during Call.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOCallFeedbackScore.html b/docs/6.10.1/Constants/TVOCallFeedbackScore.html new file mode 100644 index 0000000..6cead55 --- /dev/null +++ b/docs/6.10.1/Constants/TVOCallFeedbackScore.html @@ -0,0 +1,261 @@ + + + + + + TVOCallFeedbackScore Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallFeedbackScore Constants Reference

+ + +
+ + + + +
Declared inTVOCall.h
+ + + + + + + +

TVOCallFeedbackScore

+ + +
+

Available scores for Call quality feedback.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOCallFeedbackScore ) {
+ +    TVOCallFeedbackScoreNotReported = 0,
+ +    TVOCallFeedbackScoreOnePoint,
+ +    TVOCallFeedbackScoreTwoPoints,
+ +    TVOCallFeedbackScoreThreePoints,
+ +    TVOCallFeedbackScoreFourPoints,
+ +    TVOCallFeedbackScoreFivePoints,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOCallFeedbackScoreNotReported
+
+ + +

No score reported.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackScoreOnePoint
+
+ + +

Terrible call quality, call dropped, or caused great difficulty in communicating.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackScoreTwoPoints
+
+ + +

Bad call quality, like choppy audio, periodic one-way-audio.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackScoreThreePoints
+
+ + +

Average call quality, manageable with some noise/minor packet loss.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackScoreFourPoints
+
+ + +

Good call quality, minor issues.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallFeedbackScoreFivePoints
+
+ + +

Great call quality. No issues.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOCallMessageType.html b/docs/6.10.1/Constants/TVOCallMessageType.html new file mode 100644 index 0000000..5983769 --- /dev/null +++ b/docs/6.10.1/Constants/TVOCallMessageType.html @@ -0,0 +1,166 @@ + + + + + + TVOCallMessageType Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallMessageType Constants Reference

+ + +
+ + + + +
Declared inTVOCallMessage.h
+ + + + + + + +

TVOCallMessageType

+ + +
+

Enumeration of call message types.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOCallMessageType ) {
+ +    TVOCallMessageUserDefinedMessage = 0,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOCallMessageUserDefinedMessage
+
+ + +

User-defined message.

+ + + + + + +

+ Declared In TVOCallMessage.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOCallMessage.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOCallQualityWarning.html b/docs/6.10.1/Constants/TVOCallQualityWarning.html new file mode 100644 index 0000000..117ab89 --- /dev/null +++ b/docs/6.10.1/Constants/TVOCallQualityWarning.html @@ -0,0 +1,242 @@ + + + + + + TVOCallQualityWarning Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallQualityWarning Constants Reference

+ + +
+ + + + +
Declared inTVOCall.h
+ + + + + + + +

TVOCallQualityWarning

+ + +
+

Call quality warning types.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOCallQualityWarning ) {
+ +    TVOCallQualityWarningHighRtt = 0,
+ +    TVOCallQualityWarningHighJitter,
+ +    TVOCallQualityWarningHighPacketsLostFraction,
+ +    TVOCallQualityWarningLowMos,
+ +    TVOCallQualityWarningConstantAudioInputLevel,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOCallQualityWarningHighRtt
+
+ + +

High Round Trip Time warning.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallQualityWarningHighJitter
+
+ + +

High Jitter warning.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallQualityWarningHighPacketsLostFraction
+
+ + +

High Packets lost fraction warning.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallQualityWarningLowMos
+
+ + +

Low Mean Opinion Score warning.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallQualityWarningConstantAudioInputLevel
+
+ + +

Constant audio level warning.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOCallState.html b/docs/6.10.1/Constants/TVOCallState.html new file mode 100644 index 0000000..e61eb81 --- /dev/null +++ b/docs/6.10.1/Constants/TVOCallState.html @@ -0,0 +1,242 @@ + + + + + + TVOCallState Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallState Constants Reference

+ + +
+ + + + +
Declared inTVOCall.h
+ + + + + + + +

TVOCallState

+ + +
+

Enumeration indicating the state of the Call.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOCallState ) {
+ +    TVOCallStateConnecting = 0,
+ +    TVOCallStateRinging,
+ +    TVOCallStateConnected,
+ +    TVOCallStateReconnecting,
+ +    TVOCallStateDisconnected,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOCallStateConnecting
+
+ + +

The Call is connecting.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallStateRinging
+
+ + +

The Call is ringing.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallStateConnected
+
+ + +

The Call is connected.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallStateReconnecting
+
+ + +

The Call is reconnecting.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
TVOCallStateDisconnected
+
+ + +

The Call is disconnected.

+ + + + + + +

+ Declared In TVOCall.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOCall.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOIceCandidatePairState.html b/docs/6.10.1/Constants/TVOIceCandidatePairState.html new file mode 100644 index 0000000..dc3562c --- /dev/null +++ b/docs/6.10.1/Constants/TVOIceCandidatePairState.html @@ -0,0 +1,280 @@ + + + + + + TVOIceCandidatePairState Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceCandidatePairState Constants Reference

+ + +
+ + + + +
Declared inTVOIceCandidatePairStats.h
+ + + + + + + +

TVOIceCandidatePairState

+ + +
+

Specifies the type of the Ice candidate pair state.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOIceCandidatePairState ) {
+ +    TVOIceCandidatePairStateSucceeded,
+ +    TVOIceCandidatePairStateFrozen,
+ +    TVOIceCandidatePairStateWaiting,
+ +    TVOIceCandidatePairStateInProgress,
+ +    TVOIceCandidatePairStateFailed,
+ +    TVOIceCandidatePairStateCancelled,
+ +    TVOIceCandidatePairStateUnknown,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOIceCandidatePairStateSucceeded
+
+ + +

Ice candidate pair state Succeeded

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
TVOIceCandidatePairStateFrozen
+
+ + +

Ice candidate pair state Frozen

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
TVOIceCandidatePairStateWaiting
+
+ + +

Ice candidate pair state Waiting

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
TVOIceCandidatePairStateInProgress
+
+ + +

Ice candidate pair state in progress

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
TVOIceCandidatePairStateFailed
+
+ + +

Ice candidate pair state state Failed

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
TVOIceCandidatePairStateCancelled
+
+ + +

Ice candidate pair state state Cancelled

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
TVOIceCandidatePairStateUnknown
+
+ + +

Unknown Ice candidate pair state

+ + + + + + +

+ Declared In TVOIceCandidatePairStats.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOIceCandidatePairStats.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOIceTransportPolicy.html b/docs/6.10.1/Constants/TVOIceTransportPolicy.html new file mode 100644 index 0000000..d39564d --- /dev/null +++ b/docs/6.10.1/Constants/TVOIceTransportPolicy.html @@ -0,0 +1,185 @@ + + + + + + TVOIceTransportPolicy Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOIceTransportPolicy Constants Reference

+ + +
+ + + + +
Declared inTVOIceOptions.h
+ + + + + + + +

TVOIceTransportPolicy

+ + +
+

TVOIceTransportPolicy specifies which ICE transports to allow.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOIceTransportPolicy ) {
+ +    TVOIceTransportPolicyAll = 0,
+ +    TVOIceTransportPolicyRelay = 1,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOIceTransportPolicyAll
+
+ + +

All transports will be used.

+ + + + + + +

+ Declared In TVOIceOptions.h. +

+ +
+ +
TVOIceTransportPolicyRelay
+
+ + +

Only TURN relay transports will be used.

+ + + + + + +

+ Declared In TVOIceOptions.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOIceOptions.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOLogLevel.html b/docs/6.10.1/Constants/TVOLogLevel.html new file mode 100644 index 0000000..6d659ed --- /dev/null +++ b/docs/6.10.1/Constants/TVOLogLevel.html @@ -0,0 +1,299 @@ + + + + + + TVOLogLevel Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOLogLevel Constants Reference

+ + +
+ + + + +
Declared inTVOLogParameters.h
+ + + + + + + +

TVOLogLevel

+ + +
+

An enumeration indicating log levels that can be used with the SDK.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOLogLevel ) {
+ +    TVOLogLevelOff = 0,
+ +    TVOLogLevelFatal,
+ +    TVOLogLevelError,
+ +    TVOLogLevelWarning,
+ +    TVOLogLevelInfo,
+ +    TVOLogLevelDebug,
+ +    TVOLogLevelTrace,
+ +    TVOLogLevelAll,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOLogLevelOff
+
+ + +

Disables all SDK logging.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelFatal
+
+ + +

Show very severe error events that will presumably lead the application to abort.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelError
+
+ + +

Show errors only.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelWarning
+
+ + +

Show warnings as well as all Error log messages.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelInfo
+
+ + +

Show informational messages as well as all Warn log messages.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelDebug
+
+ + +

Show debugging messages as well as all Info log messages.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelTrace
+
+ + +

Show low-level debugging messages as well as all Debug log messages.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogLevelAll
+
+ + +

Show all logging.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Constants/TVOLogModule.html b/docs/6.10.1/Constants/TVOLogModule.html new file mode 100644 index 0000000..24b2a15 --- /dev/null +++ b/docs/6.10.1/Constants/TVOLogModule.html @@ -0,0 +1,223 @@ + + + + + + TVOLogModule Constants Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOLogModule Constants Reference

+ + +
+ + + + +
Declared inTVOLogParameters.h
+ + + + + + + +

TVOLogModule

+ + +
+

An enumeration indicating log modules that can be used with the SDK.

+
+ + +
+ + +

Definition

+ typedef NS_ENUM(NSUInteger, TVOLogModule ) {
+ +    TVOLogModuleCore = 0,
+ +    TVOLogModulePlatform,
+ +    TVOLogModuleSignaling,
+ +    TVOLogModuleWebRTC,
+ + };
+ +
+ +
+

Constants

+
+ +
TVOLogModuleCore
+
+ + +

Voice Core SDK.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogModulePlatform
+
+ + +

Voice iOS SDK.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogModuleSignaling
+
+ + +

Signaling module.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
TVOLogModuleWebRTC
+
+ + +

WebRTC module.

+ + + + + + +

+ Declared In TVOLogParameters.h. +

+ +
+ +
+
+ + + + + + + + +
+

Declared In

+

TVOLogParameters.h

+
+ + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVOAudioDevice.html b/docs/6.10.1/Protocols/TVOAudioDevice.html new file mode 100644 index 0000000..3a7ae77 --- /dev/null +++ b/docs/6.10.1/Protocols/TVOAudioDevice.html @@ -0,0 +1,132 @@ + + + + + + TVOAudioDevice Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAudioDevice Protocol Reference

+ + +
+ + + + + + + +
Conforms toTVOAudioDeviceCapturer
TVOAudioDeviceRenderer
Declared inTVOAudioDevice.h
+ + + + +
+ +

Overview

+

TVOAudioDevice represents full duplex audio capturing and rendering capabilities. By implementing this +protocol you can replace the mechanism by which audio is used by the media engine.

+
+ + + + + + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVOAudioDeviceCapturer.html b/docs/6.10.1/Protocols/TVOAudioDeviceCapturer.html new file mode 100644 index 0000000..dce9163 --- /dev/null +++ b/docs/6.10.1/Protocols/TVOAudioDeviceCapturer.html @@ -0,0 +1,383 @@ + + + + + + TVOAudioDeviceCapturer Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAudioDeviceCapturer Protocol Reference

+ + +
+ + + + + + + +
Conforms toNSObject
Declared inTVOAudioDevice.h
+ + + + +
+ +

Overview

+

TVOAudioDeviceCapturer defines the capturing half of TVOAudioDevice. An audio capturer produces samples by +repeatedly calling TVOAudioDeviceWriteCaptureData() when it needs to deliver new data. A capturer need not record +audio from the device microphone, it could perform other operations such as reading audio samples from disk instead.

+
+ + + + + +
+ + + + + + +
+
+ +

– captureFormat +required method

+ +
+
+ +
+ + +
+

Provides the format to be used for capturing audio.

+
+ + + +
- (nullable TVOAudioFormat *)captureFormat
+ + + + + +
+

Return Value

+

A TVOAudioFormat instance which describes the audio which will be captured. Returning nil indicates +that audio capture is not supported.

+
+ + + + + +
+

Discussion

+

This method is called once before capture starts. If you wish to change the format after you’ve started +capturing audio then you should call TVOAudioDeviceReinitialize() and prepare for this method to be queried again.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+ +

– initializeCapturer +required method

+ +
+
+ +
+ + +
+

Initializes the capturer.

+
+ + + +
- (BOOL)initializeCapturer
+ + + + + +
+

Return Value

+

YES if initialization succeeded, or NO if it did not.

+
+ + + + + +
+

Discussion

+

This method is called before startCapturing:. You should use this opportunity to pre-allocate any +fixed size buffers or other resources that you need for audio processing.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+ +

– startCapturing: +required method

+ +
+
+ +
+ + +
+

Starts the capturer.

+
+ + + +
- (BOOL)startCapturing:(nonnull TVOAudioDeviceContext)context
+ + + +
+

Parameters

+ + + + + + + +
context

A context pointer to be used with the audio capture function callbacks +TVOAudioDeviceReinitialize(), TVOAudioDeviceWriteCaptureData() and TVOAudioDeviceExecuteWorkerBlock().

+
+ + + +
+

Return Value

+

YES if capturing started, or NO if it did not.

+
+ + + + + +
+

Discussion

+

This method is called after initializeCapturer. Before your implementation returns it should have +started your audio capturing pipeline. This may involve spinning up audio threads via CoreAudio or starting your own +high priority capture thread.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+ +

– stopCapturing +required method

+ +
+
+ +
+ + +
+

Stops the capturer.

+
+ + + +
- (BOOL)stopCapturing
+ + + + + +
+

Return Value

+

YES if capturing stopped, or NO if it did not.

+
+ + + + + +
+

Discussion

+

This method is called some time after startCapturing when audio capturing is no longer needed by the +media engine. Before your implementation returns it should have stopped your audio capturing pipeline.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVOAudioDeviceRenderer.html b/docs/6.10.1/Protocols/TVOAudioDeviceRenderer.html new file mode 100644 index 0000000..57b65e3 --- /dev/null +++ b/docs/6.10.1/Protocols/TVOAudioDeviceRenderer.html @@ -0,0 +1,383 @@ + + + + + + TVOAudioDeviceRenderer Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOAudioDeviceRenderer Protocol Reference

+ + +
+ + + + + + + +
Conforms toNSObject
Declared inTVOAudioDevice.h
+ + + + +
+ +

Overview

+

TVOAudioDeviceRenderer defines the rendering half of TVOAudioDevice. An audio renderer consumes samples by +repeatedly calling TVOAudioDeviceReadRenderData() when it needs new data. A renderer need not playback audio +through the device loudspeaker, it could perform other operations such as writing audio samples to disk instead.

+
+ + + + + +
+ + + + + + +
+
+ +

– renderFormat +required method

+ +
+
+ +
+ + +
+

Provides the format to be used for rendering audio.

+
+ + + +
- (nullable TVOAudioFormat *)renderFormat
+ + + + + +
+

Return Value

+

A TVOAudioFormat instance which describes the audio which will be rendered. Returning nil indicates +that audio rendering is not supported.

+
+ + + + + +
+

Discussion

+

This method is called once before rendering starts. If you wish to change the format after you’ve started +rendering audio then you should call TVOAudioDeviceReinitialize() and prepare for this method to be queried again.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+ +

– initializeRenderer +required method

+ +
+
+ +
+ + +
+

Initializes the renderer.

+
+ + + +
- (BOOL)initializeRenderer
+ + + + + +
+

Return Value

+

YES if initialization succeeded, or NO if it did not.

+
+ + + + + +
+

Discussion

+

This method is called before startRendering:. You should use this opportunity to pre-allocate any +fixed size buffers or other resources that you need for audio processing.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+ +

– startRendering: +required method

+ +
+
+ +
+ + +
+

Starts the renderer.

+
+ + + +
- (BOOL)startRendering:(nonnull TVOAudioDeviceContext)context
+ + + +
+

Parameters

+ + + + + + + +
context

A context pointer to be used with the audio renderer function callbacks +TVOAudioDeviceReinitialize(), TVOAudioDeviceReadRenderData() and TVOAudioDeviceExecuteWorkerBlock().

+
+ + + +
+

Return Value

+

YES if rendering started, or NO if it did not.

+
+ + + + + +
+

Discussion

+

This method is called after initializeRenderer. Before your implementation returns it should have +started your audio rendering pipeline. This may involve spinning up audio threads via CoreAudio or starting your own +high priority rendering thread.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+ +

– stopRendering +required method

+ +
+
+ +
+ + +
+

Stops the renderer.

+
+ + + +
- (BOOL)stopRendering
+ + + + + +
+

Return Value

+

YES if rendering stopped, or NO if it did not.

+
+ + + + + +
+

Discussion

+

This method is called some time after startRendering when audio rendering is no longer needed by the +media engine. Before your implementation returns it should have stopped your audio rendering pipeline.

+
+ + + + + + + +
+

Declared In

+

TVOAudioDevice.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVOCallDelegate.html b/docs/6.10.1/Protocols/TVOCallDelegate.html new file mode 100644 index 0000000..90d2702 --- /dev/null +++ b/docs/6.10.1/Protocols/TVOCallDelegate.html @@ -0,0 +1,652 @@ + + + + + + TVOCallDelegate Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallDelegate Protocol Reference

+ + +
+ + + + + + + +
Conforms toNSObject
Declared inTVOCallDelegate.h
+ + + + +
+ +

Overview

+

TVOCallDelegate provides callbacks when important changes to a TVOCall occur.

+
+ + + + + +
+ + + + +

Required Methods

+ +
+
+ +

– callDidConnect: +required method

+ +
+
+ +
+ + +
+

Notifies the delegate that a Call has connected.

+
+ + + +
- (void)callDidConnect:(nonnull TVOCall *)call
+ + + +
+

Parameters

+ + + + + + + +
call

The TVOCall that was connected.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+ +

– call:didFailToConnectWithError: +required method

+ +
+
+ +
+ + +
+

Notifies the delegate that a Call has failed to connect.

+
+ + + +
- (void)call:(nonnull TVOCall *)call didFailToConnectWithError:(nonnull NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + +
call

The TVOCall that failed to connect.

error

The <NSError> that occurred.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+ +

– call:didDisconnectWithError: +required method

+ +
+
+ +
+ + +
+

Notifies the delegate that a Call has disconnected.

+
+ + + +
- (void)call:(nonnull TVOCall *)call didDisconnectWithError:(nullable NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + +
call

The TVOCall that was disconnected.

error

An NSError describing why disconnect occurred, or nil if the disconnect was expected.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+
+ + + +

Optional Methods

+ +
+
+ +

– callDidStartRinging: +

+ +
+
+ +
+ + +
+

Notifies the delegate that the called party is being alerted of a Call.

+
+ + + +
- (void)callDidStartRinging:(nonnull TVOCall *)call
+ + + +
+

Parameters

+ + + + + + + +
call

The TVOCall that the called party is being alerted of.

+
+ + + + + + + +
+

Discussion

+

This callback is invoked once before the [TVOCallDelegate callDidConnect:] callback. If +the answerOnBridge is true this represents the callee is being alerted of a Call.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+ +

– call:isReconnectingWithError: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a Call starts to reconnect due to network change event.

+
+ + + +
- (void)call:(nonnull TVOCall *)call isReconnectingWithError:(nonnull NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + +
call

The TVOCall that is reconnecting.

error

The <NSError> that describes the reconnect reason. This would have one of the two possible values +with error codes TVOErrorSignalingConnectionDisconnectedError and TVOErrorMediaConnectionError.

+
+ + + + + + + +
+

Discussion

+

Reconnect is triggered when a network change is detected and Call is already in TVOCallStateConnected state. +If the call is either in TVOCallStateConnecting or in TVOCallStateRinging when network change happened +then the current call will disconnect.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+ +

– callDidReconnect: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a Call is reconnected.

+
+ + + +
- (void)callDidReconnect:(nonnull TVOCall *)call
+ + + +
+

Parameters

+ + + + + + + +
call

The TVOCall that is reconnected.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+ +

– call:didReceiveQualityWarnings:previousWarnings: +

+ +
+
+ +
+ + +
+

Notifies the delegate that network quality warnings have changed for the Call.

+
+ + + +
- (void)call:(nonnull TVOCall *)call didReceiveQualityWarnings:(nonnull NSSet<NSNumber*> *)currentWarnings previousWarnings:(nonnull NSSet<NSNumber*> *)previousWarnings
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
call

The TVOCall that received quality warning updates.

currentWarnings

An <NSSet> that contains the warnings at the instant of receiving this callback. Values in the <NSSet> are <NSNumber> with values of TVOCallQualityWarning.

previousWarnings

An <NSSet> that contains the warnings before receiving this callback. Values in the <NSSet> are <NSNumber> with values of TVOCallQualityWarning.

+
+ + + + + + + +
+

Discussion

+

The trigger conditions for the warnings defined in the TVOCallQualityWarning enumeration are defined as follows:

+ +
    +
  • TVOCallQualityWarningHighRtt - Round Trip Time (RTT) > 400 ms for 3 out of last 5 samples.
  • +
  • TVOCallQualityWarningHighJitter - Jitter > 30 ms for 3 out of last 5 samples.
  • +
  • TVOCallQualityWarningHighPacketsLostFraction - Raised when average packet loss > 3% in last 7 samples. Cleared when average packet loss <= 1% in last 7 samples.
  • +
  • TVOCallQualityWarningLowMos - Mean Opinion Score (MOS) < 3.5 for 3 out of last 5 samples.
  • +
  • TVOCallQualityWarningConstantAudioInputLevel - Raised when the standard deviation of audio input levels for last 10 samples is less than or equals 1% of the maximum possible audio input level (32767) i.e. 327.67 and the call is not in the muted state. Cleared when the standard deviation of audio input levels for last 10 samples is greater than 3% of the maximum possible audio input level.
  • +
+ + +

The two sets will help the delegate find out what warnings have changed since the last callback was received.

+
+ + + + + + + +
+

Declared In

+

TVOCallDelegate.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVOCallMessageDelegate.html b/docs/6.10.1/Protocols/TVOCallMessageDelegate.html new file mode 100644 index 0000000..39faeb2 --- /dev/null +++ b/docs/6.10.1/Protocols/TVOCallMessageDelegate.html @@ -0,0 +1,756 @@ + + + + + + TVOCallMessageDelegate Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOCallMessageDelegate Protocol Reference

+ + +
+ + + + + + + +
Conforms toNSObject
Declared inTVOCallMessageDelegate.h
+ + + + +
+ +

Overview

+

TVOCallMessageDelegate provides callbacks when call message is received or when the result of outbound message request is available.

+
+ + + + + +
+ + + + + + +
+
+ +

– messageReceivedForCallSid:message: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message with the event type is received during a TVOCall.

+
+ + + +
- (void)messageReceivedForCallSid:(nonnull NSString *)callSid message:(nonnull TVOCallMessage *)callMessage
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callSid

The unique identifier of the TVOCall or TVOCallInvite that received the message.

callMessage

The TVOCallMessage.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– messageSentForCallSid:voiceEventSid: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message was sent.

+
+ + + +
- (void)messageSentForCallSid:(nonnull NSString *)callSid voiceEventSid:(nonnull NSString *)voiceEventSid
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callSid

The unique identifier of the TVOCall or TVOCallInvite that successfully sent the message.

voiceEventSid

The same unique identifier to be associated with the unique identifier returned from the +[TVOCall sendMessage:] or [TVOCallInvite sendMessage:] method.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– messageFailedForCallSid:voiceEventSid:error: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message was failed to be sent out.

+
+ + + +
- (void)messageFailedForCallSid:(nonnull NSString *)callSid voiceEventSid:(nonnull NSString *)voiceEventSid error:(nonnull NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
callSid

The unique identifier of the TVOCall or TVOCallInvite that failed to send the message.

voiceEventSid

The same unique identifier to be associated with the unique identifier returned from the +[TVOCall sendMessage:] or [TVOCallInvite sendMessage:] method.

error

The <NSError> that occurred.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– call:didReceiveMessage: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message with the event type is received during a TVOCall.

+
+ + + +
- (void)call:(nonnull TVOCall *)call didReceiveMessage:(nonnull TVOCallMessage *)callMessage
+ + + +
+

Parameters

+ + + + + + + + + + + + +
call

The TVOCall that received the message.

callMessage

The TVOCallMessage.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– call:didSendMessage: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message was sent.

+
+ + + +
- (void)call:(nonnull TVOCall *)call didSendMessage:(nonnull NSString *)voiceEventSid
+ + + +
+

Parameters

+ + + + + + + + + + + + +
call

The TVOCall that successfully sent the message.

voiceEventSid

The same unique identifier to be associated with the unique identifier returned from the +[TVOCall sendMessage:] method.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– call:didFailToSendMessage:error: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message was failed to be sent out.

+
+ + + +
- (void)call:(nonnull TVOCall *)call didFailToSendMessage:(nonnull NSString *)voiceEventSid error:(nonnull NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
call

The TVOCall that failed to send the message.

voiceEventSid

The same unique identifier to be associated with the unique identifier returned from the +[TVOCall sendMessage:] method.

error

The <NSError> that occurred.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– callInvite:didReceiveMessage: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message with the event type is received by the TVOCallInvite.

+
+ + + +
- (void)callInvite:(nonnull TVOCallInvite *)callInvite didReceiveMessage:(nonnull TVOCallMessage *)callMessage
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callInvite

The TVOCallInvite that received the message.

callMessage

The TVOCallMessage.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– callInvite:didSendMessage: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message was sent.

+
+ + + +
- (void)callInvite:(nonnull TVOCallInvite *)callInvite didSendMessage:(nonnull NSString *)voiceEventSid
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callInvite

The TVOCallInvite that successfully sent the message.

voiceEventSid

The same unique identifier to be associated with the unique identifier returned from the +[TVOCallInvite sendMessage:callMessageDelegate:] method.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+ +

– callInvite:didFailToSendMessage:error: +

+ +
+
+ +
+ + +
+

Notifies the delegate that a message was failed to be sent out.

+
+ + + +
- (void)callInvite:(nonnull TVOCallInvite *)callInvite didFailToSendMessage:(nonnull NSString *)voiceEventSid error:(nonnull NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
callInvite

The TVOCallInvite that failed to send the message.

voiceEventSid

The same unique identifier to be associated with the unique identifier returned from the +[TVOCallInvite sendMessage:callMessageDelegate:] method.

error

The <NSError> that occurred.

+
+ + + + + + + +
+

Discussion

+

This feature is currently in Beta.

+
+ + + + + + + +
+

Declared In

+

TVOCallMessageDelegate.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVOLogger.html b/docs/6.10.1/Protocols/TVOLogger.html new file mode 100644 index 0000000..87408f4 --- /dev/null +++ b/docs/6.10.1/Protocols/TVOLogger.html @@ -0,0 +1,217 @@ + + + + + + TVOLogger Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVOLogger Protocol Reference

+ + +
+ + + + + + + +
Conforms toNSObject
Declared inTVOLogger.h
+ + + + +
+ +

Overview

+

TVOLogger is the protocol for the custom logger that can be implemented by the SDK user.

+
+ + + + + +
+ + + + + +

Required Methods

+
+
+ +

– log: +required method

+ +
+
+ +
+ + +
+

Invoked every time there is a log message available that +satisfies the log module and log level filters set by the +developer. Please note that this method will be invoked very frequently +so avoid doing heavy work on this thread.

+
+ + + +
- (void)log:(nonnull TVOLogParameters *)logParameters
+ + + +
+

Parameters

+ + + + + + + +
logParameters

The TVOLogParameters for the log message.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVOLogger.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/Protocols/TVONotificationDelegate.html b/docs/6.10.1/Protocols/TVONotificationDelegate.html new file mode 100644 index 0000000..e43c6cb --- /dev/null +++ b/docs/6.10.1/Protocols/TVONotificationDelegate.html @@ -0,0 +1,297 @@ + + + + + + TVONotificationDelegate Protocol Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

TVONotificationDelegate Protocol Reference

+ + +
+ + + + + + + +
Conforms toNSObject
Declared inTVONotificationDelegate.h
+ + + + +
+ +

Overview

+

Objects can conform to the TVONotificationDelegate protocol to be informed when incoming Call Invites are +received or cancelled.

+
+ + + + + +
+ + + + + +

Required Methods

+
+
+ +

– callInviteReceived: +required method

+ +
+
+ +
+ + +
+

Notifies the delegate that a Call Invite was received.

+
+ + + +
- (void)callInviteReceived:(nonnull TVOCallInvite *)callInvite
+ + + +
+

Parameters

+ + + + + + + +
callInvite

A TVOCallInvite object.

+
+ + + + + + + +
+

Discussion

+

This method gets invoked synchronously on the same dispatch queue where the [TwilioVoiceSDK handleNotification:delegate:delegateQueue:callMessageDelegate:] +is called.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVONotificationDelegate.h

+
+ + +
+
+
+ +

– cancelledCallInviteReceived:error: +required method

+ +
+
+ +
+ + +
+

Notifies the delegate that a Cancelled Call Invite was received.

+
+ + + +
- (void)cancelledCallInviteReceived:(nonnull TVOCancelledCallInvite *)cancelledCallInvite error:(nonnull NSError *)error
+ + + +
+

Parameters

+ + + + + + + + + + + + +
cancelledCallInvite

A TVOCancelledCallInvite object.

error

The <NSError> that occurred.

+
+ + + + + + + +
+

Discussion

+

A Cancelled Call Invite has the terminal state and can not perform further actions. +This method gets invoked synchronously on the same dispatch queue where the [TwilioVoiceSDK handleNotification:delegate:delegateQueue:callMessageDelegate:] +is called.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

TVONotificationDelegate.h

+
+ + +
+
+
+
+ +
+ + + + + + +
+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/css/scss/_index.scss b/docs/6.10.1/css/scss/_index.scss new file mode 100644 index 0000000..6a57ec5 --- /dev/null +++ b/docs/6.10.1/css/scss/_index.scss @@ -0,0 +1,17 @@ +.index-container { + -webkit-flex-direction: column; + flex-direction: column; + + @media (min-width: $desktop-min-width) { + display: flex; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + } + + .index-column { + -webkit-flex: 1 1 33%; + flex: 1 1 33%; + } +} diff --git a/docs/6.10.1/css/scss/_layout.scss b/docs/6.10.1/css/scss/_layout.scss new file mode 100644 index 0000000..da46aef --- /dev/null +++ b/docs/6.10.1/css/scss/_layout.scss @@ -0,0 +1,302 @@ +* { + box-sizing: border-box; +} + +.clear { + clear: both; +} + +.clearfix { + &:before, &:after { + clear: both; + display: table; + content: ""; + } +} + +.xcode .hide-in-xcode { + display: none; +} + +body { + font: 62.5% $body-font; + background: $body-background; + + @media (max-width: $mobile-max-width) { + background-color: $content-background; + } +} + +h1, h2, h3 { + font-weight: 300; + color: #808080; +} + +h1 { + font-size: 2em; + color: #000; +} + +h4 { + font-size: 13px; + line-height: 1.5; + margin: 21px 0 0 0; +} + +a { + color: $tint-color; + text-decoration: none; +} + +pre, code { + font-family: $code-font; + word-wrap: break-word; +} + +pre > code, .method-declaration code { + display: inline-block; + font-size: .85em; + padding: 4px 0 4px 10px; + border-left: 5px solid rgba(0, 155, 51, .2); + + &:before { + content: "Objective-C"; + display: block; + + font: 9px/1 $body-font; + color: #009b33; + text-transform: uppercase; + letter-spacing: 2px; + padding-bottom: 6px; + } +} + +pre > code { + font-size: inherit; +} + +table, th, td { + border: 1px solid #e9e9e9; +} + +table { + width: 100%; +} + +th, td { + padding: 7px; + + > :first-child { + margin-top: 0; + } + + > :last-child { + margin-bottom: 0; + } +} + +.container { + @extend .clearfix; + + max-width: 980px; + padding: 0 10px; + margin: 0 auto; + + @media (max-width: $mobile-max-width) { + padding: 0; + } +} + +header { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 2; + + background: #414141; + color: #fff; + font-size: 1.1em; + line-height: 25px; + letter-spacing: .05em; + + #library-title { + float: left; + } + + #developer-home { + float: right; + } + + h1 { + font-size: inherit; + font-weight: inherit; + margin: 0; + } + + p { + margin: 0; + } + + h1, a { + color: inherit; + } + + @media (max-width: $mobile-max-width) { + .container { + padding: 0 10px; + } + } +} + +aside { + position: fixed; + top: 25px; + left: 0; + width: 100%; + height: 25px; + z-index: 2; + + font-size: 1.1em; + + #header-buttons { + background: rgba(255, 255, 255, .8); + margin: 0 1px; + padding: 0; + list-style: none; + text-align: right; + line-height: 32px; + + li { + display: inline-block; + cursor: pointer; + padding: 0 10px; + } + + label, select { + cursor: inherit; + } + + #on-this-page { + position: relative; + + .chevron { + display: inline-block; + width: 14px; + height: 4px; + position: relative; + + .chevy { + background: #878787; + height: 2px; + position: absolute; + width: 10px; + + &.chevron-left { + left: 0; + transform: rotateZ(45deg) scale(0.6); + } + + &.chevron-right { + right: 0; + transform: rotateZ(-45deg) scale(0.6); + } + } + } + + #jump-to { + opacity: 0; + font-size: 16px; + + position: absolute; + top: 5px; + left: 0; + width: 100%; + height: 100%; + } + } + } +} + +article { + margin-top: 25px; + + #content { + @extend .clearfix; + + background: $content-background; + border: 1px solid $content-border; + padding: 15px 25px 30px 25px; + + font-size: 1.4em; + line-height: 1.45; + + position: relative; + + @media (max-width: $mobile-max-width) { + padding: 15px 10px 20px 10px; + border: none; + } + + .navigation-top { + position: absolute; + top: 15px; + right: 25px; + } + + .title { + margin: 21px 0 0 0; + padding: 15px 0; + } + + p { + color: #414141; + margin: 0 0 15px 0; + } + + th, td { + p:last-child { + margin-bottom: 0; + } + } + + main { + ul { + list-style: none; + margin-left: 24px; + margin-bottom: 12px; + padding: 0; + + li { + position: relative; + padding-left: 1.3em; + + &:before { + content: "\02022"; + + color: #414141; + font-size: 1.08em; + line-height: 1; + + position: absolute; + left: 0; + padding-top: 2px; + } + } + } + } + + footer { + @extend .clearfix; + + .footer-copyright { + margin: 70px 25px 10px 0; + } + + p { + font-size: .71em; + color: #a0a0a0; + } + } + } +} diff --git a/docs/6.10.1/css/scss/_normalize.scss b/docs/6.10.1/css/scss/_normalize.scss new file mode 100644 index 0000000..9b8848a --- /dev/null +++ b/docs/6.10.1/css/scss/_normalize.scss @@ -0,0 +1,581 @@ +/* ========================================================================== + Normalize.scss settings + ========================================================================== */ +/** + * Includes legacy browser support IE6/7 + * + * Set to false if you want to drop support for IE6 and IE7 + */ + +$legacy_browser_support: false !default; + +/* Base + ========================================================================== */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ + @if $legacy_browser_support { + *font-size: 100%; /* 3 */ + } +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ + @if $legacy_browser_support { + *display: inline; + *zoom: 1; + } +} + +/** + * Prevents modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a { + &:active, &:hover { + outline: 0; + }; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +@if $legacy_browser_support { + blockquote { + margin: 1em 40px; + } +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +@if $legacy_browser_support { + h2 { + font-size: 1.5em; + margin: 0.83em 0; + } + + h3 { + font-size: 1.17em; + margin: 1em 0; + } + + h4 { + font-size: 1em; + margin: 1.33em 0; + } + + h5 { + font-size: 0.83em; + margin: 1.67em 0; + } + + h6 { + font-size: 0.67em; + margin: 2.33em 0; + } +} + +/** + * Addresses styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +@if $legacy_browser_support { + + /** + * Addresses margins set differently in IE 6/7. + */ + + p, + pre { + *margin: 1em 0; + } + + /* + * Addresses CSS quotes not supported in IE 6/7. + */ + + q { + *quotes: none; + } + + /* + * Addresses `quotes` property not supported in Safari 4. + */ + + q:before, + q:after { + content: ''; + content: none; + } +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +@if $legacy_browser_support { + + /* ========================================================================== + Lists + ========================================================================== */ + + /* + * Addresses margins set differently in IE 6/7. + */ + + dl, + menu, + ol, + ul { + *margin: 1em 0; + } + + dd { + *margin: 0 0 0 40px; + } + + /* + * Addresses paddings set differently in IE 6/7. + */ + + menu, + ol, + ul { + *padding: 0 0 0 40px; + } + + /* + * Corrects list images handled incorrectly in IE 7. + */ + + nav ul, + nav ol { + *list-style: none; + *list-style-image: none; + } + +} + +/* Embedded content + ========================================================================== */ + +/** + * 1. Remove border when inside `a` element in IE 8/9/10. + * 2. Improves image quality when scaled in IE 7. + */ + +img { + border: 0; + @if $legacy_browser_support { + *-ms-interpolation-mode: bicubic; /* 2 */ + } +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + @if $legacy_browser_support { + _font-family: 'courier new', monospace; + } + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + * 4. Improves appearance and consistency in all browsers. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ + @if $legacy_browser_support { + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ + } +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * 4. Removes inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + @if $legacy_browser_support { + *overflow: visible; /* 4 */ + } +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + * Known issue: excess padding remains in IE 6. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + @if $legacy_browser_support { + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ + } +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + * 3. Corrects text not wrapping in Firefox 3. + * 4. Corrects alignment displayed oddly in IE 6/7. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ + @if $legacy_browser_support { + white-space: normal; /* 3 */ + *margin-left: -7px; /* 4 */ + } +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/docs/6.10.1/css/scss/_object.scss b/docs/6.10.1/css/scss/_object.scss new file mode 100644 index 0000000..22eebd8 --- /dev/null +++ b/docs/6.10.1/css/scss/_object.scss @@ -0,0 +1,89 @@ +.section-specification { + table { + width: auto; + + th { + text-align: left; + } + } +} + +.method-title { + margin-left: -15px; + margin-bottom: 8px; + transition: margin-left .3s ease-out; + + .section-method.hide & { + margin-left: 0; + } + + code { + font-weight: 400; + font-size: .85em; + } +} + +.method-info { + background: $object-background; + border-bottom: 1px solid $object-border; + margin: 0 -25px; + padding: 20px 25px 0 25px; + transition: height .3s ease-out; + + position: relative; + + .pointy-thing { + background: $content-background; + height: 10px; + border-bottom: 1px solid $object-border; + margin: -20px -25px 16px -25px; + + &:before { + display: inline-block; + content: ""; + + background: $object-background; + border: 1px solid $object-border; + border-bottom: 0; + border-right: 0; + + position: absolute; + left: 21px; + top: 3px; + width: 12px; + height: 12px; + transform: rotate(45deg); + } + } + + .method-subsection { + margin-bottom: 15px; + + .argument-name { + width: 1px; + text-align: right; + + code { + color: #808080; + font-style: italic; + font-weight: 400; + } + } + } +} + +.section-method { + &.hide .method-info { + height: 0 !important; + overflow: hidden; + display: none; + } + + &.hide.animating .method-info { + display: block; + } + + &.animating .method-info { + overflow: hidden; + } +} diff --git a/docs/6.10.1/css/scss/_print.scss b/docs/6.10.1/css/scss/_print.scss new file mode 100644 index 0000000..61bdf99 --- /dev/null +++ b/docs/6.10.1/css/scss/_print.scss @@ -0,0 +1,42 @@ +@media print { + body { + background: #fff; + padding: 8px; + } + + header { + position: static; + background: #fff; + color: #000; + } + + aside { + display: none; + } + + .container { + max-width: none; + padding: 0; + } + + article { + margin-top: 0; + + #content { + border: 0; + background: #fff; + padding: 15px 0 0 0; + + .title { + margin-top: 0; + padding-top: 0; + } + } + } + + .method-info { + &, & .pointy-thing { + background: #fff; + } + } +} diff --git a/docs/6.10.1/css/scss/_variables.scss b/docs/6.10.1/css/scss/_variables.scss new file mode 100644 index 0000000..38e072d --- /dev/null +++ b/docs/6.10.1/css/scss/_variables.scss @@ -0,0 +1,12 @@ +$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; +$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; + +$body-background: #f2f2f2; +$content-background: #fff; +$content-border: #e9e9e9; +$tint-color: #08c; +$object-background: #f9f9f9; +$object-border: #e9e9e9; + +$mobile-max-width: 650px; +$desktop-min-width: 768px; \ No newline at end of file diff --git a/docs/6.10.1/css/scss/_xcode.scss b/docs/6.10.1/css/scss/_xcode.scss new file mode 100644 index 0000000..340b1f6 --- /dev/null +++ b/docs/6.10.1/css/scss/_xcode.scss @@ -0,0 +1,29 @@ +.xcode { + header, aside { + display: none; + } + + .container { + padding: 0; + } + + article { + margin-top: 0; + + #content { + border: 0; + margin: 0; + } + } + + .method-info { + &, .section-method.hide & { + max-height: auto; + overflow: visible; + + &.hiding { + display: block; + } + } + } +} diff --git a/docs/6.10.1/css/scss/style.scss b/docs/6.10.1/css/scss/style.scss new file mode 100644 index 0000000..648a608 --- /dev/null +++ b/docs/6.10.1/css/scss/style.scss @@ -0,0 +1 @@ +@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/docs/6.10.1/css/style.css b/docs/6.10.1/css/style.css new file mode 100644 index 0000000..d9d59dd --- /dev/null +++ b/docs/6.10.1/css/style.css @@ -0,0 +1,2 @@ +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}.clear{clear:both}.clearfix:before,.container:before,article #content:before,article #content footer:before,.clearfix:after,.container:after,article #content:after,article #content footer:after{clear:both;display:table;content:""}.xcode .hide-in-xcode{display:none}body{font:62.5% -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;background:#f2f2f2}@media (max-width: 650px){body{background-color:#fff}}h1,h2,h3{font-weight:300;color:#808080}h1{font-size:2em;color:#000}h4{font-size:13px;line-height:1.5;margin:21px 0 0 0}a{color:#08c;text-decoration:none}pre,code{font-family:"Source Code Pro",Monaco,Menlo,Consolas,monospace;word-wrap:break-word}pre>code,.method-declaration code{display:inline-block;font-size:.85em;padding:4px 0 4px 10px;border-left:5px solid rgba(0,155,51,0.2)}pre>code:before,.method-declaration code:before{content:"Objective-C";display:block;font:9px/1 -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;color:#009b33;text-transform:uppercase;letter-spacing:2px;padding-bottom:6px}pre>code{font-size:inherit}table,th,td{border:1px solid #e9e9e9}table{width:100%}th,td{padding:7px}th>:first-child,td>:first-child{margin-top:0}th>:last-child,td>:last-child{margin-bottom:0}.container{max-width:980px;padding:0 10px;margin:0 auto}@media (max-width: 650px){.container{padding:0}}header{position:fixed;top:0;left:0;width:100%;z-index:2;background:#414141;color:#fff;font-size:1.1em;line-height:25px;letter-spacing:.05em}header #library-title{float:left}header #developer-home{float:right}header h1{font-size:inherit;font-weight:inherit;margin:0}header p{margin:0}header h1,header a{color:inherit}@media (max-width: 650px){header .container{padding:0 10px}}aside{position:fixed;top:25px;left:0;width:100%;height:25px;z-index:2;font-size:1.1em}aside #header-buttons{background:rgba(255,255,255,0.8);margin:0 1px;padding:0;list-style:none;text-align:right;line-height:32px}aside #header-buttons li{display:inline-block;cursor:pointer;padding:0 10px}aside #header-buttons label,aside #header-buttons select{cursor:inherit}aside #header-buttons #on-this-page{position:relative}aside #header-buttons #on-this-page .chevron{display:inline-block;width:14px;height:4px;position:relative}aside #header-buttons #on-this-page .chevron .chevy{background:#878787;height:2px;position:absolute;width:10px}aside #header-buttons #on-this-page .chevron .chevy.chevron-left{left:0;transform:rotateZ(45deg) scale(0.6)}aside #header-buttons #on-this-page .chevron .chevy.chevron-right{right:0;transform:rotateZ(-45deg) scale(0.6)}aside #header-buttons #on-this-page #jump-to{opacity:0;font-size:16px;position:absolute;top:5px;left:0;width:100%;height:100%}article{margin-top:25px}article #content{background:#fff;border:1px solid #e9e9e9;padding:15px 25px 30px 25px;font-size:1.4em;line-height:1.45;position:relative}@media (max-width: 650px){article #content{padding:15px 10px 20px 10px;border:none}}article #content .navigation-top{position:absolute;top:15px;right:25px}article #content .title{margin:21px 0 0 0;padding:15px 0}article #content p{color:#414141;margin:0 0 15px 0}article #content th p:last-child,article #content td p:last-child{margin-bottom:0}article #content main ul{list-style:none;margin-left:24px;margin-bottom:12px;padding:0}article #content main ul li{position:relative;padding-left:1.3em}article #content main ul li:before{content:"\02022";color:#414141;font-size:1.08em;line-height:1;position:absolute;left:0;padding-top:2px}article #content footer .footer-copyright{margin:70px 25px 10px 0}article #content footer p{font-size:.71em;color:#a0a0a0}.index-container{-webkit-flex-direction:column;flex-direction:column}@media (min-width: 768px){.index-container{display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;flex-wrap:wrap}}.index-container .index-column{-webkit-flex:1 1 33%;flex:1 1 33%}.section-specification table{width:auto}.section-specification table th{text-align:left}.method-title{margin-left:-15px;margin-bottom:8px;transition:margin-left .3s ease-out}.section-method.hide .method-title{margin-left:0}.method-title code{font-weight:400;font-size:.85em}.method-info{background:#f9f9f9;border-bottom:1px solid #e9e9e9;margin:0 -25px;padding:20px 25px 0 25px;transition:height .3s ease-out;position:relative}.method-info .pointy-thing{background:#fff;height:10px;border-bottom:1px solid #e9e9e9;margin:-20px -25px 16px -25px}.method-info .pointy-thing:before{display:inline-block;content:"";background:#f9f9f9;border:1px solid #e9e9e9;border-bottom:0;border-right:0;position:absolute;left:21px;top:3px;width:12px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg) }.method-info .method-subsection{margin-bottom:15px}.method-info .method-subsection .argument-name{width:1px;text-align:right}.method-info .method-subsection .argument-name code{color:#808080;font-style:italic;font-weight:400}.section-method.hide .method-info{height:0 !important;overflow:hidden;display:none}.section-method.hide.animating .method-info{display:block}.section-method.animating .method-info{overflow:hidden}@media print{body{background:#fff;padding:8px}header{position:static;background:#fff;color:#000}aside{display:none}.container{max-width:none;padding:0}article{margin-top:0}article #content{border:0;background:#fff;padding:15px 0 0 0}article #content .title{margin-top:0;padding-top:0}.method-info,.method-info .pointy-thing{background:#fff}}.xcode header,.xcode aside{display:none}.xcode .container{padding:0}.xcode article{margin-top:0}.xcode article #content{border:0;margin:0}.xcode .method-info,.section-method.hide .xcode .method-info{max-height:auto;overflow:visible}.xcode .method-info.hiding,.section-method.hide .xcode .method-info.hiding{display:block} + diff --git a/docs/6.10.1/docs/images/call_model.svg b/docs/6.10.1/docs/images/call_model.svg new file mode 100644 index 0000000..c5acd19 --- /dev/null +++ b/docs/6.10.1/docs/images/call_model.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/6.10.1/hierarchy.html b/docs/6.10.1/hierarchy.html new file mode 100644 index 0000000..4028352 --- /dev/null +++ b/docs/6.10.1/hierarchy.html @@ -0,0 +1,240 @@ + + + + + + Twilio Voice Hierarchy + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

Twilio Voice Hierarchy

+ + + + + + + + + + +
+
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/img/button_bar_background.png b/docs/6.10.1/img/button_bar_background.png new file mode 100644 index 0000000..71d1019 Binary files /dev/null and b/docs/6.10.1/img/button_bar_background.png differ diff --git a/docs/6.10.1/img/disclosure.png b/docs/6.10.1/img/disclosure.png new file mode 100644 index 0000000..4c5cbf4 Binary files /dev/null and b/docs/6.10.1/img/disclosure.png differ diff --git a/docs/6.10.1/img/disclosure_open.png b/docs/6.10.1/img/disclosure_open.png new file mode 100644 index 0000000..82396fe Binary files /dev/null and b/docs/6.10.1/img/disclosure_open.png differ diff --git a/docs/6.10.1/img/library_background.png b/docs/6.10.1/img/library_background.png new file mode 100644 index 0000000..3006248 Binary files /dev/null and b/docs/6.10.1/img/library_background.png differ diff --git a/docs/6.10.1/img/title_background.png b/docs/6.10.1/img/title_background.png new file mode 100644 index 0000000..846e496 Binary files /dev/null and b/docs/6.10.1/img/title_background.png differ diff --git a/docs/6.10.1/index.html b/docs/6.10.1/index.html new file mode 100644 index 0000000..f6e8c0a --- /dev/null +++ b/docs/6.10.1/index.html @@ -0,0 +1,246 @@ + + + + + + Twilio Voice Reference + + + + + + +
+
+ +

+ Twilio Voice +

+ +

+ Twilio Inc. +

+ +
+
+ + + +
+
+
+
+

Twilio Voice Reference

+ + +
+ + +

Overview

+ + +

The Programmable Voice SDK for iOS makes it easy to add Voice over IP (VoIP) calling into an iOS application. The SDK enables the user to make and receive VoIP calls.

+ +

The SDK is composed of several key classes illustrated in the image below.

+ +

The class [TwilioVoiceSDK] is the entry point into the SDK and does the following:

+ + + + +

The class [TVOCall] represents an outgoing or incoming call.

+ +

The class [TVOCallInvite] represents an invitation to an incoming call. You can accept or reject the call invitation using this class.

+ +

The class [TVOCancelledCallInvite] represents an invitation to a call that has been subsequently cancelled. A call can be cancelled for several reasons and this is detailed further in the [TwilioVoiceSDK handleNotification:] method.

+ +

iOS Call Model

+ + +
+ + + + + +
+
+
+
+ + + + + \ No newline at end of file diff --git a/docs/6.10.1/js/script.js b/docs/6.10.1/js/script.js new file mode 100644 index 0000000..4074361 --- /dev/null +++ b/docs/6.10.1/js/script.js @@ -0,0 +1,59 @@ +function $() { + return document.querySelector.apply(document, arguments); +} + +if (navigator.userAgent.indexOf("Xcode") != -1) { + document.documentElement.classList.add("xcode"); +} + +var jumpTo = $("#jump-to"); + +if (jumpTo) { + jumpTo.addEventListener("change", function(e) { + location.hash = this.options[this.selectedIndex].value; + }); +} + +function hashChanged() { + if (/^#\/\/api\//.test(location.hash)) { + var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); + + if (!element) { + return; + } + + element = element.parentNode; + + element.classList.remove("hide"); + fixScrollPosition(element); + } +} + +function fixScrollPosition(element) { + var scrollTop = element.offsetTop - 150; + document.documentElement.scrollTop = scrollTop; + document.body.scrollTop = scrollTop; +} + +[].forEach.call(document.querySelectorAll(".section-method"), function(element) { + element.classList.add("hide"); + + element.querySelector(".method-title a").addEventListener("click", function(e) { + var info = element.querySelector(".method-info"), + infoContainer = element.querySelector(".method-info-container"); + + element.classList.add("animating"); + info.style.height = (infoContainer.clientHeight + 40) + "px"; + fixScrollPosition(element); + element.classList.toggle("hide"); + if (element.classList.contains("hide")) { + e.preventDefault(); + } + setTimeout(function() { + element.classList.remove("animating"); + }, 300); + }); +}); + +window.addEventListener("hashchange", hashChanged); +hashChanged(); diff --git a/docs/latest b/docs/latest index 11946a9..83c2b63 120000 --- a/docs/latest +++ b/docs/latest @@ -1 +1 @@ -6.10.0 \ No newline at end of file +6.10.1 \ No newline at end of file diff --git a/docs/latest_6.x b/docs/latest_6.x index 11946a9..83c2b63 120000 --- a/docs/latest_6.x +++ b/docs/latest_6.x @@ -1 +1 @@ -6.10.0 \ No newline at end of file +6.10.1 \ No newline at end of file