jssip
Version:
the Javascript SIP library
47 lines (33 loc) • 1.24 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;
}