sip.js
Version:
A SIP library for JavaScript
57 lines (56 loc) • 1.83 kB
TypeScript
import { OutgoingSubscribeRequest, OutgoingSubscribeRequestDelegate } from "../messages/methods/subscribe.js";
import { RequestOptions } from "../messages/outgoing-request.js";
import { SubscriptionDelegate } from "./subscription-delegate.js";
/**
* Subscription.
* @remarks
* https://tools.ietf.org/html/rfc6665
* @public
*/
export interface Subscription {
/** Subscription delegate. */
delegate: SubscriptionDelegate | undefined;
/** The subscription id. */
readonly id: string;
/** Subscription expires. Number of seconds until the subscription expires. */
readonly subscriptionExpires: number;
/** Subscription state. */
readonly subscriptionState: SubscriptionState;
/** If true, refresh subscription prior to expiration. Default is false. */
autoRefresh: boolean;
/**
* Destroy subscription.
*/
dispose(): void;
/**
* Send re-SUBSCRIBE request.
* Refreshing a subscription and unsubscribing.
* https://tools.ietf.org/html/rfc6665#section-4.1.2.2
* @param delegate - Request delegate.
* @param options - Options bucket
*/
subscribe(delegate?: OutgoingSubscribeRequestDelegate, options?: RequestOptions): OutgoingSubscribeRequest;
/**
* 4.1.2.2. Refreshing of Subscriptions
* https://tools.ietf.org/html/rfc6665#section-4.1.2.2
*/
refresh(): OutgoingSubscribeRequest;
/**
* 4.1.2.3. Unsubscribing
* https://tools.ietf.org/html/rfc6665#section-4.1.2.3
*/
unsubscribe(): OutgoingSubscribeRequest;
}
/**
* Subscription state.
* @remarks
* https://tools.ietf.org/html/rfc6665#section-4.1.2
* @public
*/
export declare enum SubscriptionState {
Initial = "Initial",
NotifyWait = "NotifyWait",
Pending = "Pending",
Active = "Active",
Terminated = "Terminated"
}