@azure/communication-call-automation
Version:
Azure client library for Azure Communication Call Automation services
391 lines • 16.9 kB
TypeScript
import type { PhoneNumberIdentifier, CommunicationIdentifier } from "@azure/communication-common";
import type { OperationOptions } from "@azure/core-client";
import type { MediaStreamingOptions, TranscriptionOptions, CallRejectReason, FileSource, TextSource, SsmlSource, DtmfTone, RecognitionChoice, RecordingContent, RecordingChannel, RecordingFormat, RecordingStorage, CallLocator, ChannelAffinity, CallIntelligenceOptions, CustomCallingContext } from "./models.js";
/** Options to configure the recognize operation. */
export interface CallMediaRecognizeOptions extends OperationOptions {
/** The source of the audio to be played for recognition. */
playPrompt?: FileSource | TextSource | SsmlSource;
/** The list source of the audio to be played for recognition. */
playPrompts?: (FileSource | TextSource | SsmlSource)[];
/** If set recognize can barge into other existing queued-up/currently-processing requests. */
interruptCallMediaOperation?: boolean;
/** @deprecated Not in use, instead use interruptCallMediaOperation for similar functionality*/
stopCurrentOperations?: boolean;
/** The value to identify context of the operation. */
operationContext?: string;
/** Determines if we interrupt the prompt and start recognizing. */
interruptPrompt?: boolean;
/** Time to wait for first input after prompt. */
initialSilenceTimeoutInSeconds?: number;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/** The recognize configuration specific to Dtmf. */
export interface CallMediaRecognizeDtmfOptions extends CallMediaRecognizeOptions {
/** Time to wait between DTMF inputs to stop recognizing. */
interToneTimeoutInSeconds?: number;
/** List of tones that will stop recognizing. */
stopDtmfTones?: DtmfTone[];
/** Maximum number of DTMF tones to be collected. */
maxTonesToCollect?: number;
readonly kind: "callMediaRecognizeDtmfOptions";
}
/** The recognize configuration specific to Choices. */
export interface CallMediaRecognizeChoiceOptions extends CallMediaRecognizeOptions {
/** The IvR choices for recognize. */
choices: RecognitionChoice[];
/** Speech language to be recognized, If not set default is en-US */
speechLanguage?: string;
/** Endpoint where the custom model was deployed. */
speechRecognitionModelEndpointId?: string;
readonly kind: "callMediaRecognizeChoiceOptions";
}
/** The recognize configuration specific to Speech. */
export interface CallMediaRecognizeSpeechOptions extends CallMediaRecognizeOptions {
/** The length of end silence when user stops speaking and cogservice send response. */
endSilenceTimeoutInSeconds?: number;
/** Speech language to be recognized, If not set default is en-US */
speechLanguage?: string;
/** Endpoint where the custom model was deployed. */
speechRecognitionModelEndpointId?: string;
readonly kind: "callMediaRecognizeSpeechOptions";
}
/** The recognize configuration for Speech or Dtmf */
export interface CallMediaRecognizeSpeechOrDtmfOptions extends CallMediaRecognizeOptions {
/** The length of end silence when user stops speaking and cogservice send response. */
endSilenceTimeoutInSeconds?: number;
/** Time to wait between DTMF inputs to stop recognizing. */
interToneTimeoutInSeconds?: number;
/** List of tones that will stop recognizing. */
stopDtmfTones?: DtmfTone[];
/** Maximum number of DTMF tones to be collected. */
maxTonesToCollect?: number;
/** Speech language to be recognized, If not set default is en-US */
speechLanguage?: string;
/** Endpoint where the custom model was deployed. */
speechRecognitionModelEndpointId?: string;
readonly kind: "callMediaRecognizeSpeechOrDtmfOptions";
}
/**
* Options to create a call.
*/
export interface CreateCallOptions extends OperationOptions {
/**
* The source caller Id, a phone number, that's shown to the PSTN participant being invited.
* Required only when calling a PSTN callee.
*/
sourceCallIdNumber?: PhoneNumberIdentifier;
/** Display name of the call if dialing out to a pstn number */
sourceDisplayName?: string;
/** The operation context. */
operationContext?: string;
/** AI options for the call. */
callIntelligenceOptions?: CallIntelligenceOptions;
/** Options for Media streaming. */
mediaStreamingOptions?: MediaStreamingOptions;
/** Options for live transcription. */
transcriptionOptions?: TranscriptionOptions;
}
/**
* Options to answer a call.
*/
export interface AnswerCallOptions extends OperationOptions {
/** AI options for the call. */
callIntelligenceOptions?: CallIntelligenceOptions;
/** Options for Media streaming. */
mediaStreamingOptions?: MediaStreamingOptions;
/** Options for live transcription. */
transcriptionOptions?: TranscriptionOptions;
/** The operation context. */
operationContext?: string;
}
/**
* Options to redirect call.
*/
export type RedirectCallOptions = OperationOptions;
/**
* Options to reject call.
*/
export interface RejectCallOptions extends OperationOptions {
/** The rejection reason. */
callRejectReason?: CallRejectReason;
}
/**
* Options to transfer participants.
*/
export interface TransferCallToParticipantOptions extends OperationOptions {
/** Used by customers when calling mid-call actions to correlate the request to the response event. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
/** Transferee is the participant who is transferred away. */
transferee?: CommunicationIdentifier;
/** Used by customer to send custom context to targets. */
customCallingContext?: CustomCallingContext;
/** The source caller Id, a phone number, that's will be used as the transferor's(Contoso) caller id when transfering a call a pstn target. */
sourceCallIdNumber?: PhoneNumberIdentifier;
}
/** Options to add participants. */
export interface AddParticipantOptions extends OperationOptions {
/**
* Gets or sets the timeout to wait for the invited participant to pickup.
* The maximum value of this is 180 seconds
*/
invitationTimeoutInSeconds?: number;
/** Used by customers when calling mid-call actions to correlate the request to the response event. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to remove participants.
*/
export interface RemoveParticipantsOption extends OperationOptions {
/** Used by customers when calling mid-call actions to correlate the request to the response event. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to mute participant.
*/
export interface MuteParticipantOption extends OperationOptions {
/** Used by customers when calling mid-call actions to correlate the request to the response event. */
operationContext?: string;
}
/**
* Options to play audio.
*/
export interface PlayOptions extends OperationOptions {
/** Determine if it is looping */
loop?: boolean;
/** The value to identify context of the operation. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to playToAll audio.
*/
export interface PlayToAllOptions extends PlayOptions {
/** If set play can barge into other existing queued-up/currently-processing requests. */
interruptCallMediaOperation?: boolean;
}
/**
* Options to get call connection properties.
*/
export type GetCallConnectionPropertiesOptions = OperationOptions;
/**
* Options to hang up the call
*/
export type HangUpOptions = OperationOptions;
/**
* Options to get a participant.
*/
export type GetParticipantOptions = OperationOptions;
/**
* Options to get a start a recording.
*/
export interface StartRecordingOptions extends OperationOptions {
/** The call locator. (Only one of callLocator or callConnectionId to be used) */
callLocator: CallLocator;
/** The url to send notifications to. */
recordingStateCallbackEndpointUrl?: string;
/** The content type of call recording. */
recordingContent?: RecordingContent;
/** The channel type of call recording. */
recordingChannel?: RecordingChannel;
/** The format type of call recording. */
recordingFormat?: RecordingFormat;
/** Recording storage option. */
recordingStorage?: RecordingStorage;
/** Pause on start call recording option. */
pauseOnStart?: boolean;
/**
* The sequential order in which audio channels are assigned to participants in the unmixed recording.
* When 'recordingChannelType' is set to 'unmixed' and `audioChannelParticipantOrdering` is not specified,
* the audio channel to participant mapping will be automatically assigned based on the order in which participant
* first audio was detected. Channel to participant mapping details can be found in the metadata of the recording.
*/
audioChannelParticipantOrdering?: CommunicationIdentifier[];
/**
* The channel affinity of call recording
* When 'recordingChannelType' is set to 'unmixed', if channelAffinity is not specified, 'channel' will be automatically assigned.
* Channel-Participant mapping details can be found in the metadata of the recording.
*/
channelAffinity?: ChannelAffinity[];
}
/**
* Options to get a stop a recording.
*/
export type StopRecordingOptions = OperationOptions;
/**
* Options to get a pause a recording.
*/
export type PauseRecordingOptions = OperationOptions;
/**
* Options to get recording properties.
*/
export type GetRecordingPropertiesOptions = OperationOptions;
/**
* Options to resume recording.
*/
export type ResumeRecordingOptions = OperationOptions;
/**
* Options to delete recording.
*/
export type DeleteRecordingOptions = OperationOptions;
/**
* Options to download recording.
*/
export interface DownloadRecordingOptions extends OperationOptions {
/** Offset byte to start download from. */
offset?: number;
/** Max content length in bytes. */
length?: number;
}
/**
* Options to continuous Dtmf recognition.
*/
export interface ContinuousDtmfRecognitionOptions extends OperationOptions {
/** The value to identify context of the operation. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to send Dtmf tones.
*/
export interface SendDtmfTonesOptions extends OperationOptions {
/** The value to identify context of the operation. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/** Options for cancelling add participant request. */
export interface CancelAddParticipantOperationOptions extends OperationOptions {
/** The value to identify context of the operation. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URL set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to start transcription
*/
export interface StartTranscriptionOptions extends OperationOptions {
/** Defines Locale for the transcription e,g en-US */
locale?: string;
/** The value to identify context of the operation. */
operationContext?: string;
/** Endpoint where the custom model was deployed. */
speechRecognitionModelEndpointId?: string;
/**
* Set a callback URL that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to stop transcription
*/
export interface StopTranscriptionOptions extends OperationOptions {
/** The value to identify context of the operation. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
/**
* Options to hold participant.
*/
export interface HoldOptions extends OperationOptions {
/** A PlaySource representing the source to play. */
playSource?: FileSource | TextSource | SsmlSource;
/** Operation Context. */
operationContext?: string;
/** Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation. */
operationCallbackUrl?: string;
}
/**
* Options to Unhold participant.
*/
export interface UnholdOptions extends OperationOptions {
/** Operation Context. */
operationContext?: string;
/** Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation. */
operationCallbackUrl?: string;
}
/**
* Options to Connect request.
*/
export interface ConnectCallOptions extends OperationOptions {
/** Used by customers to correlate the request to the response event. */
operationContext?: string;
/** AI options for the call. */
callIntelligenceOptions?: CallIntelligenceOptions;
/** Options for Media streaming. */
mediaStreamingOptions?: MediaStreamingOptions;
/** Options for live transcription. */
transcriptionOptions?: TranscriptionOptions;
}
/** Options for start media streaming request. */
export interface StartMediaStreamingOptions extends OperationOptions {
/**
* Set a callback URL that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
/** The value to identify context of the operation. */
operationContext?: string;
}
/** Options for stop media streaming request. */
export interface StopMediaStreamingOptions extends OperationOptions {
/**
* Set a callback URL that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
/** The value to identify context of the operation. */
operationContext?: string;
}
/**
* Options to update transcription
*/
export interface UpdateTranscriptionOptions extends OperationOptions {
/** Endpoint where the custom model was deployed. */
speechRecognitionModelEndpointId?: string;
/** The value to identify context of the operation. */
operationContext?: string;
/**
* Set a callback URL that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
* This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
*/
operationCallbackUrl?: string;
}
//# sourceMappingURL=options.d.ts.map