jssip
Version:
The Javascript SIP library
56 lines (42 loc) • 1.25 kB
TypeScript
import { EventEmitter } from 'events';
import {
ExtraHeaders,
Originator,
OutgoingListener,
SessionDirection,
TerminateOptions,
} from './RTCSession';
import { IncomingResponse } from './SIPMessage';
import { NameAddrHeader } from './NameAddrHeader';
import { causes } from './Constants';
export interface AcceptOptions extends ExtraHeaders {
body?: string;
}
export interface MessageFailedEvent {
originator: Originator;
response: IncomingResponse;
cause?: causes;
}
export type MessageFailedListener = (event: MessageFailedEvent) => void;
export interface MessageEventMap {
succeeded: OutgoingListener;
failed: MessageFailedListener;
}
export interface SendMessageOptions extends ExtraHeaders {
contentType?: string;
eventHandlers?: Partial<MessageEventMap>;
fromUserName?: string;
fromDisplayName?: string;
}
export class Message extends EventEmitter {
get direction(): SessionDirection;
get local_identity(): NameAddrHeader;
get remote_identity(): NameAddrHeader;
send(target: string, body: string, options?: SendMessageOptions): void;
accept(options: AcceptOptions): void;
reject(options: TerminateOptions): void;
on<T extends keyof MessageEventMap>(
type: T,
listener: MessageEventMap[T]
): this;
}