UNPKG

bria

Version:

CounterPath Bria Desktop API for Node.js

237 lines 9.55 kB
import BriaClientLeaf from './Leaf'; import { BriaClient } from '.'; import sxml from 'sxml'; export declare type CallId = string; export declare type CallNumber = string; export declare type CallType = 'audio' | 'video' | 'conference'; export declare type Call = { type: CallType; number: CallNumber; displayName?: string; /** * If true, the Bria window will not regain focus when call is initiated */ suppressMainWindow?: boolean; accountId?: string; }; export declare type HoldState = 'offHold' | 'localHold' | 'remoteHold'; export declare type CallState = 'connected' | 'connecting' | 'ringing' | 'failed' | 'ended'; /** * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getStatusCallOptions */ export declare type CallOptions = { anonymous: boolean; lettersToNumbers: boolean; autoAnswer: boolean; callWaiting: boolean; }; export declare type DTMFDigit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '*' | '#'; export declare type DTMFType = 'start' | 'stop'; export declare type CallParty = { number: CallNumber; displayName: string; state: CallState; timeInitiated: Date; }; declare class BriaCall { id: CallId; holdStatus: HoldState; participants: CallParty[]; recordingStatus: boolean; recordingFile?: string; _xml: sxml.XML; private client; constructor(client: BriaClient, xml: sxml.XML); /** * * @param xml * @returns true if the call was actually updated */ update(xml: sxml.XML): boolean; /** * Answer a call * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getAnswer */ answer(): Promise<sxml.XML>; /** * End a call * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getEndCall */ end(): Promise<sxml.XML>; /** * Place call on hold * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getHold */ hold(): Promise<sxml.XML>; /** * Resume call that was on hold * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getResume */ resume(): Promise<sxml.XML>; /** * Request a blind transfer to a number * * @param targetNumber * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getTransferCall */ blindTransferToNumber(targetNumber: CallNumber): Promise<sxml.XML>; /** * Request a blind transfer to a BriaCall * * @param targetCall * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getTransferCall */ blindTransferToCall(targetCall: BriaCall): Promise<sxml.XML>; /** * Request an attended transfer * * On Bria versions <6.2.0, this call will throw an exception * @param targetNumber * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#startAttendedTransferCall */ attendedTransfer(targetNumber: CallNumber): Promise<sxml.XML>; /** * Merge call with all other calls * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#Merge */ merge(): Promise<sxml.XML>; /** * Start a call recording * @param filename Do not include extension, Bria includes it automatically * @param suppressPopup Show call recording popup when ended * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiRecording.htm#Start */ startRecording(filename: string, suppressPopup?: boolean): Promise<sxml.XML>; /** * Stop a call recording * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiRecording.htm#Stop */ stopRecording(): Promise<sxml.XML>; } declare type CallEvents = { callStart: (call: BriaCall, id: string) => Promise<void> | void; callUpdate: (call: BriaCall, id: string) => Promise<void> | void; callEnd: (call: BriaCall, id: string) => Promise<void> | void; optionsUpdated: () => Promise<void> | void; }; export declare class BriaClientCall extends BriaClientLeaf<CallEvents> { options?: CallOptions; calls: BriaCall[]; constructor(client: BriaClient); populate(): Promise<void>; private populateCalls; private callUpdated; /** * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiEvents.htm#postStatusChangeCallOptions */ private callOptionsUpdated; /** * Get static list of calls * * Instead of using this method, you should access client.call.calls, * this method is used when Bria posts a call update event internally * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getStatusCall */ getCalls(): Promise<BriaCall[]>; /** * Place a call * @param call * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getCall */ placeCall(call: Call): Promise<sxml.XML>; /** * Answer a call * @param callId * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getAnswer */ answerCall(callId: CallId): Promise<sxml.XML>; /** * End a call * @param callId * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getEndCall */ endCall(callId: CallId): Promise<sxml.XML>; /** * Place call on hold * @param callId * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getHold */ holdCall(callId: CallId): Promise<sxml.XML>; /** * Resume call that was on hold * @param callId * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getResume */ resumeCall(callId: CallId): Promise<sxml.XML>; /** * Send a DTMF tone to the call recipient * @param digit * @param type start/stop * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getDTMF */ sendDTMF(digit: DTMFDigit | number, type: DTMFType): Promise<sxml.XML>; /** * Request a blind transfer by number * * On Bria versions <6.2.0, both blindTransferByNumber and * and blindTransferByCallId act functionally identical. * @param callId * @param targetNumber * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getTransferCall */ blindTransferByNumber(callId: CallId, targetNumber: CallNumber): Promise<sxml.XML>; /** * Request a blind transfer by callId * * On Bria versions <6.2.0, both blindTransferByNumber and * and blindTransferByCallId act functionally identical. * @param callId * @param targetNumber * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getTransferCall */ blindTransferByCallId(callId: CallId, targetCallId: CallId): Promise<sxml.XML>; /** * Request an attended transfer * * On Bria versions <6.2.0 this call will throw an exception * @param callId * @param target * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#startAttendedTransferCall */ attendedTransfer(callId: CallId, target: CallNumber): Promise<sxml.XML>; /** * Merge calls into local conference * * This call will not provide any error if call ID is invalid * @param callId This call should not be on hold. * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#Merge */ mergeCall(callId: CallId): Promise<sxml.XML>; /** * Get call options * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getStatusCallOptions */ getCallOptions(): Promise<CallOptions>; /** * Set call options * @param options Partial call options * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiHandlingCalls.htm#getCallOptions */ setCallOptions(options: Partial<CallOptions>): Promise<sxml.XML>; /** * Start a call recording * @param callId * @param filename Do not include extension, Bria includes it automatically * @param suppressPopup Show call recording popup when ended * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiRecording.htm#Start */ startCallRecording(callId: CallId, filename: string, suppressPopup?: boolean): Promise<sxml.XML>; /** * Stop a call recording * @param callId If null, call recording is stopped for the current live call * @see https://docs.counterpath.com/guides/desk/desk_api/clients/deskAPI/deskApiRecording.htm#Stop */ stopCallRecording(callId?: CallId): Promise<sxml.XML>; } export {}; //# sourceMappingURL=Call.d.ts.map