diff --git a/src/CallControl/Action/DtmfAction.ts b/src/CallControl/Action/DtmfAction.ts new file mode 100644 index 0000000..30a58e6 --- /dev/null +++ b/src/CallControl/Action/DtmfAction.ts @@ -0,0 +1,10 @@ +import {ModifyCallAction} from "./ModifyCallAction"; + +export class DtmfAction extends ModifyCallAction { + constructor(callID: string, digit: string|number, phoneID?: string) { + super(callID, 'dtmf', { + digit: digit, + phone_id: phoneID + }); + } +} \ No newline at end of file diff --git a/src/CallControl/CallControl.ts b/src/CallControl/CallControl.ts index 440a4ac..c02993d 100644 --- a/src/CallControl/CallControl.ts +++ b/src/CallControl/CallControl.ts @@ -8,6 +8,7 @@ import {ModifyCallAction} from "./Action/ModifyCallAction"; import {ClearvoxAPIClient} from "../Client/ClearvoxAPIClient"; import {AnswerAction} from "./Action/AnswerAction"; import {BlindTransferAction} from "./Action/BlindTransferAction"; +import {DtmfAction} from "./Action/DtmfAction"; import * as uuid from "uuid/v4"; import * as EventEmitter from "events"; @@ -209,6 +210,10 @@ export class CallControl extends EventEmitter { this.sendAction(new InviteToGroupCallAction(channel.getCallID(), numbers)); } + public dtmf(channel: Channel, digit: string, phone?: string): void { + this.sendAction(new DtmfAction(channel.getCallID(), digit, phone)); + } + public getPhoneCapabilities(phone: string): Promise<{ phoneID: string, capabilities: PhoneCapabilities }> { return new Promise((resolve, reject) => { this.sendAction(new GetPhoneCapabilitiesAction(phone));