Avaya Client Services API Reference (iOS)
Classes | Enumerations
CSCall.h File Reference
#import <Foundation/Foundation.h>
#import "CSCallCreationInfo.h"
#import "CSAudioDetails.h"
#import "CSVideoDetails.h"
#import "CSConference.h"
#import "CSVideoChannel.h"
#import "CSVideoResolutionPreference.h"
#import "CSSignalingServer.h"
#import "CSCapability.h"
#import "CSMaxSupportedVideoResolutionsCapability.h"
#import "CSVideoMode.h"
#import "CSCallForwardingInformation.h"
#import "CSUserToUserInformation.h"
#import "CSCallPickupFeatureRinger.h"

Classes

class  CSCall
 The Call class is a facade object that may be used to represent a 2-party or a or a conference call. More...
 
protocol  <CSCallDelegate>
 Describes methods that are implemented by the delegate of a CSCall. More...
 

Enumerations

enum  CSCallDenialReason {
  CSCallDenialReasonForbidden,
  CSCallDenialReasonTemporarilyUnavailable,
  CSCallDenialReasonBusy,
  CSCallDenialReasonDecline
}
 The reason for the denial of an incoming call. More...
 
enum  CSCallState {
  CSCallStateIdle,
  CSCallStateInitiating,
  CSCallStateAlerting,
  CSCallStateRemoteAlerting,
  CSCallStateEstablished,
  CSCallStateHolding,
  CSCallStateHeld,
  CSCallStateUnholding,
  CSCallStateVideoUpdating,
  CSCallStateTransferring,
  CSCallStateBeingTransferred,
  CSCallStateIgnored,
  CSCallStateFailed,
  CSCallStateEnding,
  CSCallStateEnded,
  CSCallStateRenegotiating,
  CSCallStateFarEndRenegotiating
}
 The state of a call. More...
 
enum  CSJoinStatus {
  CSJoinStatusNone,
  CSJoinStatusStarted,
  CSJoinStatusWaitingForMediaResources,
  CSJoinStatusCompleted
}
 The status of an in-progress join. More...
 
enum  CSTransferStatus {
  CSTransferStatusNone,
  CSTransferStatusStarted,
  CSTransferStatusAccepted,
  CSTransferStatusRemoteCallStarted,
  CSTransferStatusRemoteCallInProgress,
  CSTransferStatusRemoteCallEstablished,
  CSTransferStatusCompleted
}
 The status of an in-progress transfer. More...
 
enum  CSDTMFTone {
  CSDTMFToneZero = 0,
  CSDTMFToneOne,
  CSDTMFToneTwo,
  CSDTMFToneThree,
  CSDTMFToneFour,
  CSDTMFToneFive,
  CSDTMFToneSix,
  CSDTMFToneSeven,
  CSDTMFToneEight,
  CSDTMFToneNine,
  CSDTMFToneStar,
  CSDTMFTonePound,
  CSDTMFToneA,
  CSDTMFToneB,
  CSDTMFToneC,
  CSDTMFToneD
}
 DTMF tone types. More...
 
enum  CSAddressDigit {
  CSAddressDigitZero,
  CSAddressDigitOne,
  CSAddressDigitTwo,
  CSAddressDigitThree,
  CSAddressDigitFour,
  CSAddressDigitFive,
  CSAddressDigitSix,
  CSAddressDigitSeven,
  CSAddressDigitEight,
  CSAddressDigitNine,
  CSAddressDigitStar,
  CSAddressDigitPound,
  CSAddressDigitPlus
}
 Address digits for dialing in the off-hook state. More...
 
enum  CSAlertType {
  CSAlertTypeUnspecified,
  CSAlertTypeNone,
  CSAlertTypeInternal,
  CSAlertTypeExternal,
  CSAlertTypePriority,
  CSAlertTypeIntercom,
  CSAlertTypeAutoCallback,
  CSAlertTypeHoldRecall,
  CSAlertTypeTransferRecall,
  CSAlertTypeDirectAgentCallInternal,
  CSAlertTypeDirectAgentCallExternal,
  CSAlertTypeDirectAgentCallPriority,
  CSAlertTypeAutomaticCallDistributionInternal,
  CSAlertTypeAutomaticCallDistributionExternal,
  CSAlertTypeAbbreviatedRing,
  CSAlertTypeDelayedRing
}
 Incoming call alert types. More...
 
enum  CSIncomingVideoStatus {
  CSNetworkVideoUnknown,
  CSNetworkVideoUnsupported,
  CSNetworkVideoSupported
}
 
enum  CSCallEndReason {
  CSCallEndReasonEndedLocally,
  CSCallEndReasonCallDisconnected,
  CSCallEndReasonDisconnectedByConferenceModerator,
  CSCallEndReasonSessionExpired
}
 
enum  CSAllowedVideoDirection {
  CSAllowedVideoDirectionNone = 0,
  CSAllowedVideoDirectionSendReceive,
  CSAllowedVideoDirectionReceiveOnly,
  CSAllowedVideoDirectionSendOnly
}
 Enumeration of different allowed video directions that can be used by the local application for a call session. More...
 
enum  CSPrecedenceLevel {
  CSPrecedenceLevelNotSpecified,
  CSPrecedenceLevelRoutine,
  CSPrecedenceLevelPriority,
  CSPrecedenceLevelImmediate,
  CSPrecedenceLevelFlash,
  CSPrecedenceLevelFlashOverride
}
 Call Precedence Level. More...
 
enum  CSPreemptionReason {
  CSPreemptionReasonNone,
  CSPreemptionReasonUAPreemption,
  CSPreemptionReasonReservedResourcesPreempted,
  CSPreemptionReasonGenericPreemption,
  CSPreemptionReasonNonIPPreemption,
  CSPreemptionReasonNetworkPreemption
}
 Call Preemption reasons based on Reason Header for Preemption Events (RFC 4411) - IETF and Department of Defense Unified Capabilities Requirements 2013. More...
 
enum  CSSupervisorCallType {
  CSSupervisorCallTypeNone,
  CSSupervisorCallTypeConsultSupervisor,
  CSSupervisorCallTypeCallSupervisor
}
 Supervisor call type. More...
 
enum  CSCallRecordingState {
  CSCallRecordingStateOff = 0,
  CSCallRecordingStateOn,
  CSCallRecordingStatePaused
}
 Call recording status. More...
 
enum  CSVerificationStatus {
  CSVerificationStatusNotSpecified,
  CSVerificationStatusPassed,
  CSVerificationStatusFailed,
  CSVerificationStatusNotPerformed
}
 Enumeration indicating the call verification status for an incoming call. More...
 

Enumeration Type Documentation

Address digits for dialing in the off-hook state.

Enumerator
CSAddressDigitZero 

Represents numeric 0.

CSAddressDigitOne 

Represents numeric 1.

CSAddressDigitTwo 

Represents numeric 2.

CSAddressDigitThree 

Represents numeric 3.

CSAddressDigitFour 

Represents numeric 4.

CSAddressDigitFive 

Represents numeric 5.

CSAddressDigitSix 

Represents numeric 6.

CSAddressDigitSeven 

Represents numeric 7.

CSAddressDigitEight 

Represents numeric 8.

CSAddressDigitNine 

Represents numeric 9.

CSAddressDigitStar 

Represents special character *.

CSAddressDigitPound 

Represents special character #.

CSAddressDigitPlus 

Represents special character +.

Incoming call alert types.

Enumerator
CSAlertTypeUnspecified 

Unspecified.

CSAlertTypeNone 

None of the alert types.

CSAlertTypeInternal 

Internal call alert type.

CSAlertTypeExternal 

External call alert type.

CSAlertTypePriority 

Priority call alert type.

CSAlertTypeIntercom 

Intercom alert type.

CSAlertTypeAutoCallback 

Alert type indicating that it is auto callback.

CSAlertTypeHoldRecall 

Alert type indicating that it is recall after hold.

CSAlertTypeTransferRecall 

Alert type indicating that it is recall after transfer.

CSAlertTypeDirectAgentCallInternal 

Alert type indicating that it is direct internal agent call.

CSAlertTypeDirectAgentCallExternal 

Alert type indicating that it is direct external agent call.

CSAlertTypeDirectAgentCallPriority 

Alert type indicating that it is direct priority call from agent.

CSAlertTypeAutomaticCallDistributionInternal 

Alert type indicating that it is distributed automatic internal call.

CSAlertTypeAutomaticCallDistributionExternal 

Alert type indicating that it is distributed automatic external call.

CSAlertTypeAbbreviatedRing 

Alert type of abbreviated ring.

CSAlertTypeDelayedRing 

Alert type of delayed ring.

Enumeration of different allowed video directions that can be used by the local application for a call session.

Allowed video direction can be changed during call session and depends on call state, network availability and server limitations. Same time allowed video direction can be limited by conference server. Example: call started with video in send-receive direction but server limited allowed direction to receive only. Call will negotiate to receive only video and allowed video direction will be Receive only.

Enumerator
CSAllowedVideoDirectionNone 

Video is not allowed.

CSAllowedVideoDirectionSendReceive 

Bi-directional video allowed.

CSAllowedVideoDirectionReceiveOnly 

Receive-only video allowed.

CSAllowedVideoDirectionSendOnly 

Send-only video allowed.

The reason for the denial of an incoming call.

Enumerator
CSCallDenialReasonForbidden 
CSCallDenialReasonTemporarilyUnavailable 
CSCallDenialReasonBusy 
CSCallDenialReasonDecline 
Enumerator
CSCallEndReasonEndedLocally 

Call ended locally.

CSCallEndReasonCallDisconnected 

Call disconnected from remote end.

CSCallEndReasonDisconnectedByConferenceModerator 

Call was in a conference and moderator has dropped this call.

CSCallEndReasonSessionExpired 

Call ended due to session expired.

Call recording status.

Enumerator
CSCallRecordingStateOff 

Call recording is off, or is not supported.

CSCallRecordingStateOn 

Call recording is on.

CSCallRecordingStatePaused 

Call recording is paused.

The state of a call.

Enumerator
CSCallStateIdle 

Call hasn't been started.

CSCallStateInitiating 

Call initiated (outgoing only).

No response from far-end has been received.

CSCallStateAlerting 

Call is alerting locally (incoming call).

CSCallStateRemoteAlerting 

Call is alerting remotely (outgoing call).

CSCallStateEstablished 

Call has been established and is active (not held).

CSCallStateHolding 

Call is transitioning to the held state.

CSCallStateHeld 

Call is on hold.

CSCallStateUnholding 

Call is transitioning from the held state back to the established state.

CSCallStateVideoUpdating 

Call's video is being updated.

CSCallStateTransferring 

Transfer initiated by the local user (outgoing).

CSCallStateBeingTransferred 

The call is being transferred by a remote party on the call.

Incoming transfer request received.

CSCallStateIgnored 

Call is ignored locally (incoming call), later it can be accepted or denied.

CSCallStateFailed 
CSCallStateEnding 

Request to end the call has been sent.

CSCallStateEnded 

Call ended (by far-end, or end request has been responded to by the remote party).

CSCallStateRenegotiating 

Call renegotiating (requested by us).

CSCallStateFarEndRenegotiating 

Call renegotiating (requested by far-end).

enum CSDTMFTone

DTMF tone types.

Enumerator
CSDTMFToneZero 

Represents numeric 0.

CSDTMFToneOne 

Represents numeric 1.

CSDTMFToneTwo 

Represents numeric 2.

CSDTMFToneThree 

Represents numeric 3.

CSDTMFToneFour 

Represents numeric 4.

CSDTMFToneFive 

Represents numeric 5.

CSDTMFToneSix 

Represents numeric 6.

CSDTMFToneSeven 

Represents numeric 7.

CSDTMFToneEight 

Represents numeric 8.

CSDTMFToneNine 

Represents numeric 9.

CSDTMFToneStar 

Represents special character *.

CSDTMFTonePound 

Represents special character #.

CSDTMFToneA 

Represents alphabet A.

CSDTMFToneB 

Represents alphabet B.

CSDTMFToneC 

Represents alphabet C.

CSDTMFToneD 

Represents alphabet D.

Enumerator
CSNetworkVideoUnknown 

Caller's video request status is unknown.

CSNetworkVideoUnsupported 

Caller did not request video.

CSNetworkVideoSupported 

Caller requested video.

The status of an in-progress join.

Enumerator
CSJoinStatusNone 

Call join is not yet started, default initial value.

CSJoinStatusStarted 

Call join is started, Join requested is accepted.

CSJoinStatusWaitingForMediaResources 

Call join is partially completed and waiting for local media resources to be available.

e.g an EC500 call on cellular can be joined from application. Once join request is accepted; the cellular call will be ended and VoIP call from application will get access for shared audio device. while cellular call is ending and still holds media resources to play end tones you may get status waiting for media resources.

CSJoinStatusCompleted 

Call join is successful.

Call Precedence Level.

DoD(Department of defence) UC networks support Precedence-Based Assured Services (PBAS) for delivery of UC services. Connections and resources that belong to a call from a user are marked with a precedence level and domain identifier and can only be preempted by calls of higher precedence from users in the same service domain. Precedence provides for preferred handling of PBAS service requests. PBAS involves assigning and validating priority levels to calls, and prioritized treatment of service requests.

There are five precedence levels; from lowest to highest they are ROUTINE, PRIORITY, IMMEDIATE, FLASH, and FLASH OVERRIDE.

Maximum precedence level of a user is set at the subscription time by the UC network administrator based on the user’s validated need. When initiating a session, the user may select a precedence level up to and including the maximum authorized precedence level for that user, on a per call basis.

The network at the user's originating interface ensures that the selected precedence level does not exceed the maximum level assigned to that extension.

When JITC Multilevel call precedence and preemption (MLPP) is enabled at server, A call will default automatically to the ROUTINE precedence unless a higher precedence is dialed.

Enumerator
CSPrecedenceLevelNotSpecified 

Call precedence level is not specified, Used for non JITC(MLPP) based systems.

This is also default value when no precedence is specified. However when when MLLP is enabled at server, A call will no precedence level will be automatically upgraded to the ROUTINE precedence unless a higher precedence is dialed.

CSPrecedenceLevelRoutine 

Call precedence level is routine.

When jitc(MLLP) is enabled at server, A call will default automatically to the ROUTINE precedence unless a higher precedence is dialed.

CSPrecedenceLevelPriority 

Call precedence level is priority.

CSPrecedenceLevelImmediate 

Call precedence level is immediate.

CSPrecedenceLevelFlash 

Call precedence level is flash.

CSPrecedenceLevelFlashOverride 

Call precedence level is flash override.

Call Preemption reasons based on Reason Header for Preemption Events (RFC 4411) - IETF and Department of Defense Unified Capabilities Requirements 2013.

Call preemption occurs when a precedence call is sent to a preemptable endpoint that is busy with a call of lower precedence and has no idle appearances. This causes the lower precedence call to be preempted, regardless of whether the lower precedence call and the new higher precedence call are of the same media type. When preemption occurs, the active busy user receive a continuous preemption tone until user acknowledges the preemption by invoking complete preemption method and the other party receives a preemption tone for a minimum of 3 seconds. After acknowledging the preemption, the extension to which the precedence call is directed will be provided with precedence ringing and the calling party will receive an audible ring-back precedence tone.

Preemption may take one of two forms. First, the called party may be busy with a lower precedence call that is preempted in favor of completing the higher precedence call from the calling party. Second, the network resources may be busy with calls; some of which are of lower precedence than the call requested by the calling party. One or more of these lower precedence calls are preempted in order to complete the higher precedence call.

Enumerator
CSPreemptionReasonNone 

The call is not preempted.

CSPreemptionReasonUAPreemption 

The call has been preempted by a UA(User Agent).

UA Preemption occurs when called party may be busy with a lower precedence call that is preempted in favor of completing the higher precedence call from the calling party.

CSPreemptionReasonReservedResourcesPreempted 

The call preemption has been initiated within the network via a purposeful RSVP(Resource ReSerVation Protocol) preemption occurrence, and not a link error.

CSPreemptionReasonGenericPreemption 

This is a limited-use preemption indication to be used on the final leg to the preempted UA to generalize the event.

CSPreemptionReasonNonIPPreemption 

The call preemption has occurred in a non-IP portion of the infrastructure, and this is the Reason cause code given by the SIP Gateway.

CSPreemptionReasonNetworkPreemption 

Reason-params in RFC 4411 fails to fully meet Department of Defense needs, the AS-SIP signaling appliances support a fifth Reason-param intended to characterize a network preemption event that occurs in the IP portion of the network but is not due to a RSVP preemption occurrence.

Supervisor call type.

Enumerator
CSSupervisorCallTypeNone 

Not supervisor call.

CSSupervisorCallTypeConsultSupervisor 

Supervisor assistance call was requested by user for user's active call.

CSSupervisorCallTypeCallSupervisor 

Supervisor assistance call was requested by user for skill id.

The status of an in-progress transfer.

Enumerator
CSTransferStatusNone 

The transfer is not yet started, default status.

CSTransferStatusStarted 

The transfer is started, transfer request is sent.

CSTransferStatusAccepted 

The transfer request is accepted.

CSTransferStatusRemoteCallStarted 

The transferee is attempting to call transfer target.

CSTransferStatusRemoteCallInProgress 

The call is ringing at the transfer target's end.

CSTransferStatusRemoteCallEstablished 

The call is accepted by transfer target and call is established between transferor and transfer target.

CSTransferStatusCompleted 

The transfer operation is completed and transferor's call will be ended.

Enumeration indicating the call verification status for an incoming call.

In the STIR/SHAKEN enabled environment, the recipient of a call can determine if the caller ID has been verified even before answering the call. It helps users avoid answering or accepting calls from spoofed caller IDs.

The incoming calls will have the 'verstat'(verification Status) parameter inserted by the server in the INVITE request indicating if the call verification was passed, failed, or not verified.

Enumerator
CSVerificationStatusNotSpecified 

Call verification status is not specified, for example, if the server does not support call verification.

CSVerificationStatusPassed 

Call verification passed.

CSVerificationStatusFailed 

Call verification failed.

CSVerificationStatusNotPerformed 

Call verification not performed.