UNPKG

sip.js

Version:

A SIP library for JavaScript

102 lines (101 loc) 2.62 kB
import { URI } from "../../grammar/uri.js"; import { LoggerFactory } from "../log/logger-factory.js"; import { DigestAuthentication } from "../messages/digest-authentication.js"; import { Transport } from "../transport.js"; /** * Contact. * @remarks * https://tools.ietf.org/html/rfc3261#section-8.1.1.8 * This is ported from UA.contact. * FIXME: TODO: This is not a great rep for Contact * and is used in a kinda hacky way herein. * @public */ export interface Contact { pubGruu: URI | undefined; tempGruu: URI | undefined; uri: URI; toString: (options?: { anonymous?: boolean; outbound?: boolean; register?: boolean; }) => string; } /** * User Agent Core configuration. * @public */ export interface UserAgentCoreConfiguration { /** * Address-of-Record (AOR). * @remarks * https://tools.ietf.org/html/rfc3261#section-6 */ aor: URI; /** * Contact. * @remarks * https://tools.ietf.org/html/rfc3261#section-8.1.1.8 */ contact: Contact; /** * From header display name. */ displayName: string; /** * Logger factory. */ loggerFactory: LoggerFactory; /** * Force Via header field transport to TCP. */ hackViaTcp: boolean; /** * Preloaded route set. */ routeSet: Array<string>; /** * Unique instance id. */ sipjsId: string; /** * Option tags of supported SIP extensions. */ supportedOptionTags: Array<string>; /** * Option tags of supported SIP extensions. * Used in responses. * @remarks * FIXME: Make this go away. */ supportedOptionTagsResponse: Array<string>; /** * User-Agent header field value. * @remarks * https://tools.ietf.org/html/rfc3261#section-20.41 */ userAgentHeaderFieldValue: string | undefined; /** * Force use of "rport" Via header field parameter. * @remarks * https://www.ietf.org/rfc/rfc3581.txt */ viaForceRport: boolean; /** * Via header field host name or network address. * @remarks * The Via header field indicates the path taken by the request so far * and indicates the path that should be followed in routing responses. */ viaHost: string; /** * DEPRECATED * Authentication factory function. */ authenticationFactory(): DigestAuthentication | undefined; /** * DEPRECATED: This is a hack to get around `Transport` * requiring the `UA` to start for construction. */ transportAccessor(): Transport | undefined; }