Avaya Client Services API Reference (OS X)

- Main Page
- Classes
- Files
- Related Pages

- File List
- File Members

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

enum CSAddressDigit

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 +.

enum CSAlertType

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.

enum CSAllowedVideoDirection

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.

enum CSCallDenialReason

The reason for the denial of an incoming call.

Enumerator
CSCallDenialReasonForbidden |
CSCallDenialReasonTemporarilyUnavailable |
CSCallDenialReasonBusy |
CSCallDenialReasonDecline |

enum CSCallEndReason

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.

enum CSCallRecordingState

Call recording status.

Enumerator
CSCallRecordingStateOff | Call recording is off, or is not supported.
CSCallRecordingStateOn | Call recording is on.
CSCallRecordingStatePaused | Call recording is paused.

enum CSCallState

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.

enum CSIncomingVideoStatus

Enumerator
CSNetworkVideoUnknown | Caller's video request status is unknown.
CSNetworkVideoUnsupported | Caller did not request video.
CSNetworkVideoSupported | Caller requested video.

enum CSJoinStatus

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.

enum CSPrecedenceLevel

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.

enum CSPreemptionReason

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.

enum CSSupervisorCallType

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.

enum CSTransferStatus

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.

enum CSVerificationStatus

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.