Avaya Client Services API Reference (OS X)

- Main Page
- Classes
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

Instance Methods | Properties | List of all members
CSCall Class Reference

The Call class is a facade object that may be used to represent a 2-party or a or a conference call. More...

`#import <CSCall.h>`

Inherits NSObject.

## Instance Methods
(void) | - addRemoteAddressDigit:
| For a call in the off-hook dialing state, adds a digit to the remote address being collected via a dial pad. More...
(void) | - start
| Starts an outgoing call to the current remote address. More...
(void) | - end
| Requests termination of the call. More...
(void) | - accept
| For an incoming call, requests acceptance of an incoming call. More...
(void) | - ignore
| Ignores an incoming call. More...
(void) | - denyWithCompletionHandler:
| For an incoming call, denies the call using appropriate reason based on CSSIPUserConfiguration::callDenialPolicy property. More...
(void) | - denyWithReason:completionHandler:
| For an incoming call, denies the call for the specified reason regardless of configured CSSIPUserConfiguration::callDenialPolicy property. More...
(void) | - holdWithCompletionHandler:
| Requests that an active call be held. More...
(void) | - unholdWithCompletionHandler:
| Requests that a held call be unheld. More...
(void) | - joinWithStatusHandler:
| Request that a remote call to be joined. More...
(void) | - transferToRemoteAddress:statusHandler:
| Transfers this call to the specified remote address (an unattended transfer). More...
(void) | - transferToRemoteAddress:applyingDialingRules:statusHandler:
| Transfers this call to the specified remote address (an unattended transfer). More...
(CSCapability *) | - transferToCallCapability:
| CSCapability object indicating whether this call can be transferred to the call specified in the input argument. More...
(void) | - transferToCall:statusHandler:
| Transfers this call to another call (an attended transfer). More...
(void) | - sendDigit:
| Sends the specified DTMF tone. More...
(void) | - readAudioDetailsWithCompletionHandler:
| Reads detailed information about the audio channel associated with the call. More...
(void) | - readVideoDetailsWithCompletionHandler:
| Reads list of CSVideoDetails objects representing details of all video streams in call. More...
(void) | - muteAudio:completionHandler:
| Mutes or unmutes the call's audio. More...
(void) | - silenceSpeaker:completionHandler:
| Silences or unsilences speaker for the call. More...
(void) | - setVideoMode:completionHandler:
| Sets the overall video status for the call. More...
(void) | - setReceiveVideoResolutionPreferences:completionHandler:
| Used in conjunction with CSCall::setVideoMode: to set receive video resolutions the client application wants to have for multi video stream calls. More...
(void) | - setReceiveVideoResolutionPreferencesForMultiVideoStreaming:completionHandler:
| Used in conjunction with CSCall::setVideoMode: to set receive video resolutions the client application wants to have for multi video stream calls. More...
(void) | - setVideoResolutionPreferenceForMainVideoStreaming:completionHandler:
| Used in conjunction with CSCall::setVideoMode: to set video resolution. More...
(void) | - acceptVideo:completionHandler:
| Called to accept incoming video escalation. More...
(void) | - denyVideoWithCompletionHandler:
| Denies the incoming request to add video. More...
(void) | - addCollaborationWithCompletionHandler:
| Adds a collaboration session to this call. More...
(void) | - transferToVoicemailForRemoteAddress:statusHandler:
| Transfers this call to the specified remote address's voicemail (an unattended transfer). More...
(void) | - transferToVoicemailForRemoteAddress:applyingDialingRules:statusHandler:
| Transfers this call to the specified remote address's voicemail (an unattended transfer). More...

## Properties
id< CSCallDelegate > | delegate
| The delegate responsible for handling call-related events. More...
NSInteger | callId
| The unique numeric ID for this call. More...
CSCallType | callType
| Enum value indicating whether this is default registered service (SIP call through Aura) or Meetme call through Service gateway. More...
BOOL | presentationOnlyMode
| A Boolean value indicating whether the call is in presentation only mode. More...
BOOL | pickupCall
| Returns true if the call is created as a result of invoking the call pickup feature CSFeatureTypeGroupCallPickup, CSFeatureTypeDirectedCallPickup, CSFeatureTypeExtendedGroupCallPickup or CSFeatureTypeTeamButton pickup. More...
BOOL | teamButtonCall
| Returns true if the call is created as a result of invoking the Team Button feature. More...
NSString * | remoteAddress
| The remote address for this call. More...
NSString * | remoteDisplayName
| The display name for the remote end of the call. More...
NSString * | remoteNumber
| The number for the remote end of the call. More...
NSString * | vectorDirectoryNumberName
| Represents a Vector Directory Number (VDN)name. More...
NSString * | remoteDialedNumber
| Represents the number dialed by originator of incoming call. More...
NSString * | lineAppearanceOwnerAddress
| The remote call owner address. More...
NSString * | lineAppearanceOwnerDisplayName
| The remote call owner display name. More...
NSUInteger | lineAppearanceId
| The line id for the remote call. More...
CSParticipant * | remoteParticipant
| The information about the remote participant connected to the call. More...
NSString * | subject
| The subject line associated with the call, if any. More...
CSAlertType | alertType
| For an incoming call, the associated alert type. More...
CSPrecedenceLevel | precedenceLevel
| The current precedence level of call. More...
CSPreemptionReason | preemptionReason
| The reason why this call was preempted. More...
CSCallState | state
| The call's current state. More...
BOOL | incoming
| A Boolean value indicating whether this is an incoming call. More...
BOOL | canAutoAnswer
| A Boolean value indicating whether this incoming call can be answered automatically. More...
BOOL | autoAnswerEnabled
| A Boolean value indicating whether Avaya Communication Manager allows answering the incoming call automatically. More...
BOOL | serviceObserving
| A Boolean value indicating whether the call is a service observing call. More...
BOOL | ronaOrRoofRedirection
| A Boolean value indicating whether the incoming call was redirected by Redirection on no answer(RONA) or Redirection on Off-PBX Telephone (ROOF) integration and Mobility (OPTIM) failure. More...
BOOL | remote
| A Boolean value indicating whether this is a remote call. More...
BOOL | callerIdentityPrivate
| A Boolean value indicating whether the identity of the user who initiated the call wishes their identity to be kept private. More...
BOOL | missed
| For an incoming call, a Boolean value indicating whether the call was missed. More...
BOOL | ignored
| A Boolean value indicating whether this is an ignored call. More...
BOOL | isConference
| A Boolean value indicating whether this is a conference call. More...
CSConference * | conference
| The conference instance associated with the call. More...
BOOL | audioMuted
| A Boolean value indicating whether audio has been explicitly muted for this call. More...
BOOL | speakerSilenced
| A Boolean value indicating whether speaker has been explicitly silenced for this call. More...
BOOL | serviceAvailable
| A Boolean value indicating whether there is an active signaling path available for this call. More...
NSDate * | establishedDate
| The time the call was initially established. More...
NSDate * | heldDate
| The time the call was last placed on hold. More...
BOOL | answered
| A Boolean value indicating if the call was ever answered/accepted. More...
BOOL | emergencyCall
| A Boolean value indicating whether this is an emergency call. More...
CSRingType | lineAppearanceRingType
| Line appearance ring type for an incoming call. More...
NSUInteger | abbreviatedDelayedRingCycles
| The ring cycles for abbreviated/delayed alerting for incoming call. More...
CSCapability * | denialCapability
| CSCapability object indicating whether the call can be denied. More...
CSCapability * | holdCapability
| CSCapability object indicating whether the call can be held. More...
CSCapability * | unholdCapability
| CSCapability object indicating whether the call can be unheld. More...
CSCapability * | joinCapability
| CSCapability object indicating whether the call can be joined. More...
CSCapability * | transferCapability
| CSCapability object indicating whether this call can be unattended transferred. More...
CSCapability * | sendDigitCapability
| CSCapability object indicating whether DTMF tones can be sent over the call. More...
CSCapability * | muteCapability
| CSCapability object indicating whether the call's audio can be muted. More...
CSCapability * | unmuteCapability
| CSCapability object indicating whether the call's audio can be unmuted. More...
BOOL | acdCall
| A boolean value indicating whether the call sent from Vector (Automatic Call Distribution) More...
CSCapability * | silenceSpeakerCapability
| CSCapability object indicating whether speaker can be silenced for the call. More...
CSCapability * | unsilenceSpeakerCapability
| CSCapability object indicating whether speaker can be unsilenced for the call. More...
CSIncomingVideoStatus | incomingVideoStatus
| Determine if the incoming call has video. More...
CSCapability * | updateVideoModeCapability
| CSCapability object indicating whether current video mode of the call can be updated based on the current state and capabilities of the call. More...
CSMaxSupportedVideoResolutionsCapability * | multiVideoChannelsCapability
| Property that provides the maximum number of receive only video streams that can be supported, and the maximum resolution that can be supported for each video stream. More...
NSArray * | videoChannels
| The video channels associated with this call. More...
BOOL | videoActive
| A convenience method that returns if the call has active video session or not. More...
CSVideoMode | videoMode
| Returns the current video mode of the call, that is, whether video is enabled or disabled, and if enabled, the video direction. More...
CSAllowedVideoDirection | allowedVideoDirection
| Returns allowed video direction for current call and its state. More...
CSUserToUserInformation * | userToUserInformation
| User-to-User Information (UUI), known as call control UUI data, is a small piece of data inserted by an application initiating the session and utilized by an application accepting the session. More...
NSString * | callerInformation
| Caller information (maximum 16 digits) associated with the call. More...
NSDictionary * | extraProperties
| A read - only map of extra call properties the application may be interested in. More...
CSCallForwardingInformation * | forwardingInformation
| Information about forwarding details of current incoming call. More...
CSCapability * | addCollaborationCapability
| CSCapability object indicating whether the collaboration can be added to the call. More...
CSCapability * | transferToVoicemailCapability
| CSCapability object indicating whether the call can be transferred to voicemail. More...
CSSupervisorCallType | supervisorCallType
| CSSupervisorCallType object indicating whether the call is supervisor assistance call. More...
BOOL | recordingActive
| A Boolean value indicating whether the call is being recorded. More...
BOOL | recordingPaused
| A Boolean value indicating whether the call recording is paused. More...
BOOL | secureCall
| A Boolean value indicating whether the call is secure. More...
CSVerificationStatus | verificationStatus
| Returns an enumeration value indicating the verification status for an incoming call. More...

## Detailed Description

The Call class is a facade object that may be used to represent a 2-party or a or a conference call.

When a Call instance represents a 2-party call, conference-related methods are unsupported. The client application can call conference method regardless of whether the call is a point to point or a conference call. Calling conference operations on a pt-to-pt call returns failure. The Call also supports video control methods, which can be applied to either a 2-party or a conference call.

See also
  to create new call createCall .

## Method Documentation

- (void) accept |  |  |

For an incoming call, requests acceptance of an incoming call.

- (void) acceptVideo: |  | (CSVideoMode) | videoMode
completionHandler: |  | (void(^)(NSError *error)) | handler

Called to accept incoming video escalation.

The video can be accepted to be bidirectional or unidirectional.

Parameters

  videoMode | Desired video status for the call.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) addCollaborationWithCompletionHandler: |  | (void(^)(NSError *error)) | handler |

Adds a collaboration session to this call.

If the call is a two-party call, the call becomes a conference. If the call is already a conference, the call is not modified.

Parameters

  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) addRemoteAddressDigit: |  | (CSAddressDigit) | digit |

For a call in the off-hook dialing state, adds a digit to the remote address being collected via a dial pad.

When a match is found in the dial plan the call will automatically be initiated and -[CSCallDelegate callDidCompleteDigitCollection] will be sent. During digit collection the dial plan may indicate that dial tone should be played, this will be indicated via -[CSCallDelegate callDidRequestDialToneForDigitCollection].

Parameters

  digit | The digit to be appended to the remote address.

- (void) denyVideoWithCompletionHandler: |  | (void(^)(NSError *error)) | handler |

Denies the incoming request to add video.

Parameters

  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) denyWithCompletionHandler: |  | (void(^)(NSError *error)) | handler |

For an incoming call, denies the call using appropriate reason based on CSSIPUserConfiguration::callDenialPolicy property.

The default denial reason is busy.

Parameters

  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) denyWithReason: |  | (CSCallDenialReason) | reason
completionHandler: |  | (void(^)(NSError *error)) | handler

For an incoming call, denies the call for the specified reason regardless of configured CSSIPUserConfiguration::callDenialPolicy property.

Parameters

  reason | The reason for the denial.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nill. If an error occurred it contains an object describing the error.

- (void) end |  |  |

Requests termination of the call.

- (void) holdWithCompletionHandler: |  | (void(^)(NSError *error)) | handler |

Requests that an active call be held.

If the hold is successful, all CallListener are informed of the hold state change. If it fails, the CompletionHandler is informed of the failure. If the hold operation fails, the call state returns to 'established' state, and any media channels previously ended to handle hold request are resumed.

Parameters

  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) ignore |  |  |

Ignores an incoming call.

The call is not ended, to the remote it will seem as if the call is still alerting. The application can use this method to silent the ringing of call without rejecting it. The call can still be accepted or rejected after it is ignored.

- (void) joinWithStatusHandler: |  | (void(^)(CSJoinStatus status, NSError *error)) | handler |

Request that a remote call to be joined.

When the join is successful, the existing call object becomes a local call. This can be verified by querying isRemote(), which returns false when the join is successful. If the join operation fails, the call continues representing a remote call. In this case, isRemote() returns true.

Parameters

  handler | A block to be called to report the status of the join operation. `status` The current status of the join operation. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) muteAudio: |  | (BOOL) | mute
completionHandler: |  | (void(^)(NSError *error)) | handler

Mutes or unmutes the call's audio.

Parameters

  mute | YES to mute audio; NO to unmute.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  -[- call:didMuteAudio: (CSCallDelegate-p)]
  -[CSCallDelegate::call:muteAudioDidFailWithError:]

- (void) readAudioDetailsWithCompletionHandler: |  | (void(^)(CSAudioDetails *audioDetails)) | handler |

Reads detailed information about the audio channel associated with the call.

If the audio channel has ended the audio details contain the information received from the channel just before it was ended.

Parameters

  handler | A block to be called to with audio details in CSAudioDetails.

- (void) readVideoDetailsWithCompletionHandler: |  | (void(^)(NSArray *arrayOfVideoDetails)) | handler |

Reads list of CSVideoDetails objects representing details of all video streams in call.

Parameters

  handler | A block to be called to with video details in arrayOfVideoDetails.

- (void) sendDigit: |  | (CSDTMFTone) | tone |

Sends the specified DTMF tone.

Parameters

  tone | The DTMF tone to send.

- (void) setReceiveVideoResolutionPreferences: |  | (NSArray *) | videoResolutionPreferences
completionHandler: |  | (void(^)(NSError *error)) | handler

Used in conjunction with CSCall::setVideoMode: to set receive video resolutions the client application wants to have for multi video stream calls.

Calling this method is optional.

If this method is not called and the local user wants to receive video, for a multi video stream conference call the Client SDK negotiates the maximum number of video streams that can be supported with the server, subject to the limitations of the local CPU/host capabilities and the locally provisioned video-related bandwidth and resolution settings. If this method is called, the number of video streams negotiated with the conference server and their resolution will be the lesser of the information passed in the method and the maximum number of video streams that can be supported subject to the limitations of the conference server's ability to multiple video streams, the local CPU/platform limitations, and the locally provisioned video bandwidth and resolution settings. For example, the conference server may be capable of sending up to nine 180p video streams, but the local platform may only be able to decode up to one 360p and four 180p video streams. If this method is not called, when the server escalates the single video stream call to multi stream video, the SDK negotiates one 360p stream and four 180p video streams with the server. Depending on the number of video participants on the call and the capabilities of the media server, the local SDK may receive anywhere from a single 360p video stream up to four 180p video streams. In the same example, if the local application called this method to view up to three video streams, then only three video streams are negotiated with the conference server. If the application sets a lesser number of video streams to render than what can be supported maximum, some of the video channel instances that can be supported but not requested by the application for rendering are marked as disabled, and reported with disabled reason of "layout selection". It should be noted that calling this method on a call that does not support multiple video channels has no effect. But in this case successful response would be provided through completion handler. However, a call normally starts as a point to point call, and is later escalated to have multi video channels. In this case, any preference setting provided prior to the multiple video channels escalation is used during processing of an incoming escalation request. This method may be called mid-call.

Parameters

  videoResolutionPreferences | The video resolution preferences requested by the application.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  -[CSCallDelegate call:didUpdateVideoChannels:]

Deprecated:
  Use setReceiveVideoResolutionPreferencesForMultiVideoStreaming:completionHandler:

- (void) setReceiveVideoResolutionPreferencesForMultiVideoStreaming: |  | (NSArray *) | videoResolutionPreferences
completionHandler: |  | (void(^)(NSError *error)) | handler

Used in conjunction with CSCall::setVideoMode: to set receive video resolutions the client application wants to have for multi video stream calls.

Calling this method is optional.

If this method is not called and the local user wants to receive video, for a multi video stream conference call the Client SDK negotiates the maximum number of video streams that can be supported with the server, subject to the limitations of the local CPU/host capabilities and the locally provisioned video-related bandwidth and resolution settings. If this method is called, the number of video streams negotiated with the conference server and their resolution will be the lesser of the information passed in the method and the maximum number of video streams that can be supported subject to the limitations of the conference server's ability to multiple video streams, the local CPU/platform limitations, and the locally provisioned video bandwidth and resolution settings. For example, the conference server may be capable of sending up to nine 180p video streams, but the local platform may only be able to decode up to one 360p and four 180p video streams. If this method is not called, when the server escalates the single video stream call to multi stream video, the SDK negotiates one 360p stream and four 180p video streams with the server. Depending on the number of video participants on the call and the capabilities of the media server, the local SDK may receive anywhere from a single 360p video stream up to four 180p video streams. In the same example, if the local application called this method to view up to three video streams, then only three video streams are negotiated with the conference server. If the application sets a lesser number of video streams to render than what can be supported maximum, some of the video channel instances that can be supported but not requested by the application for rendering are marked as disabled, and reported with disabled reason of "layout selection". It should be noted that calling this method on a call that does not support multiple video channels has no effect. But in this case successful response would be provided through completion handler. However, a call normally starts as a point to point call, and is later escalated to have multi video channels. In this case, any preference setting provided prior to the multiple video channels escalation is used during processing of an incoming escalation request. This method may be called mid-call.

Parameters

  videoResolutionPreferences | The video resolution preferences requested by the application.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  -[CSCallDelegate call:didUpdateVideoChannels:]

- (void) setVideoMode: |  | (CSVideoMode) | videoMode
completionHandler: |  | (void(^)(NSError *error)) | handler

Sets the overall video status for the call.

This method can be used to enable bidirectional or unidirectional video, or disable video.

Parameters

  videoMode | Desired video status for the call.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) setVideoResolutionPreferenceForMainVideoStreaming: |  | (CSVideoResolutionPreferenceForMainVideoStreaming *) | videoResolutionPreferences
completionHandler: |  | (void(^)(NSError *error)) | handler

Used in conjunction with CSCall::setVideoMode: to set video resolution.

The actual resolution can be lower than the specified preference. It is subjected to the negotation result, configuration limits, and hardware capability. Calling this method is optional. This method may be called mid-call. Note: This API adjusts the encoder and decoder resolution. It does not affect the capture resolution. Refer to the media engine documentation to adjust the video capture resolution.

Parameters

  videoResolutionPreferences | The video resolution preference requested by the application.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  -[CSCallDelegate call:didUpdateVideoChannels:]

- (void) silenceSpeaker: |  | (BOOL) | silence
completionHandler: |  | (void(^)(NSError *error)) | handler

Silences or unsilences speaker for the call.

Parameters

  silence | YES to silence speaker; NO to unsilence.
  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  -[- call:didSilenceSpeaker: (CSCallDelegate-p)]
  -[CSCallDelegate::call:silenceSpeakerDidFailWithError:]

- (void) start |  |  |

Starts an outgoing call to the current remote address.

Usage in Shared Control mode: UI should call this function only for outgoing calls initiated from UC client. In all other call cases do not invoke the Start function for any call or conference because calls are initiated from the desk phone.

- (void) transferToCall: |  | (CSCall *) | callToReplace
statusHandler: |  | (void(^)(CSTransferStatus status, NSError *error)) | handler

Transfers this call to another call (an attended transfer).

In SIP, transfer operation is implemented using delegation technique where transferor delegates transferee to reach out to transfer target in order to complete the transfer operation. While the transfer is in progress, the transferor receives feedback from the transferee about the status of the transfer. If a failure is reported by the transferee, on the transferor's is notified of the error via the handler that was provided as input argument.

Parameters

  callToReplace | The existing call to transfer to.
  handler | A block to be called to report the status of the transfer operation. `status` The current status of the transfer operation. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (CSCapability *) transferToCallCapability: |  | (CSCall *) | callToTarget |

CSCapability object indicating whether this call can be transferred to the call specified in the input argument.

Parameters

  callToTarget | Call to the transfer target

Returns
  CSCapability object indicating whether call can be transferred.

- (void) transferToRemoteAddress: |  | (NSString *) | address
applyingDialingRules: |  | (BOOL) | applyDialingRules
statusHandler: |  | (void(^)(CSTransferStatus status, NSError *error)) | handler

Transfers this call to the specified remote address (an unattended transfer).

Parameters

  address | The remote address to transfer to.
  applyDialingRules | Controls whether any configured dialing rules will be applied to the remote address.
  handler | A block to be called to report the status of the transfer operation. `status` The current status of the transfer operation. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  CSUserConfiguration::dialingRulesConfiguration

- (void) transferToRemoteAddress: |  | (NSString *) | address
statusHandler: |  | (void(^)(CSTransferStatus status, NSError *error)) | handler

Transfers this call to the specified remote address (an unattended transfer).

If dialing rules have been configured via CSUserConfiguration.dialingRulesConfiguration they will be applied to the remote address. To control whether dialing rules are applied use transferToRemoteAddress:applyingDialingRules:statusHandler: instead.

Parameters

  address | The remote address to transfer to.
  handler | A block to be called to report the status of the transfer operation. `status` The current status of the transfer operation. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) transferToVoicemailForRemoteAddress: |  | (NSString *) | address
applyingDialingRules: |  | (BOOL) | applyDialingRules
statusHandler: |  | (void(^)(CSTransferStatus status, NSError *error)) | handler

Transfers this call to the specified remote address's voicemail (an unattended transfer).

Parameters

  address | The remote address whose voicemail transfer the call to.
  applyDialingRules | Controls whether any configured dialing rules will be applied to the remote address.
  handler | A block to be called to report the status of the transfer operation. `status` The current status of the transfer operation. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

See also
  CSUserConfiguration::dialingRulesConfiguration

- (void) transferToVoicemailForRemoteAddress: |  | (NSString *) | address
statusHandler: |  | (void(^)(CSTransferStatus status, NSError *error)) | handler

Transfers this call to the specified remote address's voicemail (an unattended transfer).

If dialing rules have been configured via CSUserConfiguration.dialingRulesConfiguration they will be applied to the remote address. To control whether dialing rules are applied use transferToVoicemailForRemoteAddress:applyingDialingRules:statusHandler: instead.

Parameters

  address | The remote address whose voicemail transfer the call to.
  handler | A block to be called to report the status of the transfer operation. `status` The current status of the transfer operation. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

- (void) unholdWithCompletionHandler: |  | (void(^)(NSError *error)) | handler |

Requests that a held call be unheld.

If unhold is successful, The call transition to 'established' state, and its media channel(s) are restored. If unhold fails, the call stays in 'held' state, and its media channel(s) are not restored.

Parameters

  handler | A block to be called when the operation is completed. `error` If the operation was successful this parameter is nil. If an error occurred it contains an object describing the error.

## Property Documentation

- (NSUInteger) abbreviatedDelayedRingCycles
| read nonatomic assign

The ring cycles for abbreviated/delayed alerting for incoming call.

- (BOOL) acdCall
| read nonatomic assign

A boolean value indicating whether the call sent from Vector (Automatic Call Distribution)

- (CSCapability*) addCollaborationCapability
| read nonatomic assign

CSCapability object indicating whether the collaboration can be added to the call.

- (CSAlertType) alertType
| read nonatomic assign

For an incoming call, the associated alert type.

- (CSAllowedVideoDirection) allowedVideoDirection
| read nonatomic assign

Returns allowed video direction for current call and its state.

- (BOOL) answered
| read nonatomic assign

A Boolean value indicating if the call was ever answered/accepted.

- (BOOL) audioMuted
| read nonatomic assign

A Boolean value indicating whether audio has been explicitly muted for this call.

This does not reflect device-level mute state that may affect this call, but only the call-specific mute state controlled via -[CSCall muteAudio:].

- (BOOL) autoAnswerEnabled
| read nonatomic assign

A Boolean value indicating whether Avaya Communication Manager allows answering the incoming call automatically.

- (BOOL) callerIdentityPrivate
| read nonatomic assign

A Boolean value indicating whether the identity of the user who initiated the call wishes their identity to be kept private.

For an incoming call, this property returns whether the remote user's address is private. For an outgoing call, this property returns whether the local user's address is private (which can happen if user chooses to make a private call).

- (NSString*) callerInformation
| read nonatomic assign

Caller information (maximum 16 digits) associated with the call.

The collected digits information neither change during the life of the call nor it can be updated during the life of a call. In case of transfer of call caller information associated with the call is also transferred.

Collected digits which are sent as part of call establishment will be provided to the sip application in a new sip header Avaya-user-data. Avaya-User-Data:45676;purpose=collected-digits;content=digits;encoding=text

Example: Collect 4 digits after announcement 3502 (Thank you for calling the Widget Company. If you know your party's 4-digit extension, please dial it now or stay on the line for the operator.)

An empty string is returned if call does not have digit information.

- (NSInteger) callId
| read nonatomic assign

The unique numeric ID for this call.

- (CSCallType) callType
| read nonatomic assign

Enum value indicating whether this is default registered service (SIP call through Aura) or Meetme call through Service gateway.

- (BOOL) canAutoAnswer
| read nonatomic assign

A Boolean value indicating whether this incoming call can be answered automatically.

Auto answer is not allowed when:

- Avaya Communication Manager does not allow answering it automatically, as well as
- there is another live call, as well as
- the application is running on a mobile device, as well as
- the desktop screen is locked, as well as
- the desktop screen saver is active, as well as
- the presence state is set to Do-Not-Distrub (DND)

- (CSConference*) conference
| read nonatomic assign

The conference instance associated with the call.

The CSConference object is returned regardless of whether the call is a conference call or not. Invoking methods on the Conference object returns an error if the call is not a conference call.

- (id<CSCallDelegate>) delegate
| read write nonatomic weak

The delegate responsible for handling call-related events.

- (CSCapability*) denialCapability
| read nonatomic assign

CSCapability object indicating whether the call can be denied.

Call denial capability is not allowed if CSSIPUserConfiguration::callDenialPolicy is Disabled. The capability is allowed only for incoming Point-to-Point & adhoc conferencing calls if the policy is set to Busy or Decline. The capability is not allowed for incoming answered or outgoing calls irrespective of the call denial policy. The capability is not allowed for calls on bridge line appearances irrespective of the call denial policy

- (BOOL) emergencyCall
| read nonatomic assign

A Boolean value indicating whether this is an emergency call.

- (NSDate*) establishedDate
| read nonatomic assign

The time the call was initially established.

- (NSDictionary*) extraProperties
| read nonatomic assign

A read - only map of extra call properties the application may be interested in.

For SIP - based calls, the map contains the list of SIP headers that are unknown to the SDK. SIP header name is used as the map key, and the header content is used as to the value of the map entry. During the lifetime of a call session, the extra properties of the call may be updated based on the information received from the network.The extra properties field tracks cumulative list of properties added to the call.For instance, an unknown SIP header of the form "header1: content1" is received, it is added to the map (key = “header1”, value = “content1”) A subsequent SIP message carrying two unknown headers "header1: contentA" and "header2: content2" will result in the update of the existing property as well as addition of a new map entry, as follows : (key = “header1”, value = “contentA”) (key = “header2”, value = “content2”) If there are multiple occurrences of an unknown SIP header, a unique map entry is created for each occurrence by appending a unique integer to the header name.For instance, if a SIP message contains two occurrences of an unknown SIP header, "unknownHeader:content1" and "unknownHeader:content2", then two separate map entries are created : (key = ”unknownHeader”, value = ”content1”) (key = ”unknownHeader2”, value = ”content2”) The application will be notified of this change using the CSCallDelegate::call : didChangeExtraProperties : event. Av-Phone-Global-Session-ID Header will be available in computer and shared control modes. In case of computer mode, there will be an entry in the map as follows:
(key = ”Av-Phone-Global-Session-ID”, value = ”Global Session ID of the incoming call received from far end.”) In case of shared control, there will be an entry in the map as follows:
(key = ”Av-Phone-Global-Session-ID”, value = ”Global Session ID of the incoming call received from controllable endpoint.”)

- (CSCallForwardingInformation*) forwardingInformation
| read nonatomic assign

Information about forwarding details of current incoming call.

Information can be null if current incoming call was not forwarded.

- (NSDate*) heldDate
| read nonatomic assign

The time the call was last placed on hold.

- (CSCapability*) holdCapability
| read nonatomic assign

CSCapability object indicating whether the call can be held.

It should be noted that a subsequent hold operation depends on the state of the call that is being held.

- (BOOL) ignored
| read nonatomic assign

A Boolean value indicating whether this is an ignored call.

- (BOOL) incoming
| read nonatomic assign

A Boolean value indicating whether this is an incoming call.

- (CSIncomingVideoStatus) incomingVideoStatus
| read nonatomic assign

Determine if the incoming call has video.

Returns
  CSIncomingVideoStatus indicating the video availability in an incoming call

- (BOOL) isConference
| read nonatomic assign

A Boolean value indicating whether this is a conference call.

- (CSCapability*) joinCapability
| read nonatomic assign

CSCapability object indicating whether the call can be joined.

It should be noted that a subsequent join operation is not guaranteed to succeed as this depends on the characteristics of the remote call that is being joined. For example, the remote call may have exclusion turned on, in which case the local user will not be allowed to join.

- (NSUInteger) lineAppearanceId
| read nonatomic assign

The line id for the remote call.

- (NSString*) lineAppearanceOwnerAddress
| read nonatomic assign

The remote call owner address.

- (NSString*) lineAppearanceOwnerDisplayName
| read nonatomic assign

The remote call owner display name.

- (CSRingType) lineAppearanceRingType
| read nonatomic assign

Line appearance ring type for an incoming call.

For a call appearance button a client shall use the cadence specified by the Alert type (alertType ) and shall apply audible ringer based on the value of Ring type property. A subsequent call arriving on a station (while another call is active) shall honor the property for call appearance button. If the ring type is not specified for call appearance, then client shall use the cadence (internal, external, priority, no-ring) provided by the Alert type. A subsequent call arriving on a station (while another call is active) shall ring once and transition from audible ring to no-ring.

For a bridge appearance button a client shall use the cadence specified by the Alert type (alertType ) and shall apply audible ringer based on the value of this property. A subsequent call arriving on a station (while another call is active) shall honor the property for bridge appearance button. If the ring type is not specified for the bridge appearance, then a client shall use the cadence (internal, external, priority, no-ring) provided by the Alert type. A subsequent call arriving on a station (while another call is active) shall ring once and transition from audible ring to no-ring.

- (BOOL) missed
| read nonatomic assign

For an incoming call, a Boolean value indicating whether the call was missed.

- (CSMaxSupportedVideoResolutionsCapability*) multiVideoChannelsCapability
| read nonatomic assign

Property that provides the maximum number of receive only video streams that can be supported, and the maximum resolution that can be supported for each video stream.

The information returned is based on local bandwidth and video resolution configuration, local CPU/platform's video decode capabilities, and other user's video related information such as end user video preference, video licensing, etc. However, after the call setup, if the call is not multi video stream enabled, this CSCapability::allowed returns false, indicating that calling CSCall::setReceiveVideoResolutionPreferences: will not succeed. Similarly, for a call that is not multi video stream enabled, CSMaxSupportedVideoResolutionsCapability::maxSupportedVideoResolutions: returns an empty list.

Returns
  Maximum number of receive only video streams that can be supported, and their maximum resolution.

- (CSCapability*) muteCapability
| read nonatomic assign

CSCapability object indicating whether the call's audio can be muted.

- (BOOL) pickupCall
| read nonatomic assign

Returns true if the call is created as a result of invoking the call pickup feature CSFeatureTypeGroupCallPickup, CSFeatureTypeDirectedCallPickup, CSFeatureTypeExtendedGroupCallPickup or CSFeatureTypeTeamButton pickup.

Returns
  indication as to whether the call is pickup call.

- (CSPrecedenceLevel) precedenceLevel
| read nonatomic assign

The current precedence level of call.

See also
  CSPrecedenceLevel

- (CSPreemptionReason) preemptionReason
| read nonatomic assign

The reason why this call was preempted.

See also
  CSPreemptionReason

- (BOOL) presentationOnlyMode
| read nonatomic assign

A Boolean value indicating whether the call is in presentation only mode.

- (BOOL) recordingActive
| read nonatomic assign

A Boolean value indicating whether the call is being recorded.

- (BOOL) recordingPaused
| read nonatomic assign

A Boolean value indicating whether the call recording is paused.

- (BOOL) remote
| read nonatomic assign

A Boolean value indicating whether this is a remote call.

A remote call is one that does not exist on the local device but the user is aware of, such as a call on a bridged line appearance.

- (NSString*) remoteAddress
| read write nonatomic copy

The remote address for this call.

For SIP this is the unescaped URI of the remote end of the call.

- (NSString*) remoteDialedNumber
| read nonatomic assign

Represents the number dialed by originator of incoming call.

For outgoing calls this property is empty.

- (NSString*) remoteDisplayName
| read nonatomic assign

The display name for the remote end of the call.

- (NSString*) remoteNumber
| read nonatomic assign

The number for the remote end of the call.

For outgoing calls, it's the the post dialing rules string. For incoming SIP calls, it's the user part of the URI.

- (CSParticipant*) remoteParticipant
| read nonatomic assign

The information about the remote participant connected to the call.

The information in participant can be empty if call is not connected OR the details are not available for remote party.

- (BOOL) ronaOrRoofRedirection
| read nonatomic assign

A Boolean value indicating whether the incoming call was redirected by Redirection on no answer(RONA) or Redirection on Off-PBX Telephone (ROOF) integration and Mobility (OPTIM) failure.

Flag is only for these RONA and ROOF redirections. Redirections due to forwarding, not available or other has no influence on this flag.

- (BOOL) secureCall
| read nonatomic assign

A Boolean value indicating whether the call is secure.

- (CSCapability*) sendDigitCapability
| read nonatomic assign

CSCapability object indicating whether DTMF tones can be sent over the call.

For example, the capability is denied, if the call is in ringing state without early media (VoIP).

- (BOOL) serviceAvailable
| read nonatomic assign

A Boolean value indicating whether there is an active signaling path available for this call.

- (BOOL) serviceObserving
| read nonatomic assign

A Boolean value indicating whether the call is a service observing call.

- (CSCapability*) silenceSpeakerCapability
| read nonatomic assign

CSCapability object indicating whether speaker can be silenced for the call.

- (BOOL) speakerSilenced
| read nonatomic assign

A Boolean value indicating whether speaker has been explicitly silenced for this call.

This does not reflect device-level speaker silence state that may affect this call, but only the call-specific speaker silence state controlled via -[CSCall silenceSpeaker:].

- (CSCallState) state
| read nonatomic assign

The call's current state.

- (NSString*) subject
| read write nonatomic copy

The subject line associated with the call, if any.

- (CSSupervisorCallType) supervisorCallType
| read nonatomic assign

CSSupervisorCallType object indicating whether the call is supervisor assistance call.

- (BOOL) teamButtonCall
| read nonatomic assign

Returns true if the call is created as a result of invoking the Team Button feature.

Returns
  indication whether the call is a team button call.

- (CSCapability*) transferCapability
| read nonatomic assign

CSCapability object indicating whether this call can be unattended transferred.

- (CSCapability*) transferToVoicemailCapability
| read nonatomic assign

CSCapability object indicating whether the call can be transferred to voicemail.

It should be noted that a subsequent transfer operation depends on the state of the call that is being transferred.

- (CSCapability*) unholdCapability
| read nonatomic assign

CSCapability object indicating whether the call can be unheld.

It should be noted that a subsequent unhold operation is not guaranteed to succeed as this depends on the state of the call that is being unheld.

- (CSCapability*) unmuteCapability
| read nonatomic assign

CSCapability object indicating whether the call's audio can be unmuted.

- (CSCapability*) unsilenceSpeakerCapability
| read nonatomic assign

CSCapability object indicating whether speaker can be unsilenced for the call.

- (CSCapability*) updateVideoModeCapability
| read nonatomic assign

CSCapability object indicating whether current video mode of the call can be updated based on the current state and capabilities of the call.

The capability object indicates an error(denial) if the current call state does not allow video mode update, or if local video is disabled, e.g., due to video licensing or local platform's configuration.

- (CSUserToUserInformation*) userToUserInformation
| read nonatomic assign

User-to-User Information (UUI), known as call control UUI data, is a small piece of data inserted by an application initiating the session and utilized by an application accepting the session.

The syntax and semantics for the UUI data used by a specific application are defined by a UUI package.

- (NSString*) vectorDirectoryNumberName
| read nonatomic assign

Represents a Vector Directory Number (VDN)name.

Agent may need to know which VDN the call has arrived from in order to get prepared. For example, agent may consult for sales and for technical support questions. And voice menu have the VDNs for sales and technical support. Once call is ringing, agent can see the VDN name and get prepared to talk on the particular subject.

- (CSVerificationStatus) verificationStatus
| read nonatomic assign

Returns an enumeration value indicating the 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.

See also
  CSVerificationStatus

- (BOOL) videoActive
| read nonatomic assign

A convenience method that returns if the call has active video session or not.

The method returns true if there is at least one video channel that is enabled, and has a negotiated media direction of send-receive, receive-only or send-only.

- (NSArray*) videoChannels
| read nonatomic assign

The video channels associated with this call.

- (CSVideoMode) videoMode
| read nonatomic assign

Returns the current video mode of the call, that is, whether video is enabled or disabled, and if enabled, the video direction.

The documentation for this class was generated from the following file:

- CSCall.h