ts-agi
Version:
Write AGI-server quickly! (AGI - Asterisk Gateway Interface)
116 lines (115 loc) • 2.71 kB
TypeScript
export interface IVariables {
/**
* The filename of your script
*/
request?: string;
/**
* The originating channel (your phone)
*/
channel?: string;
/**
* The language code (e.g. “en”)
*/
language?: string;
/**
* The originating channel type (e.g. “SIP” or “ZAP”)
*/
type?: string;
/**
* A unique ID for the call
*/
uniqueid?: string;
/**
* The version of Asterisk (since Asterisk 1.6)
*/
version?: string;
/**
* The caller ID number (or “unknown”)
*/
callerid?: string;
/**
* The caller ID name (or “unknown”)
*/
calleridname?: string;
/**
* The presentation for the callerid in a ZAP channel
*/
callingpres?: string;
/**
* The number which is defined in ANI2 (only for PRI Channels)
*/
callingani2?: string;
/**
* The type of number used in PRI Channels
*/
callington?: string;
/**
* An optional 4 digit number (Transit Network Selector) used in PRI Channels
*/
callingtns?: string;
/**
* The dialed number id (or “unknown”)
*/
dnid?: string;
/**
* The referring DNIS number (or “unknown”)
*/
rdnis?: string;
/**
* Origin context in extensions.conf
*/
context?: string;
/**
* The called number
*/
extension?: string;
/**
* The priority it was executed as in the dial plan
*/
priority?: string;
/**
* The flag value is 1.0 if started as an EAGI script, 0.0 otherwise
*/
enhanced?: string;
/**
* Account code of the origin channel
*/
accountcode?: string;
/**
* Thread ID of the AGI script (since Asterisk 1.6)
*/
threadid?: string;
/**
* arg_1
*/
arg_1?: string;
/**
* arg_2
*/
arg_2?: string;
/**
* arg_3
*/
arg3?: string;
[key: string]: any;
}
export interface IResponse {
code: number;
result: string;
value?: string;
}
/**
*
* 0 - Channel is down and available.
* 1 - Channel is down, but reserved.
* 2 - Channel is off hook.
* 3 - Digits (or equivalent) have been dialed.
* 4 - Line is ringing.
* 5 - Remote end is ringing.
* 6 - Line is up.
* 7 - Line is busy.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+AGICommand_channel+status
*/
export declare type ChanelStatus = '1' | '2' | '3' | '4' | '5' | '6' | '7';
export declare type Callback = (error: Error | null, arg1: IResponse) => void;
export declare type phoneKeys = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | '*' | '#';