@ipcom/extended-ami
Version:
Advanced manager for connecting to Asterisk
115 lines (114 loc) • 3.21 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { Socket } from 'net';
import { IeAmiOptions } from './interfaces/configure.interface.js';
import { I_Request } from './interfaces/actions.interface.js';
import { eAmiActions } from './e-ami-actions.js';
import { EventEmitter } from 'events';
export * from './typeGuards.js';
export * from './types/events.js';
export declare const eAMI_EVENTS: {
CONNECT: string;
DO_RECONNECT: string;
RECONNECTED: string;
MAX_RECONNECT_REACH: string;
MAX_AUTH_REACH: string;
DO_LOGIN: string;
RE_LOGIN: string;
LOGGED_IN: string;
SEND: string;
EVENTS: string;
RESPONSE: string;
ERROR_CONNECT: string;
ERROR_LOGIN: string;
ERROR_LOGOUT: string;
ERROR_RECONNECT: string;
};
export declare const AMI_EVENTS: {
BRIDGE_CREATE: string;
BRIDGE_DESTROY: string;
BRIDGE_ENTER: string;
BRIDGE_INFO_CHANNEL: string;
BRIDGE_INFO: string;
BRIDGE_LEAVE: string;
BRIDGE_MERGE: string;
BRIDGE_LIST_ITEM: string;
BRIDGE_LIST_COMPLETE: string;
CEL: string;
CORE_SHOW_CHANNEL: string;
CORE_SHOW_CHANNEL_COMPLETE: string;
DIAL1: string;
DIAL2: string;
DIAL_STATE: string;
DTMF1: string;
DTMF2: string;
HANGUP: string;
HANGUP_REQUEST: string;
HOLD: string;
NEW_CALLERID: string;
NEW_CHANNEL: string;
NEW_CONNECTED_LINE: string;
NEW_EXTEN: string;
NEW_STATE: string;
ORIGINATE_RESPONSE: string;
Q_SUMMARY: string;
Q_PARAMS: string;
Q_MEMBER_ADDED: string;
Q_MEMBER_PAUSE: string;
Q_MEMBER_REMOVED: string;
Q_MEMBER_PENALTY: string;
Q_MEMBER_RING_IN_USE: string;
Q_MEMBER: string;
Q_MEMBER_STATUS: string;
RTCP_SENT: string;
RTCP_RECEIVED: string;
STATUS: string;
};
export declare class eAmi {
debug: boolean;
private _host;
private _port;
private _userName;
private _password;
private _isLoggedIn;
private _emitAllEvents;
private _reconnect;
private _heartbeatOk;
private _lastConnectedTime;
private _maxReconnectCount;
private _heartbeatInterval;
private _heartbeatHandler?;
private _resendTimeOut;
private _successBitsByInterval;
private _errorBitsByInterval;
private _countReconnect;
private _excludeEvents;
private _queueRequest;
_socketHandler?: Socket;
private _actions;
events: EventEmitter;
private _maxAuthCount;
private _authCount;
constructor(allOptions: IeAmiOptions);
private internalListeners;
get excludeEvents(): string[];
set excludeEvents(events: string[]);
get isLoggedIn(): boolean;
get lastConnectTime(): number;
get actions(): eAmiActions;
get queueRequest(): I_Request[];
private addSocketListeners;
destroySocket(): void;
private addRequest;
private removeRequest;
getRequest(actionID: unknown): I_Request | null;
private setRequest;
private keepConnection;
private login;
private logout;
private showSendPackages;
connect(): Promise<this | boolean>;
reconnect(): Promise<boolean>;
action<T extends I_Request, R>(request: T): Promise<R>;
private getData;
}