UNPKG

bkk-fastagi.io

Version:

Asterisk node.js and TS fastAgi Express-like Interface

68 lines (62 loc) 2.58 kB
interface commandReturn { code: number, result: number, data: string } type agiArgs = `agi_arg_${number}` interface agiChannel { on: (action: string, callback: any) => void, answer: () => PromiseLike<commandReturn>, close: () => void, status: () => PromiseLike<commandReturn>, hangup: () => PromiseLike<commandReturn>, sayAlpha: (text: string, escapeDigits: string) => PromiseLike<commandReturn>, sayDate: (time: Date, escapeDigits: string) => PromiseLike<commandReturn>, sayDateTime: (time: Date, escapeDigits: string, format: string, timeZone: string) => PromiseLike<commandReturn>, sayDigits: (number: number, escapeDigits: string) => PromiseLike<commandReturn>, sayNumber: (number: number, escapeDigits?: string, gender?: string) => PromiseLike<commandReturn>, sayTime: (time: Date | number, escapeDigits: string) => PromiseLike<commandReturn>, getData: (prompt: string, timeout: number, maxDigits: number) => PromiseLike<commandReturn>, playFile: (prompt: string, escapeDigits: string) => PromiseLike<commandReturn>, setVariable: (name: string, value: string | number) => PromiseLike<commandReturn>, getVariable: (name: string) => PromiseLike<commandReturn>, exec: (application: string, option: string) => PromiseLike<commandReturn>, verbose: (message: string, level: number | string) => PromiseLike<commandReturn>, waitDigit: (timeout: number) => PromiseLike<commandReturn>, command: (command: string) => PromiseLike<commandReturn>, channelData: { agi_network_script: string, agi_request: string, agi_channel: string, agi_language: string, agi_type: string, agi_uniqueid: string, agi_version: string, agi_callerid: string, agi_calleridname: string, agi_callingpres: string, agi_callingani2: string, agi_callington: string, agi_callingtns: string, agi_dnid: string, agi_rdnis: string, agi_context: string, agi_extension: string, agi_priority: string, agi_enhanced: string, agi_accountcode: string, agi_threadid: string, [key: agiArgs]: string }, params: { [key: string]: string } } declare module 'bkk-fastagi.io' { function createApplication(): { agi: (path: string, callback: (channel: agiChannel) => void) => void, listen: (port: number, callback: any) => any } function parseParams(searchParams: string): any export = createApplication }