UNPKG

sip.js

Version:

A SIP library for JavaScript

55 lines (54 loc) 2.06 kB
import { Subscription } from "../../subscription/subscription.js"; import { IncomingRequest } from "../incoming-request.js"; import { IncomingResponse } from "../incoming-response.js"; import { OutgoingRequest, OutgoingRequestDelegate } from "../outgoing-request.js"; import { IncomingNotifyRequest } from "./notify.js"; /** * Incoming SUBSCRIBE request. * @public */ export interface IncomingSubscribeRequest extends IncomingRequest { } /** * Incoming SUBSCRIBE response. * @public */ export interface IncomingSubscribeResponse extends IncomingResponse { } /** * Outgoing SUBSCRIBE request. * @public */ export interface OutgoingSubscribeRequest extends OutgoingRequest { /** Delegate providing custom handling of this outgoing SUBSCRIBE request. */ delegate?: OutgoingSubscribeRequestDelegate; /** Stop waiting for an inital subscription creating NOTIFY. */ waitNotifyStop(): void; } /** * Delegate providing custom handling of outgoing SUBSCRIBE requests. * @public */ export interface OutgoingSubscribeRequestDelegate extends OutgoingRequestDelegate { /** * Received the initial subscription creating NOTIFY in response to this request. * Called for out of dialog SUBSCRIBE requests only (not called for re-SUBSCRIBE requests). * @param request - Incoming NOTIFY request (including a Subscription). */ onNotify?(request: IncomingRequestWithSubscription): void; /** * Timed out waiting to receive the initial subscription creating NOTIFY in response to this request. * Called for out of dialog SUBSCRIBE requests only (not called for re-SUBSCRIBE requests). */ onNotifyTimeout?(): void; } /** * Incoming NOTIFY request with associated {@link Subscription}. * @public */ export interface IncomingRequestWithSubscription { /** The NOTIFY request which established the subscription. */ readonly request: IncomingNotifyRequest; /** If subscription state is not "terminated", then the subscription. Otherwise undefined. */ readonly subscription?: Subscription; }