WSCCall Class Reference

Inherits from WSCSubSession : NSObject
Declared in WSCCall.h

Overview

Represents a call which could have any combination of Audio/Video (AV) capabilities.

The AV capabilities of a WSCCall are determined when it is initialized and are based on the WSCCallConfig data provided in the WSCCallPackage provided at initialization. The AV capabilities can be updated at a later date by the client, or they can be updated by an incoming call state change from the network. The latter would be initiated by the other call party and signaled through the CallObserverDelegate.

  observerDelegate

Call observer delegate for being informed of changes in the Call.

@property (nonatomic, weak) id<WSCCallObserverDelegate> observerDelegate

Discussion

Call observer delegate for being informed of changes in the Call.

Declared In

WSCCall.h

  caller

Caller for the call.

@property (nonatomic, readonly, copy) NSString *caller

Discussion

Caller for the call.

Declared In

WSCCall.h

  callee

Callee for the call.

@property (nonatomic, readonly, copy) NSString *callee

Discussion

Callee for the call.

Declared In

WSCCall.h

  streamId

Stream Id.

@property (nonatomic, copy) NSString *streamId

Discussion

Stream Id.

Declared In

WSCCall.h

  streamType

Stream Type.

@property (nonatomic, readonly, copy) NSString *streamType

Discussion

Stream Type.

Declared In

WSCCall.h

  peerConnection

Call peer connection.

@property (nonatomic, readonly) RTCPeerConnection *peerConnection

Discussion

Call peer connection.

Declared In

WSCCall.h

  trickleIceMode

Call WSCTrickleIceMode. This determines what Trickle ICE mode the call uses.

@property (nonatomic) WSCTrickleIceMode trickleIceMode

Discussion

Call WSCTrickleIceMode. This determines what Trickle ICE mode the call uses.

Declared In

WSCCall.h

– initWithPackage:caller:callee:

Returns an initialized WSCCall object for application triggered calls.

- (instancetype)initWithPackage:(WSCPackage *)package caller:(NSString *)caller callee:(NSString *)callee

Parameters

package

The corresponding WSCPackage

caller

Caller of current call

callee

Callee of current call

Discussion

Returns an initialized WSCCall object for application triggered calls.

Declared In

WSCCall.h

– initWithPackage:caller:callee:subSessionId:

Returns an initialized WSCCall object for network triggered calls.

- (instancetype)initWithPackage:(WSCPackage *)package caller:(NSString *)caller callee:(NSString *)callee subSessionId:(NSString *)subSessionId

Parameters

package

The corresponding WSCPackage

caller

Caller of current call

callee

Callee of current call

subSessionId

The existing WSCSubSession subSessionId of this call

Discussion

Returns an initialized WSCCall object for network triggered calls.

Declared In

WSCCall.h

– getPeerConnectionFactory

Gets the peer connection factory.

- (RTCPeerConnectionFactory *)getPeerConnectionFactory

Discussion

Gets the peer connection factory.

Declared In

WSCCall.h

– start:headers:streams:

Starts the call represented by itself.

- (void)start:(WSCCallConfig *)config headers:(NSDictionary *)headers streams:(NSArray *)localStreams

Parameters

config

an instance of the CallConfig object that represents the capabilities of the call

headers

extension headers. If provided, they are inserted into the JSON message.
For example, an extHeaders formatted like this, {‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}
will be in the message formatted like this :
{ “control” : {}, “header” : {…,‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}, “payload” : {}}

localStreams

Local media streams to be attached to call

Discussion

Starts the call represented by itself.

Declared In

WSCCall.h

– start:streams:

Starts the call.

- (void)start:(WSCCallConfig *)config streams:(NSArray *)localStreams

Parameters

config

an instance of the CallConfig object that represents the capabilities of the call

localStreams

Local media streams to be attached to call

Discussion

Starts the call.

Declared In

WSCCall.h

– start:headers:

Starts the call represented by itself.

- (void)start:(WSCCallConfig *)config headers:(NSDictionary *)headers

Parameters

config

an instance of the CallConfig object that represents the capabilities of the call

headers

extension headers. If provided, they are inserted into the JSON message.
For example, an extHeaders formatted like this, {‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}
will be in the message formatted like this :
{ “control” : {}, “header” : {…,‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}, “payload” : {}}

Discussion

Starts the call represented by itself.

Declared In

WSCCall.h

– accept:extHeaders:streams:

Accepts an incoming call.

- (void)accept:(WSCCallConfig *)config extHeaders:(NSDictionary *)extHeaders streams:(RTCMediaStream *)localStreams

Parameters

config

Local capability configuration of the Call.

This callConfig must not conflict with rules of RFC 3264. For example, if the callConfig of call.onIncomingCall or call.onUpdate is (SENDONLY, NONE), this callConfig cannot be (SENDONLY, NONE), but it can be (RECVONLY, NONE) or (NONE, NONE).

extHeaders

Extension headers. If provided, they are inserted into the JSON message.

For example, an extHeaders formatted like this, {‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}
will be in the message formatted like this :
{ “control” : {}, “header” : {…,‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}, “payload” : {}}

localStreams

Local media streams to be attached to the call

Discussion

Accepts an incoming call.

Declared In

WSCCall.h

– accept:streams:

Accepts an incoming call.

- (void)accept:(WSCCallConfig *)config streams:(RTCMediaStream *)localStreams

Parameters

config

Local capability configuration of the Call.

This callConfig must not conflict with rules of RFC 3264. For example, if the callConfig of call.onIncomingCall or call.onUpdate is (SENDONLY, NONE), this callConfig cannot be (SENDONLY, NONE), but it can be (RECVONLY, NONE) or (NONE, NONE).

localStreams

Local media streams to be attached to the call

Discussion

Accepts an incoming call.

Declared In

WSCCall.h

– decline:

Declines an incoming call.

- (void)decline:(NSInteger)code

Parameters

code

The decline code reason. The default value is 603, decline.
The available reason codes are:

  • 486: busy here
  • 603: decline
  • 600: busy everywhere

Discussion

Declines an incoming call.

Declared In

WSCCall.h

– decline:headers:

Declines an incoming call.

- (void)decline:(NSInteger)code headers:(NSDictionary *)headers

Parameters

code

The decline code reason. The default value is 603, decline.
The available reason codes are:

  • 486: busy here
  • 603: decline
  • 600: busy everywhere
headers

Headers containing extra data about the decline call. If provided, they are inserted into the JSON message.
For example an extHeaders formatted like this, {‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}
will be in the message formatted like this :
{ “control” : {}, “header” : {…,‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}, “payload” : {}}

Discussion

Declines an incoming call.

Declared In

WSCCall.h

– end

End the current call.

- (void)end

Discussion

End the current call.

Declared In

WSCCall.h

– end:

Ends the current call.

- (void)end:(NSDictionary *)headers

Parameters

headers

extension headers. If provided, they are inserted into the JSON message.
For example, an extHeaders formatted like this, {‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}
will be in the message formatted like this :
{ “control” : {}, “header” : {…,‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}, “payload” : {}}

Discussion

Ends the current call.

Declared In

WSCCall.h

– mute:

- (BOOL)mute:(BOOL)isMute

– handleMessage:

- (void)handleMessage:(WSCFrame *)frame

– update:headers:streams:

Updates the audio/video capabilities of the call.

- (void)update:(WSCCallConfig *)config headers:(NSDictionary *)headers streams:(NSArray *)localStreams

Parameters

config

The WSCCallConfig representing the updated call configuration.

headers

Extension headers. If provided, they are inserted into the JSON message.
For example, a headers parameter formatted like this, {‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}
will be in the message formatted like this :
{ “control” : {}, “header” : {…,‘customerKey1’:‘value1’,‘customerKey2’:‘value2’}, “payload” : {}}

localStreams

Local media streams to be attached to call

Discussion

Updates the audio/video capabilities of the call.

Declared In

WSCCall.h

– update:streams:

Updates the AV capabilities of the call.

- (void)update:(WSCCallConfig *)config streams:(NSArray *)localStreams

Parameters

config

The WSCCallConfig representing the updated call configuration

localStreams

Local media streams to be attached to call

Discussion

Updates the AV capabilities of the call.

Declared In

WSCCall.h

– getCallConfig

Gets the call configuration for the current call.

- (WSCCallConfig *)getCallConfig

Discussion

Gets the call configuration for the current call.

Declared In

WSCCall.h

– getCallState

Gets the current state of a call.

- (WSCCallState)getCallState

Discussion

Gets the current state of a call.

Declared In

WSCCall.h

– getDataTransferWithLabel:

Gets the DataTransfer object by label.

- (WSCDataTransfer *)getDataTransferWithLabel:(NSString *)label

Parameters

label

the label of the dataChannel of DataTransfer object

Discussion

Gets the DataTransfer object by label.

Declared In

WSCCall.h

– init

Disallow init.

- (instancetype)init

Discussion

Disallow init.

Declared In

WSCCall.h