UNPKG

@expertflow/sdk-for-customer-facing-channels

Version:

NPM Package to install SDK for Chat, WebRTC Audio, and Video Calls that will land on Cisco Contact Center Agents handling calls using Cisco Jabber or similar in any node-based application.

1,497 lines 490 kB
/*! For license information please see sip.min.js.LICENSE.txt */ !(function (e, t) { "object" == typeof exports && "object" == typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? (exports.SIP = t()) : (e.SIP = t()); })(this, () => (() => { "use strict"; var e = { d: (t, s) => { for (var i in s) e.o(s, i) && !e.o(t, i) && Object.defineProperty(t, i, { enumerable: !0, get: s[i] }); }, o: (e, t) => Object.prototype.hasOwnProperty.call(e, t), r: (e) => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }, }, t = {}; e.r(t), e.d(t, { Ack: () => l, Bye: () => g, Cancel: () => u, ContentTypeUnsupportedError: () => o, Core: () => s, EmitterImpl: () => p, Grammar: () => y, Info: () => f, Invitation: () => Q, Inviter: () => ee, Message: () => W, Messager: () => te, NameAddrHeader: () => v, Notification: () => K, Parameters: () => m, Publisher: () => le, PublisherState: () => se, Referral: () => Y, Registerer: () => ge, RegistererState: () => ie, RequestPendingError: () => a, SIPExtension: () => J, Session: () => z, SessionDescriptionHandlerError: () => c, SessionState: () => Z, SessionTerminatedError: () => h, StateTransitionError: () => d, Subscriber: () => pe, Subscription: () => ue, SubscriptionState: () => ne, TransportState: () => oe, URI: () => w, UserAgent: () => dt, UserAgentRegisteredOptionTags: () => X, UserAgentState: () => ae, Web: () => i, equivalentURI: () => b, name: () => At, version: () => Ct, }); var s = {}; e.r(s), e.d(s, { ByeUserAgentClient: () => Pe, ByeUserAgentServer: () => _e, C: () => G, CancelUserAgentClient: () => lt, ClientTransaction: () => Ie, Dialog: () => Ae, DigestAuthentication: () => we, Exception: () => n, Grammar: () => y, IncomingMessage: () => H, IncomingRequestMessage: () => P, IncomingResponseMessage: () => x, InfoUserAgentClient: () => qe, InfoUserAgentServer: () => Me, InviteClientTransaction: () => De, InviteServerTransaction: () => $e, InviteUserAgentClient: () => Ye, InviteUserAgentServer: () => Ze, Levels: () => ce, Logger: () => be, LoggerFactory: () => Te, MessageUserAgentClient: () => Ne, MessageUserAgentServer: () => Oe, NameAddrHeader: () => v, NonInviteClientTransaction: () => Ce, NonInviteServerTransaction: () => xe, NotifyUserAgentClient: () => Ue, NotifyUserAgentServer: () => je, OutgoingRequestMessage: () => k, Parameters: () => m, Parser: () => he, PrackUserAgentClient: () => Fe, PrackUserAgentServer: () => Le, PublishUserAgentClient: () => Je, ReInviteUserAgentClient: () => Be, ReInviteUserAgentServer: () => Ge, ReSubscribeUserAgentClient: () => Qe, ReSubscribeUserAgentServer: () => gt, ReferUserAgentClient: () => Ve, ReferUserAgentServer: () => We, RegisterUserAgentClient: () => ze, RegisterUserAgentServer: () => Xe, ServerTransaction: () => Ee, SessionDialog: () => Ke, SessionState: () => O, SignalingState: () => U, SubscribeUserAgentClient: () => tt, SubscribeUserAgentServer: () => st, SubscriptionDialog: () => et, SubscriptionState: () => re, Timers: () => L, Transaction: () => ye, TransactionState: () => de, TransactionStateError: () => B, TransportError: () => Re, URI: () => w, UserAgentClient: () => He, UserAgentCore: () => rt, UserAgentServer: () => ke, constructOutgoingResponse: () => Se, equivalentURI: () => b, fromBodyLegacy: () => q, getBody: () => N, isBody: () => M, }); var i = {}; e.r(i), e.d(i, { SessionDescriptionHandler: () => at, SessionManager: () => $t, SimpleUser: () => It, Transport: () => ht, WebAudioSessionDescriptionHandler: () => yt, addMidLines: () => Tt, cleanJitsiSdpImageattr: () => mt, defaultManagedSessionFactory: () => Et, defaultMediaStreamFactory: () => nt, defaultPeerConnectionConfiguration: () => ot, defaultSessionDescriptionHandlerFactory: () => ct, holdModifier: () => St, startLocalConference: () => Rt, stripG722: () => vt, stripRtpPayload: () => wt, stripTcpCandidates: () => pt, stripTelephoneEvent: () => ft, stripVideo: () => bt, }); const r = "0.21.2"; class n extends Error { constructor(e) { super(e), Object.setPrototypeOf(this, new.target.prototype); } } class o extends n { constructor(e) { super(e || "Unsupported content type."); } } class a extends n { constructor(e) { super(e || "Request pending."); } } class c extends n { constructor(e) { super(e || "Unspecified session description handler error."); } } class h extends n { constructor() { super("The session has terminated."); } } class d extends n { constructor(e) { super(e || "An error occurred during state transition."); } } class l { constructor(e) { this.incomingAckRequest = e; } get request() { return this.incomingAckRequest.message; } } class g { constructor(e) { this.incomingByeRequest = e; } get request() { return this.incomingByeRequest.message; } accept(e) { return this.incomingByeRequest.accept(e), Promise.resolve(); } reject(e) { return this.incomingByeRequest.reject(e), Promise.resolve(); } } class u { constructor(e) { this.incomingCancelRequest = e; } get request() { return this.incomingCancelRequest; } } class p { constructor() { this.listeners = new Array(); } addListener(e, t) { const s = (t) => { this.removeListener(s), e(t); }; !0 === (null == t ? void 0 : t.once) ? this.listeners.push(s) : this.listeners.push(e); } emit(e) { this.listeners.slice().forEach((t) => t(e)); } removeAllListeners() { this.listeners = []; } removeListener(e) { this.listeners = this.listeners.filter((t) => t !== e); } on(e) { return this.addListener(e); } off(e) { return this.removeListener(e); } once(e) { return this.addListener(e, { once: !0 }); } } class f { constructor(e) { this.incomingInfoRequest = e; } get request() { return this.incomingInfoRequest.message; } accept(e) { return this.incomingInfoRequest.accept(e), Promise.resolve(); } reject(e) { return this.incomingInfoRequest.reject(e), Promise.resolve(); } } class m { constructor(e) { this.parameters = {}; for (const t in e) e.hasOwnProperty(t) && this.setParam(t, e[t]); } setParam(e, t) { e && (this.parameters[e.toLowerCase()] = null == t ? null : t.toString()); } getParam(e) { if (e) return this.parameters[e.toLowerCase()]; } hasParam(e) { return !(!e || void 0 === this.parameters[e.toLowerCase()]); } deleteParam(e) { if (((e = e.toLowerCase()), this.hasParam(e))) { const t = this.parameters[e]; return delete this.parameters[e], t; } } clearParams() { this.parameters = {}; } } class v extends m { constructor(e, t, s) { super(s), (this.uri = e), (this._displayName = t); } get friendlyName() { return this.displayName || this.uri.aor; } get displayName() { return this._displayName; } set displayName(e) { this._displayName = e; } clone() { return new v( this.uri.clone(), this._displayName, JSON.parse(JSON.stringify(this.parameters)), ); } toString() { let e = this.displayName || "0" === this.displayName ? '"' + this.displayName + '" ' : ""; e += "<" + this.uri.toString() + ">"; for (const t in this.parameters) this.parameters.hasOwnProperty(t) && ((e += ";" + t), null !== this.parameters[t] && (e += "=" + this.parameters[t])); return e; } } class w extends m { constructor(e = "sip", t, s, i, r, n) { if ((super(r || {}), (this.headers = {}), !s)) throw new TypeError('missing or invalid "host" parameter'); for (const e in n) n.hasOwnProperty(e) && this.setHeader(e, n[e]); (this.raw = { scheme: e, user: t, host: s, port: i }), (this.normal = { scheme: e.toLowerCase(), user: t, host: s.toLowerCase(), port: i, }); } get scheme() { return this.normal.scheme; } set scheme(e) { (this.raw.scheme = e), (this.normal.scheme = e.toLowerCase()); } get user() { return this.normal.user; } set user(e) { this.normal.user = this.raw.user = e; } get host() { return this.normal.host; } set host(e) { (this.raw.host = e), (this.normal.host = e.toLowerCase()); } get aor() { return this.normal.user + "@" + this.normal.host; } get port() { return this.normal.port; } set port(e) { this.normal.port = this.raw.port = e; } setHeader(e, t) { this.headers[this.headerize(e)] = t instanceof Array ? t : [t]; } getHeader(e) { if (e) return this.headers[this.headerize(e)]; } hasHeader(e) { return !!e && !!this.headers.hasOwnProperty(this.headerize(e)); } deleteHeader(e) { if (((e = this.headerize(e)), this.headers.hasOwnProperty(e))) { const t = this.headers[e]; return delete this.headers[e], t; } } clearHeaders() { this.headers = {}; } clone() { return new w( this._raw.scheme, this._raw.user || "", this._raw.host, this._raw.port, JSON.parse(JSON.stringify(this.parameters)), JSON.parse(JSON.stringify(this.headers)), ); } toRaw() { return this._toString(this._raw); } toString() { return this._toString(this._normal); } get _normal() { return this.normal; } get _raw() { return this.raw; } _toString(e) { let t = e.scheme + ":"; e.scheme.toLowerCase().match("^sips?$") || (t += "//"), e.user && (t += this.escapeUser(e.user) + "@"), (t += e.host), (e.port || 0 === e.port) && (t += ":" + e.port); for (const e in this.parameters) this.parameters.hasOwnProperty(e) && ((t += ";" + e), null !== this.parameters[e] && (t += "=" + this.parameters[e])); const s = []; for (const e in this.headers) if (this.headers.hasOwnProperty(e)) for (const t in this.headers[e]) this.headers[e].hasOwnProperty(t) && s.push(e + "=" + this.headers[e][t]); return s.length > 0 && (t += "?" + s.join("&")), t; } escapeUser(e) { let t; try { t = decodeURIComponent(e); } catch (e) { throw e; } return encodeURIComponent(t) .replace(/%3A/gi, ":") .replace(/%2B/gi, "+") .replace(/%3F/gi, "?") .replace(/%2F/gi, "/"); } headerize(e) { const t = { "Call-Id": "Call-ID", Cseq: "CSeq", "Min-Se": "Min-SE", Rack: "RAck", Rseq: "RSeq", "Www-Authenticate": "WWW-Authenticate", }, s = e.toLowerCase().replace(/_/g, "-").split("-"), i = s.length; let r = ""; for (let e = 0; e < i; e++) 0 !== e && (r += "-"), (r += s[e].charAt(0).toUpperCase() + s[e].substring(1)); return t[r] && (r = t[r]), r; } } function b(e, t) { if (e.scheme !== t.scheme) return !1; if (e.user !== t.user || e.host !== t.host || e.port !== t.port) return !1; if ( !(function (e, t) { const s = Object.keys(e.parameters), i = Object.keys(t.parameters); return ( !!s .filter((e) => i.includes(e)) .every((s) => e.parameters[s] === t.parameters[s]) && !!["user", "ttl", "method", "transport"].every( (s) => (e.hasParam(s) && t.hasParam(s)) || (!e.hasParam(s) && !t.hasParam(s)), ) && !!["maddr"].every( (s) => (e.hasParam(s) && t.hasParam(s)) || (!e.hasParam(s) && !t.hasParam(s)), ) ); })(e, t) ) return !1; const s = Object.keys(e.headers), i = Object.keys(t.headers); if (0 !== s.length || 0 !== i.length) { if (s.length !== i.length) return !1; const r = s.filter((e) => i.includes(e)); if (r.length !== i.length) return !1; if ( !r.every( (s) => e.headers[s].length && t.headers[s].length && e.headers[s][0] === t.headers[s][0], ) ) return !1; } return !0; } function T(e, t, s) { return ( (s = s || " "), e.length > t ? e : ((t -= e.length), e + (s += s.repeat(t)).slice(0, t)) ); } class S extends Error { constructor(e, t, s, i) { super(), (this.message = e), (this.expected = t), (this.found = s), (this.location = i), (this.name = "SyntaxError"), "function" == typeof Object.setPrototypeOf ? Object.setPrototypeOf(this, S.prototype) : (this.__proto__ = S.prototype), "function" == typeof Error.captureStackTrace && Error.captureStackTrace(this, S); } static buildMessage(e, t) { function s(e) { return e.charCodeAt(0).toString(16).toUpperCase(); } function i(e) { return e .replace(/\\/g, "\\\\") .replace(/"/g, '\\"') .replace(/\0/g, "\\0") .replace(/\t/g, "\\t") .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/[\x00-\x0F]/g, (e) => "\\x0" + s(e)) .replace(/[\x10-\x1F\x7F-\x9F]/g, (e) => "\\x" + s(e)); } function r(e) { return e .replace(/\\/g, "\\\\") .replace(/\]/g, "\\]") .replace(/\^/g, "\\^") .replace(/-/g, "\\-") .replace(/\0/g, "\\0") .replace(/\t/g, "\\t") .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/[\x00-\x0F]/g, (e) => "\\x0" + s(e)) .replace(/[\x10-\x1F\x7F-\x9F]/g, (e) => "\\x" + s(e)); } function n(e) { switch (e.type) { case "literal": return '"' + i(e.text) + '"'; case "class": const t = e.parts.map((e) => Array.isArray(e) ? r(e[0]) + "-" + r(e[1]) : r(e), ); return "[" + (e.inverted ? "^" : "") + t + "]"; case "any": return "any character"; case "end": return "end of input"; case "other": return e.description; } } return ( "Expected " + (function (e) { const t = e.map(n); let s, i; if ((t.sort(), t.length > 0)) { for (s = 1, i = 1; s < t.length; s++) t[s - 1] !== t[s] && ((t[i] = t[s]), i++); t.length = i; } switch (t.length) { case 1: return t[0]; case 2: return t[0] + " or " + t[1]; default: return t.slice(0, -1).join(", ") + ", or " + t[t.length - 1]; } })(e) + " but " + (((o = t) ? '"' + i(o) + '"' : "end of input") + " found.") ); var o; } format(e) { let t = "Error: " + this.message; if (this.location) { let s, i = null; for (s = 0; s < e.length; s++) if (e[s].source === this.location.source) { i = e[s].text.split(/\r\n|\n|\r/g); break; } let r = this.location.start, n = this.location.source + ":" + r.line + ":" + r.column; if (i) { let e = this.location.end, s = T("", r.line.toString().length, " "), o = i[r.line - 1], a = r.line === e.line ? e.column : o.length + 1; t += "\n --\x3e " + n + "\n" + s + " |\n" + r.line + " | " + o + "\n" + s + " | " + T("", r.column - 1, " ") + T("", a - r.column, "^"); } else t += "\n at " + n; } return t; } } const R = function (e, t) { const s = {}, i = (t = void 0 !== t ? t : {}).grammarSource, r = { Contact: 119, Name_Addr_Header: 156, Record_Route: 176, Request_Response: 81, SIP_URI: 45, Subscription_State: 186, Supported: 191, Require: 182, Via: 194, absoluteURI: 84, Call_ID: 118, Content_Disposition: 130, Content_Length: 135, Content_Type: 136, CSeq: 146, displayName: 122, Event: 149, From: 151, host: 52, Max_Forwards: 154, Min_SE: 213, Proxy_Authenticate: 157, quoted_string: 40, Refer_To: 178, Replaces: 179, Session_Expires: 210, stun_URI: 217, To: 192, turn_URI: 223, uuid: 226, WWW_Authenticate: 209, challenge: 158, sipfrag: 230, Referred_By: 231, }; let n = 119; const o = [ "\r\n", b("\r\n", !1), /^[0-9]/, T([["0", "9"]], !1, !1), /^[a-zA-Z]/, T( [ ["a", "z"], ["A", "Z"], ], !1, !1, ), /^[0-9a-fA-F]/, T( [ ["0", "9"], ["a", "f"], ["A", "F"], ], !1, !1, ), /^[\0-\xFF]/, T([["\0", "\xff"]], !1, !1), /^["]/, T(['"'], !1, !1), " ", b(" ", !1), "\t", b("\t", !1), /^[a-zA-Z0-9]/, T( [ ["a", "z"], ["A", "Z"], ["0", "9"], ], !1, !1, ), ";", b(";", !1), "/", b("/", !1), "?", b("?", !1), ":", b(":", !1), "@", b("@", !1), "&", b("&", !1), "=", b("=", !1), "+", b("+", !1), "$", b("$", !1), ",", b(",", !1), "-", b("-", !1), "_", b("_", !1), ".", b(".", !1), "!", b("!", !1), "~", b("~", !1), "*", b("*", !1), "'", b("'", !1), "(", b("(", !1), ")", b(")", !1), "%", b("%", !1), function () { return " "; }, function () { return ":"; }, /^[!-~]/, T([["!", "~"]], !1, !1), /^[\x80-\uFFFF]/, T([["\x80", "\uffff"]], !1, !1), /^[\x80-\xBF]/, T([["\x80", "\xbf"]], !1, !1), /^[a-f]/, T([["a", "f"]], !1, !1), "`", b("`", !1), "<", b("<", !1), ">", b(">", !1), "\\", b("\\", !1), "[", b("[", !1), "]", b("]", !1), "{", b("{", !1), "}", b("}", !1), function () { return "*"; }, function () { return "/"; }, function () { return "="; }, function () { return "("; }, function () { return ")"; }, function () { return ">"; }, function () { return "<"; }, function () { return ","; }, function () { return ";"; }, function () { return ":"; }, function () { return '"'; }, /^[!-']/, T([["!", "'"]], !1, !1), /^[*-[]/, T([["*", "["]], !1, !1), /^[\]-~]/, T([["]", "~"]], !1, !1), function (e) { return e; }, /^[#-[]/, T([["#", "["]], !1, !1), /^[\0-\t]/, T([["\0", "\t"]], !1, !1), /^[\v-\f]/, T([["\v", "\f"]], !1, !1), /^[\x0E-\x7F]/, T([["\x0e", "\x7f"]], !1, !1), function () { ((t = t || { data: {} }).data.uri = new w( t.data.scheme, t.data.user, t.data.host, t.data.port, )), delete t.data.scheme, delete t.data.user, delete t.data.host, delete t.data.host_type, delete t.data.port; }, function () { ((t = t || { data: {} }).data.uri = new w( t.data.scheme, t.data.user, t.data.host, t.data.port, t.data.uri_params, t.data.uri_headers, )), delete t.data.scheme, delete t.data.user, delete t.data.host, delete t.data.host_type, delete t.data.port, delete t.data.uri_params, "SIP_URI" === t.startRule && (t.data = t.data.uri); }, "sips", b("sips", !0), "sip", b("sip", !0), function (e) { (t = t || { data: {} }).data.scheme = e; }, function () { (t = t || { data: {} }).data.user = decodeURIComponent( f().slice(0, -1), ); }, function () { (t = t || { data: {} }).data.password = f(); }, function () { return ((t = t || { data: {} }).data.host = f()), t.data.host; }, function () { return ((t = t || { data: {} }).data.host_type = "domain"), f(); }, /^[a-zA-Z0-9_\-]/, T([["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], !1, !1), /^[a-zA-Z0-9\-]/, T([["a", "z"], ["A", "Z"], ["0", "9"], "-"], !1, !1), function () { return ((t = t || { data: {} }).data.host_type = "IPv6"), f(); }, "::", b("::", !1), function () { return ((t = t || { data: {} }).data.host_type = "IPv6"), f(); }, function () { return ((t = t || { data: {} }).data.host_type = "IPv4"), f(); }, "25", b("25", !1), /^[0-5]/, T([["0", "5"]], !1, !1), "2", b("2", !1), /^[0-4]/, T([["0", "4"]], !1, !1), "1", b("1", !1), /^[1-9]/, T([["1", "9"]], !1, !1), function (e) { return ( (t = t || { data: {} }), (e = parseInt(e.join(""))), (t.data.port = e), e ); }, "transport=", b("transport=", !0), "udp", b("udp", !0), "tcp", b("tcp", !0), "sctp", b("sctp", !0), "tls", b("tls", !0), function (e) { (t = t || { data: {} }).data.uri_params || (t.data.uri_params = {}), (t.data.uri_params.transport = e.toLowerCase()); }, "user=", b("user=", !0), "phone", b("phone", !0), "ip", b("ip", !0), function (e) { (t = t || { data: {} }).data.uri_params || (t.data.uri_params = {}), (t.data.uri_params.user = e.toLowerCase()); }, "method=", b("method=", !0), function (e) { (t = t || { data: {} }).data.uri_params || (t.data.uri_params = {}), (t.data.uri_params.method = e); }, "ttl=", b("ttl=", !0), function (e) { (t = t || { data: {} }).data.params || (t.data.params = {}), (t.data.params.ttl = e); }, "maddr=", b("maddr=", !0), function (e) { (t = t || { data: {} }).data.uri_params || (t.data.uri_params = {}), (t.data.uri_params.maddr = e); }, "lr", b("lr", !0), function () { (t = t || { data: {} }).data.uri_params || (t.data.uri_params = {}), (t.data.uri_params.lr = void 0); }, function (e, s) { (t = t || { data: {} }).data.uri_params || (t.data.uri_params = {}), (s = null === s ? void 0 : s[1]), (t.data.uri_params[e.toLowerCase()] = s); }, function (e, s) { (e = e.join("").toLowerCase()), (s = s.join("")), (t = t || { data: {} }).data.uri_headers || (t.data.uri_headers = {}), t.data.uri_headers[e] ? t.data.uri_headers[e].push(s) : (t.data.uri_headers[e] = [s]); }, function () { "Refer_To" === (t = t || { data: {} }).startRule && ((t.data.uri = new w( t.data.scheme, t.data.user, t.data.host, t.data.port, t.data.uri_params, t.data.uri_headers, )), delete t.data.scheme, delete t.data.user, delete t.data.host, delete t.data.host_type, delete t.data.port, delete t.data.uri_params); }, "//", b("//", !1), function () { (t = t || { data: {} }).data.scheme = f(); }, b("SIP", !0), function () { (t = t || { data: {} }).data.sip_version = f(); }, "INVITE", b("INVITE", !1), "ACK", b("ACK", !1), "VXACH", b("VXACH", !1), "OPTIONS", b("OPTIONS", !1), "BYE", b("BYE", !1), "CANCEL", b("CANCEL", !1), "REGISTER", b("REGISTER", !1), "SUBSCRIBE", b("SUBSCRIBE", !1), "NOTIFY", b("NOTIFY", !1), "REFER", b("REFER", !1), "PUBLISH", b("PUBLISH", !1), function () { return ((t = t || { data: {} }).data.method = f()), t.data.method; }, function (e) { (t = t || { data: {} }).data.status_code = parseInt(e.join("")); }, function () { (t = t || { data: {} }).data.reason_phrase = f(); }, function () { (t = t || { data: {} }).data = f(); }, function () { var e, s; for ( s = (t = t || { data: {} }).data.multi_header.length, e = 0; e < s; e++ ) if (null === t.data.multi_header[e].parsed) { t.data = null; break; } null !== t.data ? (t.data = t.data.multi_header) : (t.data = -1); }, function () { var e; (t = t || { data: {} }).data.multi_header || (t.data.multi_header = []); try { (e = new v(t.data.uri, t.data.displayName, t.data.params)), delete t.data.uri, delete t.data.displayName, delete t.data.params; } catch (t) { e = null; } t.data.multi_header.push({ position: c, offset: m().start.offset, parsed: e, }); }, function (e) { '"' === (e = f().trim())[0] && (e = e.substring(1, e.length - 1)), ((t = t || { data: {} }).data.displayName = e); }, "q", b("q", !0), function (e) { (t = t || { data: {} }).data.params || (t.data.params = {}), (t.data.params.q = e); }, "expires", b("expires", !0), function (e) { (t = t || { data: {} }).data.params || (t.data.params = {}), (t.data.params.expires = e); }, function (e) { return parseInt(e.join("")); }, "0", b("0", !1), function () { return parseFloat(f()); }, function (e, s) { (t = t || { data: {} }).data.params || (t.data.params = {}), (s = null === s ? void 0 : s[1]), (t.data.params[e.toLowerCase()] = s); }, "render", b("render", !0), "session", b("session", !0), "icon", b("icon", !0), "alert", b("alert", !0), function () { "Content_Disposition" === (t = t || { data: {} }).startRule && (t.data.type = f().toLowerCase()); }, "handling", b("handling", !0), "optional", b("optional", !0), "required", b("required", !0), function (e) { (t = t || { data: {} }).data = parseInt(e.join("")); }, function () { (t = t || { data: {} }).data = f(); }, "text", b("text", !0), "image", b("image", !0), "audio", b("audio", !0), "video", b("video", !0), "application", b("application", !0), "message", b("message", !0), "multipart", b("multipart", !0), "x-", b("x-", !0), function (e) { (t = t || { data: {} }).data.value = parseInt(e.join("")); }, function (e) { (t = t || { data: {} }).data = e; }, function (e) { (t = t || { data: {} }).data.event = e.toLowerCase(); }, function () { var e = (t = t || { data: {} }).data.tag; (t.data = new v(t.data.uri, t.data.displayName, t.data.params)), e && t.data.setParam("tag", e); }, "tag", b("tag", !0), function (e) { (t = t || { data: {} }).data.tag = e; }, function (e) { (t = t || { data: {} }).data = parseInt(e.join("")); }, function (e) { (t = t || { data: {} }).data = e; }, function () { (t = t || { data: {} }).data = new v( t.data.uri, t.data.displayName, t.data.params, ); }, "digest", b("Digest", !0), "realm", b("realm", !0), function (e) { (t = t || { data: {} }).data.realm = e; }, "domain", b("domain", !0), "nonce", b("nonce", !0), function (e) { (t = t || { data: {} }).data.nonce = e; }, "opaque", b("opaque", !0), function (e) { (t = t || { data: {} }).data.opaque = e; }, "stale", b("stale", !0), "true", b("true", !0), function () { (t = t || { data: {} }).data.stale = !0; }, "false", b("false", !0), function () { (t = t || { data: {} }).data.stale = !1; }, "algorithm", b("algorithm", !0), "md5", b("MD5", !0), "md5-sess", b("MD5-sess", !0), function (e) { (t = t || { data: {} }).data.algorithm = e.toUpperCase(); }, "qop", b("qop", !0), "auth-int", b("auth-int", !0), "auth", b("auth", !0), function (e) { (t = t || { data: {} }).data.qop || (t.data.qop = []), t.data.qop.push(e.toLowerCase()); }, function (e) { (t = t || { data: {} }).data.value = parseInt(e.join("")); }, function () { var e, s; for ( s = (t = t || { data: {} }).data.multi_header.length, e = 0; e < s; e++ ) if (null === t.data.multi_header[e].parsed) { t.data = null; break; } null !== t.data ? (t.data = t.data.multi_header) : (t.data = -1); }, function () { var e; (t = t || { data: {} }).data.multi_header || (t.data.multi_header = []); try { (e = new v(t.data.uri, t.data.displayName, t.data.params)), delete t.data.uri, delete t.data.displayName, delete t.data.params; } catch (t) { e = null; } t.data.multi_header.push({ position: c, offset: m().start.offset, parsed: e, }); }, function () { (t = t || { data: {} }).data = new v( t.data.uri, t.data.displayName, t.data.params, ); }, function () { ((t = t || { data: {} }).data.replaces_from_tag && t.data.replaces_to_tag) || (t.data = -1); }, function () { (t = t || { data: {} }).data = { call_id: t.data }; }, "from-tag", b("from-tag", !0), function (e) { (t = t || { data: {} }).data.replaces_from_tag = e; }, "to-tag", b("to-tag", !0), function (e) { (t = t || { data: {} }).data.replaces_to_tag = e; }, "early-only", b("early-only", !0), function () { (t = t || { data: {} }).data.early_only = !0; }, function (e, t) { return t; }, function (e, t) { return (function (e, t) { return [e].concat(t); })(e, t); }, function (e) { "Require" === (t = t || { data: {} }).startRule && (t.data = e || []); }, function (e) { (t = t || { data: {} }).data.value = parseInt(e.join("")); }, "active", b("active", !0), "pending", b("pending", !0), "terminated", b("terminated", !0), function () { (t = t || { data: {} }).data.state = f(); }, "reason", b("reason", !0), function (e) { (t = t || { data: {} }), void 0 !== e && (t.data.reason = e); }, function (e) { (t = t || { data: {} }), void 0 !== e && (t.data.expires = e); }, "retry_after", b("retry_after", !0), function (e) { (t = t || { data: {} }), void 0 !== e && (t.data.retry_after = e); }, "deactivated", b("deactivated", !0), "probation", b("probation", !0), "rejected", b("rejected", !0), "timeout", b("timeout", !0), "giveup", b("giveup", !0), "noresource", b("noresource", !0), "invariant", b("invariant", !0), function (e) { "Supported" === (t = t || { data: {} }).startRule && (t.data = e || []); }, function () { var e = (t = t || { data: {} }).data.tag; (t.data = new v(t.data.uri, t.data.displayName, t.data.params)), e && t.data.setParam("tag", e); }, "ttl", b("ttl", !0), function (e) { (t = t || { data: {} }).data.ttl = e; }, "maddr", b("maddr", !0), function (e) { (t = t || { data: {} }).data.maddr = e; }, "received", b("received", !0), function (e) { (t = t || { data: {} }).data.received = e; }, "branch", b("branch", !0), function (e) { (t = t || { data: {} }).data.branch = e; }, "rport", b("rport", !0), function (e) { (t = t || { data: {} }), void 0 !== e && (t.data.rport = e.join("")); }, function (e) { (t = t || { data: {} }).data.protocol = e; }, b("UDP", !0), b("TCP", !0), b("TLS", !0), b("SCTP", !0), function (e) { (t = t || { data: {} }).data.transport = e; }, function () { (t = t || { data: {} }).data.host = f(); }, function (e) { (t = t || { data: {} }).data.port = parseInt(e.join("")); }, function (e) { return parseInt(e.join("")); }, function (e) { "Session_Expires" === (t = t || { data: {} }).startRule && (t.data.deltaSeconds = e); }, "refresher", b("refresher", !1), "uas", b("uas", !1), "uac", b("uac", !1), function (e) { "Session_Expires" === (t = t || { data: {} }).startRule && (t.data.refresher = e); }, function (e) { "Min_SE" === (t = t || { data: {} }).startRule && (t.data = e); }, "stuns", b("stuns", !0), "stun", b("stun", !0), function (e) { (t = t || { data: {} }).data.scheme = e; }, function (e) { (t = t || { data: {} }).data.host = e; }, "?transport=", b("?transport=", !1), "turns", b("turns", !0), "turn", b("turn", !0), function (e) { (t = t || { data: {} }).data.transport = e; }, function () { (t = t || { data: {} }).data = f(); }, "Referred-By", b("Referred-By", !1), "b", b("b", !1), "cid", b("cid", !1), ], a = [ I('2 ""6 7!'), I('4"""5!7#'), I('4$""5!7%'), I('4&""5!7\''), I(";'.# &;("), I('4(""5!7)'), I('4*""5!7+'), I('2,""6,7-'), I('2.""6.7/'), I('40""5!71'), I( '22""6273.\x89 &24""6475.} &26""6677.q &28""6879.e &2:""6:7;.Y &2<""6<7=.M &2>""6>7?.A &2@""6@7A.5 &2B""6B7C.) &2D""6D7E', ), I(";).# &;,"), I( '2F""6F7G.} &2H""6H7I.q &2J""6J7K.e &2L""6L7M.Y &2N""6N7O.M &2P""6P7Q.A &2R""6R7S.5 &2T""6T7U.) &2V""6V7W', ), I('%%2X""6X7Y/5#;#/,$;#/#$+#)(#\'#("\'#&\'#/"!&,)'), I( '%%$;$0#*;$&/,#; /#$+")("\'#&\'#." &"/=#$;$/&#0#*;$&&&#/\'$8":Z" )("\'#&\'#', ), I(';.." &"'), I("%$;'.# &;(0)*;'.# &;(&/?#28\"\"6879/0$;//'$8#:[# )(#'#(\"'#&'#"), I( '%%$;2/&#0#*;2&&&#/g#$%$;.0#*;.&/,#;2/#$+")("\'#&\'#0=*%$;.0#*;.&/,#;2/#$+")("\'#&\'#&/#$+")("\'#&\'#/"!&,)', ), I('4\\""5!7].# &;3'), I('4^""5!7_'), I('4`""5!7a'), I(';!.) &4b""5!7c'), I( '%$;).\x95 &2F""6F7G.\x89 &2J""6J7K.} &2L""6L7M.q &2X""6X7Y.e &2P""6P7Q.Y &2H""6H7I.M &2@""6@7A.A &2d""6d7e.5 &2R""6R7S.) &2N""6N7O/\x9e#0\x9b*;).\x95 &2F""6F7G.\x89 &2J""6J7K.} &2L""6L7M.q &2X""6X7Y.e &2P""6P7Q.Y &2H""6H7I.M &2@""6@7A.A &2d""6d7e.5 &2R""6R7S.) &2N""6N7O&&&#/"!&,)', ), I( '%$;).\x89 &2F""6F7G.} &2L""6L7M.q &2X""6X7Y.e &2P""6P7Q.Y &2H""6H7I.M &2@""6@7A.A &2d""6d7e.5 &2R""6R7S.) &2N""6N7O/\x92#0\x8f*;).\x89 &2F""6F7G.} &2L""6L7M.q &2X""6X7Y.e &2P""6P7Q.Y &2H""6H7I.M &2@""6@7A.A &2d""6d7e.5 &2R""6R7S.) &2N""6N7O&&&#/"!&,)', ), I( '2T""6T7U.\xe3 &2V""6V7W.\xd7 &2f""6f7g.\xcb &2h""6h7i.\xbf &2:""6:7;.\xb3 &2D""6D7E.\xa7 &22""6273.\x9b &28""6879.\x8f &2j""6j7k.\x83 &;&.} &24""6475.q &2l""6l7m.e &2n""6n7o.Y &26""6677.M &2>""6>7?.A &2p""6p7q.5 &2r""6r7s.) &;\'.# &;(', ), I( '%$;).\u012b &2F""6F7G.\u011f &2J""6J7K.\u0113 &2L""6L7M.\u0107 &2X""6X7Y.\xfb &2P""6P7Q.\xef &2H""6H7I.\xe3 &2@""6@7A.\xd7 &2d""6d7e.\xcb &2R""6R7S.\xbf &2N""6N7O.\xb3 &2T""6T7U.\xa7 &2V""6V7W.\x9b &2f""6f7g.\x8f &2h""6h7i.\x83 &28""6879.w &2j""6j7k.k &;&.e &24""6475.Y &2l""6l7m.M &2n""6n7o.A &26""6677.5 &2p""6p7q.) &2r""6r7s/\u0134#0\u0131*;).\u012b &2F""6F7G.\u011f &2J""6J7K.\u0113 &2L""6L7M.\u0107 &2X""6X7Y.\xfb &2P""6P7Q.\xef &2H""6H7I.\xe3 &2@""6@7A.\xd7 &2d""6d7e.\xcb &2R""6R7S.\xbf &2N""6N7O.\xb3 &2T""6T7U.\xa7 &2V""6V7W.\x9b &2f""6f7g.\x8f &2h""6h7i.\x83 &28""6879.w &2j""6j7k.k &;&.e &24""6475.Y &2l""6l7m.M &2n""6n7o.A &26""6677.5 &2p""6p7q.) &2r""6r7s&&&#/"!&,)', ), I("%;//?#2P\"\"6P7Q/0$;//'$8#:t# )(#'#(\"'#&'#"), I("%;//?#24\"\"6475/0$;//'$8#:u# )(#'#(\"'#&'#"), I("%;//?#2>\"\"6>7?/0$;//'$8#:v# )(#'#(\"'#&'#"), I("%;//?#2T\"\"6T7U/0$;//'$8#:w# )(#'#(\"'#&'#"), I("%;//?#2V\"\"6V7W/0$;//'$8#:x# )(#'#(\"'#&'#"), I('%2h""6h7i/0#;//\'$8":y" )("\'#&\'#'), I('%;//6#2f""6f7g/\'$8":z" )("\'#&\'#'), I("%;//?#2D\"\"6D7E/0$;//'$8#:{# )(#'#(\"'#&'#"), I("%;//?#22\"\"6273/0$;//'$8#:|# )(#'#(\"'#&'#"), I("%;//?#28\"\"6879/0$;//'$8#:}# )(#'#(\"'#&'#"), I("%;//0#;&/'$8\":~\" )(\"'#&'#"), I("%;&/0#;//'$8\":~\" )(\"'#&'#"), I("%;=/T#$;G.) &;K.# &;F0/*;G.) &;K.# &;F&/,$;>/#$+#)(#'#(\"'#&'#"), I('4\x7f""5!7\x80.A &4\x81""5!7\x82.5 &4\x83""5!7\x84.) &;3.# &;.'), I( "%%;//Q#;&/H$$;J.# &;K0)*;J.# &;K&/,$;&/#$+$)($'#(#'#(\"'#&'#/\"!&,)", ), I( "%;//]#;&/T$%$;J.# &;K0)*;J.# &;K&/\"!&,)/1$;&/($8$:\x85$!!)($'#(#'#(\"'#&'#", ), I(';..G &2L""6L7M.; &4\x86""5!7\x87./ &4\x83""5!7\x84.# &;3'), I( '%2j""6j7k/J#4\x88""5!7\x89.5 &4\x8a""5!7\x8b.) &4\x8c""5!7\x8d/#$+")("\'#&\'#', ), I("%;N/M#28\"\"6879/>$;O.\" &\"/0$;S/'$8$:\x8