sip-connector 14.0.0 → 14.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/SipConnector-CK3GgjXE.js +2492 -0
  2. package/dist/SipConnector-CwI8aFEA.cjs +1 -0
  3. package/dist/doMock.cjs +1 -1
  4. package/dist/doMock.js +439 -419
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +708 -623
  7. package/dist/src/ApiManager/@ApiManager.d.ts +58 -0
  8. package/dist/src/ApiManager/constants.d.ts +71 -0
  9. package/dist/src/ApiManager/eventNames.d.ts +33 -0
  10. package/dist/src/ApiManager/index.d.ts +2 -0
  11. package/dist/src/ApiManager/types.d.ts +99 -0
  12. package/dist/src/CallManager/@CallManager.d.ts +26 -0
  13. package/dist/src/CallManager/AbstractCallStrategy.d.ts +47 -0
  14. package/dist/src/CallManager/MCUCallStrategy.d.ts +30 -0
  15. package/dist/src/CallManager/RemoteStreamsManager.d.ts +8 -0
  16. package/dist/src/CallManager/causes.d.ts +12 -0
  17. package/dist/src/CallManager/eventNames.d.ts +45 -0
  18. package/dist/src/CallManager/hasCanceledCallError.d.ts +2 -0
  19. package/dist/src/CallManager/index.d.ts +5 -0
  20. package/dist/src/CallManager/types.d.ts +59 -0
  21. package/dist/src/ConnectionManager/@ConnectionManager.d.ts +47 -0
  22. package/dist/src/ConnectionManager/ConfigurationManager.d.ts +60 -0
  23. package/dist/src/ConnectionManager/ConnectionFlow.d.ts +83 -0
  24. package/dist/src/ConnectionManager/ConnectionStateMachine.d.ts +61 -0
  25. package/dist/src/ConnectionManager/RegistrationManager.d.ts +17 -0
  26. package/dist/src/ConnectionManager/SipOperations.d.ts +32 -0
  27. package/dist/src/ConnectionManager/UAFactory.d.ts +50 -0
  28. package/dist/src/ConnectionManager/eventNames.d.ts +16 -0
  29. package/dist/src/ConnectionManager/index.d.ts +3 -0
  30. package/dist/src/IncomingCallManager/@IncomingCallManager.d.ts +36 -0
  31. package/dist/src/IncomingCallManager/eventNames.d.ts +13 -0
  32. package/dist/src/IncomingCallManager/index.d.ts +2 -0
  33. package/dist/src/PresentationManager/@PresentationManager.d.ts +47 -0
  34. package/dist/src/PresentationManager/constants.d.ts +1 -0
  35. package/dist/src/PresentationManager/eventNames.d.ts +11 -0
  36. package/dist/src/PresentationManager/index.d.ts +1 -0
  37. package/dist/src/PresentationManager/types.d.ts +2 -0
  38. package/dist/src/SipConnector.d.ts +107 -0
  39. package/dist/{SipConnectorFacade → src/SipConnectorFacade}/SipConnectorFacade.d.ts +34 -25
  40. package/dist/{__fixtures__ → src/__fixtures__}/BaseSession.mock.d.ts +23 -35
  41. package/dist/{__fixtures__ → src/__fixtures__}/RTCPeerConnectionMock.d.ts +15 -15
  42. package/dist/{__fixtures__ → src/__fixtures__}/RTCRtpSenderMock.d.ts +2 -2
  43. package/dist/src/__fixtures__/RTCSessionMock.d.ts +79 -0
  44. package/dist/src/__fixtures__/UA.mock.d.ts +82 -0
  45. package/dist/{__fixtures__ → src/__fixtures__}/channelsNotify.d.ts +2 -2
  46. package/dist/{__fixtures__ → src/__fixtures__}/index.d.ts +4 -4
  47. package/dist/{__fixtures__ → src/__fixtures__}/jssip.mock.d.ts +4 -4
  48. package/dist/{__fixtures__ → src/__fixtures__}/participantNotify.d.ts +2 -2
  49. package/dist/{constants.d.ts → src/constants.d.ts} +5 -0
  50. package/dist/{doMock.d.ts → src/doMock.d.ts} +1 -0
  51. package/dist/{index.d.ts → src/index.d.ts} +3 -1
  52. package/dist/{tools → src/tools}/__fixtures__/connectToServer.d.ts +2 -2
  53. package/dist/{tools → src/tools}/index.d.ts +2 -2
  54. package/dist/{tools/sendDTMFAccumulated.d.ts → src/tools/sendDtmfFAccumulated.d.ts} +2 -2
  55. package/dist/{types.d.ts → src/types.d.ts} +2 -1
  56. package/package.json +40 -37
  57. package/dist/SipConnector-Cc1z-VjV.js +0 -1335
  58. package/dist/SipConnector-K7IHfEEm.cjs +0 -1
  59. package/dist/SipConnector.d.ts +0 -314
  60. package/dist/__fixtures__/RTCSessionMock.d.ts +0 -78
  61. package/dist/__fixtures__/UA.mock.d.ts +0 -103
  62. package/dist/utils.d.ts +0 -4
  63. /package/dist/{SipConnectorFacade → src/SipConnectorFacade}/index.d.ts +0 -0
  64. /package/dist/{__fixtures__ → src/__fixtures__}/Registrator.mock.d.ts +0 -0
  65. /package/dist/{__fixtures__ → src/__fixtures__}/Request.mock.d.ts +0 -0
  66. /package/dist/{__fixtures__ → src/__fixtures__}/WebSocketInterface.mock.d.ts +0 -0
  67. /package/dist/{__fixtures__ → src/__fixtures__}/accountNotify.d.ts +0 -0
  68. /package/dist/{__fixtures__ → src/__fixtures__}/channels.d.ts +0 -0
  69. /package/dist/{__fixtures__ → src/__fixtures__}/conferenceParticipantTokenIssuedNotify.d.ts +0 -0
  70. /package/dist/{__fixtures__ → src/__fixtures__}/delayPromise.d.ts +0 -0
  71. /package/dist/{__fixtures__ → src/__fixtures__}/enterRoom.d.ts +0 -0
  72. /package/dist/{__fixtures__ → src/__fixtures__}/mediaState.d.ts +0 -0
  73. /package/dist/{__fixtures__ → src/__fixtures__}/participantMoveRequests.d.ts +0 -0
  74. /package/dist/{__fixtures__ → src/__fixtures__}/remoteCallerData.d.ts +0 -0
  75. /package/dist/{__fixtures__ → src/__fixtures__}/utils.d.ts +0 -0
  76. /package/dist/{__fixtures__ → src/__fixtures__}/webcastNotify.d.ts +0 -0
  77. /package/dist/{causes.d.ts → src/causes.d.ts} +0 -0
  78. /package/dist/{eventNames.d.ts → src/eventNames.d.ts} +0 -0
  79. /package/dist/{getExtraHeadersRemoteAddress.d.ts → src/getExtraHeadersRemoteAddress.d.ts} +0 -0
  80. /package/dist/{headers.d.ts → src/headers.d.ts} +0 -0
  81. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  82. /package/dist/{setParametersToSender → src/setParametersToSender}/configureDegradationPreference.d.ts +0 -0
  83. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEmptyEncodings.d.ts +0 -0
  84. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEncodings.d.ts +0 -0
  85. /package/dist/{setParametersToSender → src/setParametersToSender}/configureMaxBitrate.d.ts +0 -0
  86. /package/dist/{setParametersToSender → src/setParametersToSender}/configureScaleResolutionDownBy.d.ts +0 -0
  87. /package/dist/{setParametersToSender → src/setParametersToSender}/hasChangedRTCRtpSendParameters.d.ts +0 -0
  88. /package/dist/{setParametersToSender → src/setParametersToSender}/index.d.ts +0 -0
  89. /package/dist/{setParametersToSender → src/setParametersToSender}/resolveHasNeedToUpdateItemEncoding.d.ts +0 -0
  90. /package/dist/{setParametersToSender → src/setParametersToSender}/setParametersToSender.d.ts +0 -0
  91. /package/dist/{tools → src/tools}/__fixtures__/call.d.ts +0 -0
  92. /package/dist/{tools → src/tools}/__fixtures__/hasValidUri.d.ts +0 -0
  93. /package/dist/{tools → src/tools}/__fixtures__/permissions.d.ts +0 -0
  94. /package/dist/{tools → src/tools}/__fixtures__/processRequest.d.ts +0 -0
  95. /package/dist/{tools → src/tools}/__tests-utils__/parseObject.d.ts +0 -0
  96. /package/dist/{tools → src/tools}/__tests-utils__/resolveParseArray.d.ts +0 -0
  97. /package/dist/{tools → src/tools}/error/getLinkError.d.ts +0 -0
  98. /package/dist/{tools → src/tools}/error/getTypeFromError.d.ts +0 -0
  99. /package/dist/{tools → src/tools}/error/getValuesFromError.d.ts +0 -0
  100. /package/dist/{tools → src/tools}/error/index.d.ts +0 -0
  101. /package/dist/{tools → src/tools}/error/stringifyMessage.d.ts +0 -0
  102. /package/dist/{tools → src/tools}/generateSimulcastEncodings.d.ts +0 -0
  103. /package/dist/{tools → src/tools}/getExtraHeaders.d.ts +0 -0
  104. /package/dist/{tools → src/tools}/getUserAgent.d.ts +0 -0
  105. /package/dist/{tools → src/tools}/hasPurgatory.d.ts +0 -0
  106. /package/dist/{tools → src/tools}/prepareMediaStream.d.ts +0 -0
  107. /package/dist/{tools → src/tools}/resolveUpdateTransceiver.d.ts +0 -0
  108. /package/dist/{tools → src/tools}/setVideoTrackContentHints.d.ts +0 -0
  109. /package/dist/{tools → src/tools}/syncMediaState/index.d.ts +0 -0
  110. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMainCam.d.ts +0 -0
  111. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMic.d.ts +0 -0
  112. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMainCam.d.ts +0 -0
  113. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMic.d.ts +0 -0
  114. /package/dist/{utils → src/utils}/errors.d.ts +0 -0
  115. /package/dist/{utils → src/utils}/findSenderByStream.d.ts +0 -0
  116. /package/dist/{utils → src/utils}/findVideoSender.d.ts +0 -0
  117. /package/dist/{utils → src/utils}/findVideoTrack.d.ts +0 -0
  118. /package/dist/{utils → src/utils}/getCodecFromSender.d.ts +0 -0
  119. /package/dist/{utils → src/utils}/replaceForbiddenSymbolsWithUnderscore.d.ts +0 -0
  120. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/balance.d.ts +0 -0
  121. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidth.d.ts +0 -0
  122. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidthAndCodec.d.ts +0 -0
  123. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasAv1Codec.d.ts +0 -0
  124. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasIncludesString.d.ts +0 -0
  125. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/index.d.ts +0 -0
  126. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/processSender.d.ts +0 -0
  127. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleBitrate.d.ts +0 -0
  128. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleBitrateByCodec.d.ts +0 -0
  129. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleResolutionAndBitrate.d.ts +0 -0
  130. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/setEncodingsToSender.d.ts +0 -0
package/dist/index.js CHANGED
@@ -1,233 +1,293 @@
1
- var se = Object.defineProperty;
2
- var oe = (n, e, t) => e in n ? se(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
- var a = (n, e, t) => oe(n, typeof e != "symbol" ? e + "" : e, t);
4
- import { B as G, N as K, l as c, E as x, s as re, a as ie, P as ce, b as ae } from "./SipConnector-Cc1z-VjV.js";
5
- import { i as Cn, j as mn, m as hn, k as Rn, S as gn, c as pn, d as yn, f as En, g as Tn, e as bn, h as Mn } from "./SipConnector-Cc1z-VjV.js";
6
- import { sequentPromises as ue } from "sequent-promises";
7
- import { createStackPromises as le } from "stack-promises";
8
- import { isCanceledError as de } from "@krivega/cancelable-promise";
9
- import { hasCanceledError as Se } from "repeated-calls";
10
- import { debounce as fe } from "ts-debounce";
11
- import { default as An } from "debug";
12
- const H = (n) => {
13
- const { url: e, cause: t } = n;
14
- let s = e;
15
- return (t === G || t === K) && (s = `${n.message.to.uri.user}@${n.message.to.uri.host}`), s;
1
+ import { B as G, N as K, l as i, E as F, O as ue } from "./SipConnector-CK3GgjXE.js";
2
+ import { S as Bn, c as Pn, a as xn, d as Un, b as Fn, e as kn, h as Vn } from "./SipConnector-CK3GgjXE.js";
3
+ import { sequentPromises as le } from "sequent-promises";
4
+ import { createStackPromises as de } from "stack-promises";
5
+ import B from "debug";
6
+ import { default as Hn } from "debug";
7
+ import "events-constructor";
8
+ import { isCanceledError as q } from "@krivega/cancelable-promise";
9
+ import { hasCanceledError as fe } from "repeated-calls";
10
+ import { debounce as Ce } from "ts-debounce";
11
+ const ge = (e, n) => (e.degradationPreference = n.degradationPreference, e), Se = (e, n) => {
12
+ e.encodings ??= [];
13
+ for (let t = e.encodings.length; t < n; t += 1)
14
+ e.encodings.push({});
15
+ return e;
16
+ }, z = (e) => (n, t) => t !== void 0 && n !== t || t === void 0 && n !== e, he = z(), me = (e, n) => {
17
+ if (he(e, n))
18
+ return e;
19
+ }, Re = (e, n) => {
20
+ const t = e.maxBitrate, o = me(n, t);
21
+ return o !== void 0 && (e.maxBitrate = o), e;
22
+ }, Q = 1, pe = z(
23
+ Q
24
+ ), ye = (e, n) => {
25
+ const t = e === void 0 ? void 0 : Math.max(e, Q);
26
+ if (t !== void 0 && pe(
27
+ t,
28
+ n
29
+ ))
30
+ return t;
31
+ }, Ae = (e, n) => {
32
+ const t = e.scaleResolutionDownBy, o = ye(
33
+ n,
34
+ t
35
+ );
36
+ return o !== void 0 && (e.scaleResolutionDownBy = o), e;
37
+ }, Te = (e, n) => {
38
+ const t = n.encodings?.length ?? 0;
39
+ return Se(e, t), e.encodings.forEach((o, r) => {
40
+ const s = (n?.encodings ?? [])[r], c = s?.maxBitrate, a = s?.scaleResolutionDownBy;
41
+ Re(o, c), Ae(o, a);
42
+ }), e;
43
+ }, Me = (e, n) => {
44
+ if (e.codecs?.length !== n.codecs?.length)
45
+ return !0;
46
+ for (let t = 0; t < (e.codecs?.length ?? 0); t++)
47
+ if (JSON.stringify(e.codecs[t]) !== JSON.stringify(n.codecs[t]))
48
+ return !0;
49
+ if (e.headerExtensions?.length !== n.headerExtensions?.length)
50
+ return !0;
51
+ for (let t = 0; t < (e.headerExtensions?.length ?? 0); t++)
52
+ if (JSON.stringify(e.headerExtensions[t]) !== JSON.stringify(n.headerExtensions[t]))
53
+ return !0;
54
+ if (e.encodings?.length !== n.encodings?.length)
55
+ return !0;
56
+ for (let t = 0; t < (e.encodings.length ?? 0); t++)
57
+ if (JSON.stringify(e.encodings[t]) !== JSON.stringify(n.encodings[t]))
58
+ return !0;
59
+ return e.rtcp?.cname !== n.rtcp?.cname || e.rtcp?.reducedSize !== n.rtcp?.reducedSize || e.degradationPreference !== n.degradationPreference;
60
+ }, Z = async (e, n) => {
61
+ const t = e.getParameters(), o = JSON.parse(
62
+ JSON.stringify(t)
63
+ );
64
+ Te(t, n), ge(t, n);
65
+ const r = Me(o, t);
66
+ return r && await e.setParameters(t), { parameters: t, isChanged: r };
67
+ }, V = (e) => {
68
+ const { url: n, cause: t } = e;
69
+ let o = n;
70
+ return (t === G || t === K) && (o = `${e.message.to.uri.user}@${e.message.to.uri.host}`), o;
16
71
  };
17
- var Y = /* @__PURE__ */ ((n) => (n.CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED", n.WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD", n.BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR", n.NOT_FOUND_ERROR = "NOT_FOUND_ERROR", n.WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED", n.CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK", n))(Y || {});
18
- const Ce = (n = new Error()) => {
19
- var o;
20
- const { cause: e, socket: t } = n;
21
- let s = "CONNECT_SERVER_FAILED";
22
- switch (e) {
72
+ var ee = /* @__PURE__ */ ((e) => (e.CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED", e.WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD", e.BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR", e.NOT_FOUND_ERROR = "NOT_FOUND_ERROR", e.WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED", e.CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK", e))(ee || {});
73
+ const Ee = new Error("Unknown error"), Ne = (e = Ee) => {
74
+ const { cause: n, socket: t } = e;
75
+ let o = "CONNECT_SERVER_FAILED";
76
+ switch (n) {
23
77
  case "Forbidden": {
24
- s = "WRONG_USER_OR_PASSWORD";
78
+ o = "WRONG_USER_OR_PASSWORD";
25
79
  break;
26
80
  }
27
81
  case G: {
28
- s = "BAD_MEDIA_ERROR";
82
+ o = "BAD_MEDIA_ERROR";
29
83
  break;
30
84
  }
31
85
  case K: {
32
- s = "NOT_FOUND_ERROR";
86
+ o = "NOT_FOUND_ERROR";
33
87
  break;
34
88
  }
35
89
  default:
36
- t && ((o = t == null ? void 0 : t._ws) == null ? void 0 : o.readyState) === 3 ? s = "WS_CONNECTION_FAILED" : H(n) && (s = "CONNECT_SERVER_FAILED_BY_LINK");
90
+ t !== void 0 && t._ws?.readyState === 3 ? o = "WS_CONNECTION_FAILED" : V(e) !== void 0 && V(e) !== "" && (o = "CONNECT_SERVER_FAILED_BY_LINK");
37
91
  }
38
- return s;
39
- }, me = (n) => {
40
- let e = "";
92
+ return o;
93
+ }, _e = (e) => {
94
+ let n = "";
41
95
  try {
42
- e = JSON.stringify(n);
96
+ n = JSON.stringify(e);
43
97
  } catch (t) {
44
- c("failed to stringify message", t);
98
+ i("failed to stringify message", t);
45
99
  }
46
- return e;
47
- }, he = (n = new Error()) => {
48
- const { code: e, cause: t, message: s } = n, o = H(n), r = { code: "", cause: "", message: "" };
49
- return typeof s == "object" && s !== null ? r.message = me(s) : s && (r.message = String(s)), o && (r.link = o), e && (r.code = e), t && (r.cause = t), r;
50
- }, Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
100
+ return n;
101
+ }, ve = new Error("Unknown error"), Oe = (e = ve) => {
102
+ const { code: n, cause: t, message: o } = e, r = V(e), s = { code: "", cause: "", message: "" };
103
+ return typeof o == "object" && o !== null ? s.message = _e(o) : o && (s.message = String(o)), r !== void 0 && r !== "" && (s.link = r), n !== void 0 && n !== "" && (s.code = n), t !== void 0 && t !== "" && (s.cause = t), s;
104
+ }, be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
51
105
  __proto__: null,
52
- EErrorTypes: Y,
53
- getLinkError: H,
54
- getTypeFromError: Ce,
55
- getValuesFromError: he
56
- }, Symbol.toStringTag, { value: "Module" })), ge = ({
57
- sessionId: n,
58
- remoteAddress: e,
106
+ EErrorTypes: ee,
107
+ getLinkError: V,
108
+ getTypeFromError: Ne,
109
+ getValuesFromError: Oe
110
+ }, Symbol.toStringTag, { value: "Module" })), Ie = ({
111
+ sessionId: e,
112
+ remoteAddress: n,
59
113
  isMutedAudio: t,
60
- isMutedVideo: s,
61
- isRegistered: o,
62
- isPresentationCall: r
114
+ isMutedVideo: o,
115
+ isRegistered: r,
116
+ isPresentationCall: s
63
117
  }) => {
64
- const i = [], u = t ? "0" : "1", l = s ? "0" : "1";
65
- return i.push(`X-Vinteo-Mic-State: ${u}`, `X-Vinteo-MainCam-State: ${l}`), o || i.push("X-Vinteo-Purgatory-Call: yes"), n && i.push(`X-Vinteo-Session: ${n}`), r && i.push("X-Vinteo-Presentation-Call: yes"), e && i.push(`X-Vinteo-Remote: ${e}`), i;
66
- }, pe = "[@*!|]", ye = "_", Ee = (n) => {
67
- let e = n;
68
- return e = e.replaceAll(new RegExp(pe, "g"), ye), e;
69
- }, Te = ({
70
- appName: n,
71
- appVersion: e,
118
+ const c = [], a = t ? "0" : "1", u = o ? "0" : "1";
119
+ return c.push(`X-Vinteo-Mic-State: ${a}`, `X-Vinteo-MainCam-State: ${u}`), (r === !1 || r === void 0) && c.push("X-Vinteo-Purgatory-Call: yes"), e !== void 0 && e !== "" && c.push(`X-Vinteo-Session: ${e}`), s === !0 && c.push("X-Vinteo-Presentation-Call: yes"), n !== void 0 && n !== "" && c.push(`X-Vinteo-Remote: ${n}`), c;
120
+ }, De = "[@*!|]", we = "_", Be = (e) => {
121
+ let n = e;
122
+ return n = n.replaceAll(new RegExp(De, "g"), we), n;
123
+ }, Pe = ({
124
+ appName: e,
125
+ appVersion: n,
72
126
  browserName: t,
73
- browserVersion: s
127
+ browserVersion: o
74
128
  }) => {
75
- const r = `${Ee(n)} ${e}`;
76
- return `ChromeNew - ${t ? `${t} ${s}, ${r}` : r}`;
77
- }, be = ({
78
- isUnifiedSdpSemantic: n,
79
- appVersion: e,
129
+ const s = `${Be(e)} ${n}`;
130
+ return `ChromeNew - ${t === void 0 ? s : `${t} ${o}, ${s}`}`;
131
+ }, xe = ({
132
+ isUnifiedSdpSemantic: e,
133
+ appVersion: n,
80
134
  browserName: t,
81
- browserVersion: s,
82
- appName: o
83
- }) => n ? Te({ appVersion: e, browserName: t, browserVersion: s, appName: o }) : "Chrome", q = "purgatory", D = (n) => n === q, Me = (n) => (e) => [...e].map((s) => async () => n(s)), _e = async ({
84
- accumulatedKeys: n,
85
- sendKey: e,
135
+ browserVersion: o,
136
+ appName: r
137
+ }) => e ? Pe({ appVersion: n, browserName: t, browserVersion: o, appName: r }) : "Chrome", ne = "purgatory", P = (e) => e === ne, Ue = (e) => (n) => [...n].map((o) => async () => e(o)), Fe = async ({
138
+ accumulatedKeys: e,
139
+ sendKey: n,
86
140
  canRunTask: t
87
141
  }) => {
88
- const o = Me(e)(n);
89
- return ue(o, t);
90
- }, Ae = (n) => (t) => (c("onStartMainCam"), n.onSession("admin-start-main-cam", t)), ve = (n) => (t) => (c("onStartMic"), n.onSession("admin-start-mic", t)), Oe = (n) => (t) => (c("onStopMainCam"), n.onSession("admin-stop-main-cam", t)), Ne = (n) => (t) => (c("onStopMic"), n.onSession("admin-stop-mic", t)), we = ({ sipConnector: n }) => {
91
- const e = (m, p) => ({ isSyncForced: h = !1 }) => {
92
- if (h) {
93
- m();
142
+ const r = Ue(n)(e);
143
+ return le(r, t);
144
+ }, ke = (e) => (t) => (i("onStartMainCam"), e.onApi("admin-start-main-cam", t)), Ve = (e) => (t) => (i("onStartMic"), e.onApi("admin-start-mic", t)), Le = (e) => (t) => (i("onStopMainCam"), e.onApi("admin-stop-main-cam", t)), He = (e) => (t) => (i("onStopMic"), e.onApi("admin-stop-mic", t)), $e = ({ sipConnector: e }) => {
145
+ const n = (g, R) => ({ isSyncForced: S }) => {
146
+ if (S === !0) {
147
+ g();
94
148
  return;
95
149
  }
96
- p();
97
- }, t = Ae(n), s = Oe(n), o = ve(n), r = Ne(n);
98
- let i = () => {
99
- }, u = () => {
100
- }, l = () => {
101
- }, S = () => {
102
- };
150
+ R();
151
+ }, t = ke(e), o = Le(e), r = Ve(e), s = He(e);
152
+ let c, a, u, d;
103
153
  const C = ({
104
- onStartMainCamForced: m,
105
- onStartMainCamNotForced: p,
106
- onStopMainCamForced: h,
107
- onStopMainCamNotForced: R,
108
- onStartMicForced: y,
109
- onStartMicNotForced: E,
110
- onStopMicForced: T,
111
- onStopMicNotForced: b
154
+ onStartMainCamForced: g,
155
+ onStartMainCamNotForced: R,
156
+ onStopMainCamForced: S,
157
+ onStopMainCamNotForced: h,
158
+ onStartMicForced: p,
159
+ onStartMicNotForced: y,
160
+ onStopMicForced: A,
161
+ onStopMicNotForced: T
112
162
  }) => {
113
- const A = e(
114
- m,
115
- p
116
- );
117
- i = t(A);
118
- const v = e(
119
- h,
163
+ const N = n(
164
+ g,
120
165
  R
121
166
  );
122
- u = s(v);
123
- const O = e(y, E);
124
- l = o(O);
125
- const N = e(T, b);
126
- S = r(N);
167
+ c = t(N);
168
+ const v = n(
169
+ S,
170
+ h
171
+ );
172
+ a = o(v);
173
+ const O = n(p, y);
174
+ u = r(O);
175
+ const b = n(A, T);
176
+ d = s(b);
127
177
  }, f = () => {
128
- i(), u(), l(), S();
178
+ c?.(), a?.(), u?.(), d?.();
129
179
  };
130
180
  return {
131
- start: (m) => {
132
- C(m);
181
+ start: (g) => {
182
+ C(g);
133
183
  },
134
184
  stop: () => {
135
185
  f();
136
186
  }
137
187
  };
138
- }, un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
188
+ }, vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
139
189
  __proto__: null,
140
- PURGATORY_CONFERENCE_NUMBER: q,
141
- createSyncMediaState: we,
142
- error: Re,
143
- getExtraHeaders: ge,
144
- getUserAgent: be,
145
- hasPurgatory: D,
146
- sendDTMFAccumulated: _e
147
- }, Symbol.toStringTag, { value: "Module" })), Be = (n) => [...n.keys()].map((e) => n.get(e)), Pe = (n, e) => Be(n).find((t) => t.type === e), De = async (n) => n.getStats().then((e) => {
148
- const t = Pe(e, "codec");
149
- return t == null ? void 0 : t.mimeType;
150
- }), Ie = (n) => n.find((e) => {
151
- var t;
152
- return ((t = e == null ? void 0 : e.track) == null ? void 0 : t.kind) === "video";
153
- }), z = (n, e) => n !== void 0 && e !== void 0 && n.toLowerCase().includes(e.toLowerCase()), Fe = 1e6, g = (n) => n * Fe, Q = g(0.06), ke = g(4), Ue = (n) => n <= 64 ? Q : n <= 128 ? g(0.12) : n <= 256 ? g(0.25) : n <= 384 ? g(0.32) : n <= 426 ? g(0.38) : n <= 640 ? g(0.5) : n <= 848 ? g(0.7) : n <= 1280 ? g(1) : n <= 1920 ? g(2) : ke, Ve = "av1", xe = (n) => z(n, Ve), Le = 0.6, J = (n, e) => xe(e) ? n * Le : n, $e = (n) => J(Q, n), Z = (n, e) => {
154
- const t = Ue(n);
155
- return J(t, e);
156
- }, He = 1, ee = ({
157
- videoTrack: n,
158
- targetSize: e,
190
+ PURGATORY_CONFERENCE_NUMBER: ne,
191
+ createSyncMediaState: $e,
192
+ error: be,
193
+ getExtraHeaders: Ie,
194
+ getUserAgent: xe,
195
+ hasPurgatory: P,
196
+ sendDtmfAccumulated: Fe
197
+ }, Symbol.toStringTag, { value: "Module" }));
198
+ var _ = /* @__PURE__ */ ((e) => (e.PAUSE_MAIN_CAM = "PAUSEMAINCAM", e.RESUME_MAIN_CAM = "RESUMEMAINCAM", e.MAX_MAIN_CAM_RESOLUTION = "MAXMAINCAMRESOLUTION", e.ADMIN_STOP_MAIN_CAM = "ADMINSTOPMAINCAM", e.ADMIN_START_MAIN_CAM = "ADMINSTARTMAINCAM", e))(_ || {}), Xe = /* @__PURE__ */ ((e) => (e.ADMIN_STOP_MIC = "ADMINSTOPMIC", e.ADMIN_START_MIC = "ADMINSTARTMIC", e))(Xe || {}), Je = /* @__PURE__ */ ((e) => (e.ADMIN_SYNC_FORCED = "1", e.ADMIN_SYNC_NOT_FORCED = "0", e))(Je || {}), We = /* @__PURE__ */ ((e) => (e.AUDIO = "AUDIO", e.VIDEO = "VIDEO", e.AUDIOPLUSPRESENTATION = "AUDIOPLUSPRESENTATION", e))(We || {}), Ye = /* @__PURE__ */ ((e) => (e.VP8 = "video/VP8", e.VP9 = "video/VP9", e.H264 = "video/H264", e.AV1 = "video/AV1", e.rtx = "video/rtx", e.red = "video/red", e.flexfec03 = "video/flexfec-03", e))(Ye || {});
199
+ const je = (e) => [...e.keys()].map((n) => e.get(n)), Ge = (e, n) => je(e).find((t) => t?.type === n), Ke = async (e) => e.getStats().then((n) => Ge(n, "codec")?.mimeType), qe = (e) => e.find((n) => n.track?.kind === "video"), te = (e, n) => e !== void 0 && n !== void 0 && e.toLowerCase().includes(n.toLowerCase()), ze = 1e6, m = (e) => e * ze, oe = m(0.06), Qe = m(4), Ze = (e) => e <= 64 ? oe : e <= 128 ? m(0.12) : e <= 256 ? m(0.25) : e <= 384 ? m(0.32) : e <= 426 ? m(0.38) : e <= 640 ? m(0.5) : e <= 848 ? m(0.7) : e <= 1280 ? m(1) : e <= 1920 ? m(2) : Qe, en = "av1", nn = (e) => te(e, en), tn = 0.6, re = (e, n) => nn(n) ? e * tn : e, on = (e) => re(oe, e), se = (e, n) => {
200
+ const t = Ze(e);
201
+ return re(t, n);
202
+ }, X = 1, ce = ({
203
+ videoTrack: e,
204
+ targetSize: n,
159
205
  codec: t
160
206
  }) => {
161
- const s = n.getSettings(), o = s.width, r = s.height, i = o / e.width, u = r / e.height, l = Math.max(i, u, He), S = Z(e.width, t);
162
- return { scaleResolutionDownBy: l, maxBitrate: S };
163
- }, ne = le(), Xe = async () => ne().catch((n) => {
164
- c("videoSendingBalancer: error", n);
165
- }), je = async (n) => (ne.add(n), Xe()), X = async ({
166
- sender: n,
167
- scaleResolutionDownBy: e,
207
+ const o = e.getSettings(), r = o.width, s = o.height, c = r === void 0 ? X : r / n.width, a = s === void 0 ? X : s / n.height, u = Math.max(c, a, X), d = se(n.width, t);
208
+ return { scaleResolutionDownBy: u, maxBitrate: d };
209
+ }, rn = async (e, n, t) => {
210
+ const { isChanged: o, parameters: r } = await Z(e, {
211
+ encodings: [
212
+ {
213
+ scaleResolutionDownBy: n.scaleResolutionDownBy,
214
+ maxBitrate: n.maxBitrate
215
+ }
216
+ ]
217
+ });
218
+ return o && t && t(r), { isChanged: o, parameters: r };
219
+ }, ie = de(), sn = async () => ie().catch((e) => {
220
+ i("videoSendingBalancer: error", e);
221
+ }), cn = async (e) => (ie.add(e), sn()), W = async ({
222
+ sender: e,
223
+ scaleResolutionDownBy: n,
168
224
  maxBitrate: t,
169
- onSetParameters: s
170
- }) => je(async () => re(n, { scaleResolutionDownBy: e, maxBitrate: t }, s)), We = async ({ sender: n, codec: e }, t) => {
171
- const o = $e(e);
172
- return X({
173
- sender: n,
174
- maxBitrate: o,
225
+ onSetParameters: o
226
+ }) => cn(async () => rn(e, { scaleResolutionDownBy: n, maxBitrate: t }, o)), an = async ({ sender: e, codec: n }, t) => {
227
+ const r = on(n);
228
+ return W({
229
+ sender: e,
230
+ maxBitrate: r,
175
231
  onSetParameters: t,
176
232
  scaleResolutionDownBy: 200
177
233
  });
178
- }, L = async ({
179
- sender: n,
180
- videoTrack: e,
234
+ }, k = async ({
235
+ sender: e,
236
+ videoTrack: n,
181
237
  codec: t
182
- }, s) => {
183
- const i = e.getSettings().width, u = Z(i, t);
184
- return X({
185
- sender: n,
186
- maxBitrate: u,
187
- onSetParameters: s,
238
+ }, o) => {
239
+ const c = n.getSettings().width, a = se(c ?? 0, t);
240
+ return W({
241
+ sender: e,
242
+ maxBitrate: a,
243
+ onSetParameters: o,
188
244
  scaleResolutionDownBy: 1
189
245
  });
190
- }, Ge = async ({
191
- sender: n,
192
- videoTrack: e,
246
+ }, un = async ({
247
+ sender: e,
248
+ videoTrack: n,
193
249
  resolution: t,
194
- codec: s
195
- }, o) => {
196
- const [r, i] = t.split("x"), { maxBitrate: u, scaleResolutionDownBy: l } = ee({
197
- videoTrack: e,
198
- codec: s,
250
+ codec: o
251
+ }, r) => {
252
+ const [s, c] = t.split("x"), { maxBitrate: a, scaleResolutionDownBy: u } = ce({
253
+ videoTrack: n,
254
+ codec: o,
199
255
  targetSize: {
200
- width: Number(r),
201
- height: Number(i)
256
+ width: Number(s),
257
+ height: Number(c)
202
258
  }
203
259
  });
204
- return X({
205
- sender: n,
206
- maxBitrate: u,
207
- onSetParameters: o,
208
- scaleResolutionDownBy: l
260
+ return W({
261
+ sender: e,
262
+ maxBitrate: a,
263
+ onSetParameters: r,
264
+ scaleResolutionDownBy: u
209
265
  });
210
- }, Ke = async ({
211
- mainCam: n,
212
- resolutionMainCam: e,
266
+ }, ln = async ({
267
+ mainCam: e,
268
+ resolutionMainCam: n,
213
269
  sender: t,
214
- videoTrack: s,
215
- codec: o
216
- }, r) => {
217
- switch (n) {
218
- case x.PAUSE_MAIN_CAM:
219
- return We({ sender: t, codec: o }, r);
220
- case x.RESUME_MAIN_CAM:
221
- return L({ sender: t, videoTrack: s, codec: o }, r);
222
- case x.MAX_MAIN_CAM_RESOLUTION:
223
- return e !== void 0 ? Ge(
224
- { sender: t, videoTrack: s, codec: o, resolution: e },
225
- r
226
- ) : L({ sender: t, videoTrack: s, codec: o }, r);
270
+ videoTrack: o,
271
+ codec: r
272
+ }, s) => {
273
+ switch (e) {
274
+ case _.PAUSE_MAIN_CAM:
275
+ return an({ sender: t, codec: r }, s);
276
+ case _.RESUME_MAIN_CAM:
277
+ return k({ sender: t, videoTrack: o, codec: r }, s);
278
+ case _.MAX_MAIN_CAM_RESOLUTION:
279
+ return n !== void 0 ? un(
280
+ { sender: t, videoTrack: o, codec: r, resolution: n },
281
+ s
282
+ ) : k({ sender: t, videoTrack: o, codec: r }, s);
283
+ case _.ADMIN_STOP_MAIN_CAM:
284
+ case _.ADMIN_START_MAIN_CAM:
285
+ case void 0:
286
+ return k({ sender: t, videoTrack: o, codec: r }, s);
227
287
  default:
228
- return L({ sender: t, videoTrack: s, codec: o }, r);
288
+ return k({ sender: t, videoTrack: o, codec: r }, s);
229
289
  }
230
- }, j = {
290
+ }, Y = {
231
291
  isChanged: !1,
232
292
  parameters: {
233
293
  encodings: [{}],
@@ -236,125 +296,140 @@ const Ce = (n = new Error()) => {
236
296
  headerExtensions: [],
237
297
  rtcp: {}
238
298
  }
239
- }, W = async ({
240
- mainCam: n,
241
- resolutionMainCam: e,
299
+ }, j = async ({
300
+ mainCam: e,
301
+ resolutionMainCam: n,
242
302
  connection: t,
243
- onSetParameters: s,
244
- ignoreForCodec: o
303
+ onSetParameters: o,
304
+ ignoreForCodec: r
245
305
  }) => {
246
- const r = t.getSenders(), i = Ie(r);
247
- if (!(i != null && i.track))
248
- return j;
249
- const u = await De(i);
250
- return z(u, o) ? j : Ke(
306
+ const s = t.getSenders(), c = qe(s);
307
+ if (!c?.track)
308
+ return Y;
309
+ const a = await Ke(c);
310
+ return te(a, r) ? Y : ln(
251
311
  {
252
- mainCam: n,
253
- resolutionMainCam: e,
254
- sender: i,
255
- codec: u,
256
- videoTrack: i.track
312
+ mainCam: e,
313
+ resolutionMainCam: n,
314
+ sender: c,
315
+ codec: a,
316
+ videoTrack: c.track
257
317
  },
258
- s
318
+ o
259
319
  );
260
- }, ln = (n, {
261
- ignoreForCodec: e,
320
+ }, On = (e, {
321
+ ignoreForCodec: n,
262
322
  onSetParameters: t
263
323
  } = {}) => {
264
- const s = async () => {
265
- const { connection: l } = n;
266
- if (!l)
324
+ const o = async () => {
325
+ const { connection: u } = e;
326
+ if (!u)
267
327
  throw new Error("connection is not exist");
268
- return W({
269
- connection: l,
328
+ return j({
329
+ connection: u,
270
330
  onSetParameters: t,
271
- ignoreForCodec: e
331
+ ignoreForCodec: n
272
332
  });
273
333
  };
274
- let o = s;
275
- const r = async (l) => (o = async () => {
276
- const { mainCam: S, resolutionMainCam: C } = l, { connection: f } = n;
277
- if (!f)
278
- throw new Error("connection is not exist");
279
- return W({
280
- mainCam: S,
281
- resolutionMainCam: C,
282
- connection: f,
283
- onSetParameters: t,
284
- ignoreForCodec: e
285
- });
286
- }, o());
334
+ let r = o;
335
+ const s = (u) => {
336
+ r = async () => {
337
+ const { mainCam: d, resolutionMainCam: C } = u, { connection: f } = e;
338
+ if (!f)
339
+ throw new Error("connection is not exist");
340
+ return j({
341
+ mainCam: d,
342
+ resolutionMainCam: C,
343
+ connection: f,
344
+ onSetParameters: t,
345
+ ignoreForCodec: n
346
+ });
347
+ }, r().catch(B);
348
+ };
287
349
  return {
288
350
  subscribe: () => {
289
- n.onSession("main-cam-control", r);
351
+ e.onApi("main-cam-control", s);
290
352
  },
291
353
  unsubscribe: () => {
292
- n.offSession("main-cam-control", r);
354
+ e.offApi("main-cam-control", s);
293
355
  },
294
- balanceByTrack: s,
356
+ balanceByTrack: o,
295
357
  resetMainCamControl() {
296
- o = s;
358
+ r = o;
297
359
  },
298
360
  async reBalance() {
299
- return o();
361
+ return r();
300
362
  }
301
363
  };
302
- }, Ye = (n) => n.getVideoTracks()[0], B = ({
303
- mediaStream: n,
304
- simulcastEncodings: e,
364
+ }, dn = (e) => e instanceof Object && ("originator" in e || "cause" in e), bn = (e) => {
365
+ if (q(e))
366
+ return !0;
367
+ if (!dn(e))
368
+ return !1;
369
+ const { originator: n, cause: t } = e;
370
+ return typeof t == "string" ? t === F.REQUEST_TIMEOUT || t === F.REJECTED || n === ue.LOCAL && (t === F.CANCELED || t === F.BYE) : !1;
371
+ }, fn = (e) => e.getVideoTracks()[0], D = ({
372
+ mediaStream: e,
373
+ simulcastEncodings: n,
305
374
  sendEncodings: t
306
375
  }) => {
307
- if (e && e.length > 0) {
308
- const s = t ?? [], o = Ye(n);
309
- return e.forEach((r, i) => {
310
- const u = s[i] ?? {};
311
- u.active = !0, r.rid !== void 0 && (u.rid = r.rid), r.scalabilityMode !== void 0 && (u.scalabilityMode = r.scalabilityMode);
312
- const { maxBitrate: l, scaleResolutionDownBy: S } = ee({
313
- videoTrack: o,
376
+ if (n && n.length > 0) {
377
+ const o = t ?? [], r = fn(e);
378
+ if (r === void 0)
379
+ throw new Error("No video track");
380
+ return n.forEach((s, c) => {
381
+ const a = o[c] ?? {};
382
+ a.active = !0, s.rid !== void 0 && (a.rid = s.rid), s.scalabilityMode !== void 0 && (a.scalabilityMode = s.scalabilityMode);
383
+ const { maxBitrate: u, scaleResolutionDownBy: d } = ce({
384
+ videoTrack: r,
314
385
  targetSize: {
315
- width: r.width,
316
- height: r.height
386
+ width: s.width,
387
+ height: s.height
317
388
  }
318
389
  });
319
- u.maxBitrate = l, u.scaleResolutionDownBy = S, s[i] = u;
320
- }), s;
390
+ a.maxBitrate = u, a.scaleResolutionDownBy = d, o[c] = a;
391
+ }), o;
321
392
  }
322
393
  return t;
323
- }, qe = (n, e) => n.filter((s) => e.some((o) => o.clockRate === s.clockRate && o.mimeType === s.mimeType && o.channels === s.channels && o.sdpFmtpLine === s.sdpFmtpLine)), ze = (n) => {
324
- const e = RTCRtpSender.getCapabilities(n), t = RTCRtpReceiver.getCapabilities(n), s = e === null ? [] : e.codecs, o = t === null ? [] : t.codecs;
325
- return qe(s, o);
326
- }, Qe = (n, e) => e === void 0 || e.length === 0 ? n : n.sort((t, s) => {
327
- const o = e.indexOf(t.mimeType), r = e.indexOf(s.mimeType), i = o === -1 ? Number.MAX_VALUE : o, u = r === -1 ? Number.MAX_VALUE : r;
328
- return i - u;
329
- }), Je = (n, e) => e === void 0 || e.length === 0 ? n : n.filter((t) => !e.includes(t.mimeType)), P = (n, {
330
- preferredMimeTypesVideoCodecs: e,
394
+ }, Cn = (e, n) => e.filter((o) => n.some((r) => r.clockRate === o.clockRate && r.mimeType === o.mimeType && r.channels === o.channels && r.sdpFmtpLine === o.sdpFmtpLine)), gn = (e) => {
395
+ const n = RTCRtpSender.getCapabilities(e), t = RTCRtpReceiver.getCapabilities(e), o = n === null ? [] : n.codecs, r = t === null ? [] : t.codecs;
396
+ return Cn(o, r);
397
+ }, Sn = (e, n) => n === void 0 || n.length === 0 ? e : e.sort((t, o) => {
398
+ const r = n.indexOf(t.mimeType), s = n.indexOf(o.mimeType), c = r === -1 ? Number.MAX_VALUE : r, a = s === -1 ? Number.MAX_VALUE : s;
399
+ return c - a;
400
+ }), hn = (e, n) => n === void 0 || n.length === 0 ? e : e.filter((t) => !n.includes(t.mimeType)), w = (e, {
401
+ preferredMimeTypesVideoCodecs: n,
331
402
  excludeMimeTypesVideoCodecs: t
332
- }) => async (s) => {
333
- var o;
403
+ }) => async (o) => {
334
404
  try {
335
- if (typeof s.setCodecPreferences == "function" && ((o = s.sender.track) == null ? void 0 : o.kind) === "video" && (e !== void 0 && (e == null ? void 0 : e.length) > 0 || t !== void 0 && (t == null ? void 0 : t.length) > 0)) {
336
- const r = ze("video"), i = Je(r, t), u = Qe(i, e);
337
- s.setCodecPreferences(u);
405
+ if (typeof o.setCodecPreferences == "function" && o.sender.track?.kind === "video" && (n !== void 0 && n.length > 0 || t !== void 0 && t.length > 0)) {
406
+ const r = gn("video"), s = hn(r, t), c = Sn(s, n);
407
+ o.setCodecPreferences(c);
338
408
  }
339
- Object.keys(n).length > 0 && await ie(s.sender, n);
409
+ Object.keys(e).length > 0 && await Z(o.sender, e);
340
410
  } catch (r) {
341
- c("updateTransceiver error", r);
411
+ i("updateTransceiver error", r);
342
412
  }
343
- }, $ = (n) => {
344
- if (!de(n) && !Se(n))
345
- throw n;
413
+ }, J = (e) => {
414
+ if (!q(e) && !fe(e))
415
+ throw e;
346
416
  return { isSuccessful: !1 };
347
- }, Ze = ({ kind: n, readyState: e }) => n === "video" && e === "live", en = /* @__PURE__ */ new Set([
417
+ }, mn = ({ kind: e, readyState: n }) => e === "video" && n === "live", Rn = /* @__PURE__ */ new Set([
348
418
  "on",
349
419
  "once",
350
420
  "onceRace",
351
421
  "wait",
352
422
  "off",
353
- "onSession",
354
- "onceSession",
355
- "onceRaceSession",
356
- "waitSession",
357
- "offSession",
423
+ "onCall",
424
+ "onceCall",
425
+ "onceRaceCall",
426
+ "waitCall",
427
+ "offCall",
428
+ "onIncomingCall",
429
+ "onceIncomingCall",
430
+ "onceRaceIncomingCall",
431
+ "waitIncomingCall",
432
+ "offIncomingCall",
358
433
  "sendDTMF",
359
434
  "hangUp",
360
435
  "declineToIncomingCall",
@@ -366,389 +441,399 @@ const Ce = (n = new Error()) => {
366
441
  "isConfigured",
367
442
  "isRegistered"
368
443
  ]);
369
- class dn {
370
- constructor(e, {
444
+ class In {
445
+ // @ts-expect-error: proxy method
446
+ on;
447
+ // @ts-expect-error: proxy method
448
+ once;
449
+ // @ts-expect-error: proxy method
450
+ onceRace;
451
+ // @ts-expect-error: proxy method
452
+ wait;
453
+ // @ts-expect-error: proxy method
454
+ off;
455
+ // @ts-expect-error: proxy method
456
+ onCall;
457
+ // @ts-expect-error: proxy method
458
+ onceCall;
459
+ // @ts-expect-error: proxy method
460
+ onceRaceCall;
461
+ // @ts-expect-error: proxy method
462
+ waitCall;
463
+ // @ts-expect-error: proxy method
464
+ offCall;
465
+ // @ts-expect-error: proxy method
466
+ onIncomingCall;
467
+ // @ts-expect-error: proxy method
468
+ onceIncomingCall;
469
+ // @ts-expect-error: proxy method
470
+ onceRaceIncomingCall;
471
+ // @ts-expect-error: proxy method
472
+ waitIncomingCall;
473
+ // @ts-expect-error: proxy method
474
+ offIncomingCall;
475
+ // @ts-expect-error: proxy method
476
+ sendDTMF;
477
+ // @ts-expect-error: proxy method
478
+ hangUp;
479
+ // @ts-expect-error: proxy method
480
+ declineToIncomingCall;
481
+ // @ts-expect-error: proxy method
482
+ sendChannels;
483
+ // @ts-expect-error: proxy method
484
+ checkTelephony;
485
+ // @ts-expect-error: proxy method
486
+ waitChannels;
487
+ // @ts-expect-error: proxy method
488
+ ping;
489
+ // proxy method
490
+ connection;
491
+ // @ts-expect-error: proxy method
492
+ isConfigured;
493
+ // @ts-expect-error: proxy method
494
+ isRegistered;
495
+ sipConnector;
496
+ preferredMimeTypesVideoCodecs;
497
+ excludeMimeTypesVideoCodecs;
498
+ constructor(n, {
371
499
  preferredMimeTypesVideoCodecs: t,
372
- excludeMimeTypesVideoCodecs: s
500
+ excludeMimeTypesVideoCodecs: o
373
501
  } = {}) {
374
- a(this, "sipConnector");
375
- a(this, "preferredMimeTypesVideoCodecs");
376
- a(this, "excludeMimeTypesVideoCodecs");
377
- // @ts-expect-error: proxy method
378
- a(this, "on");
379
- // @ts-expect-error: proxy method
380
- a(this, "once");
381
- // @ts-expect-error: proxy method
382
- a(this, "onceRace");
383
- // @ts-expect-error: proxy method
384
- a(this, "wait");
385
- // @ts-expect-error: proxy method
386
- a(this, "off");
387
- // @ts-expect-error: proxy method
388
- a(this, "onSession");
389
- // @ts-expect-error: proxy method
390
- a(this, "onceSession");
391
- // @ts-expect-error: proxy method
392
- a(this, "onceRaceSession");
393
- // @ts-expect-error: proxy method
394
- a(this, "waitSession");
395
- // @ts-expect-error: proxy method
396
- a(this, "offSession");
397
- // @ts-expect-error: proxy method
398
- a(this, "sendDTMF");
399
- // @ts-expect-error: proxy method
400
- a(this, "hangUp");
401
- // @ts-expect-error: proxy method
402
- a(this, "declineToIncomingCall");
403
- // @ts-expect-error: proxy method
404
- a(this, "sendChannels");
405
- // @ts-expect-error: proxy method
406
- a(this, "checkTelephony");
407
- // @ts-expect-error: proxy method
408
- a(this, "waitChannels");
409
- // @ts-expect-error: proxy method
410
- a(this, "ping");
411
- // proxy method
412
- a(this, "connection");
413
- // @ts-expect-error: proxy method
414
- a(this, "isConfigured");
415
- // @ts-expect-error: proxy method
416
- a(this, "isRegistered");
417
- a(this, "connectToServer", async (e) => {
418
- const {
419
- userAgent: t,
420
- sipWebSocketServerURL: s,
421
- sipServerUrl: o,
422
- remoteAddress: r,
423
- displayName: i,
424
- name: u,
425
- password: l,
426
- isRegisteredUser: S,
427
- isDisconnectOnFail: C
428
- } = e;
429
- return c("connectToServer", e), this.sipConnector.connect({
430
- userAgent: t,
431
- sipWebSocketServerURL: s,
432
- sipServerUrl: o,
433
- remoteAddress: r,
434
- displayName: i,
435
- password: l,
436
- user: u,
437
- register: S
438
- }).then((f) => (c("connectToServer then"), { ua: f, isSuccessful: !0 })).catch(async (f) => (c("connectToServer catch: error", f), C === !0 ? this.sipConnector.disconnect().then(() => $(f)).catch(() => $(f)) : $(f)));
439
- });
440
- a(this, "callToServer", async (e) => {
441
- const {
442
- conference: t,
443
- mediaStream: s,
444
- extraHeaders: o,
445
- iceServers: r,
446
- contentHint: i,
447
- simulcastEncodings: u,
448
- degradationPreference: l,
449
- sendEncodings: S,
450
- offerToReceiveAudio: C,
451
- offerToReceiveVideo: f,
452
- directionVideo: I,
453
- directionAudio: F,
454
- setRemoteStreams: m,
455
- onBeforeProgressCall: p,
456
- onSuccessProgressCall: h,
457
- onEnterPurgatory: R,
458
- onEnterConference: y,
459
- onFailProgressCall: E,
460
- onFinishProgressCall: T,
461
- onEndedCall: b
462
- } = e, A = this.resolveHandleReadyRemoteStreamsDebounced({
463
- onReadyRemoteStreams: m
464
- }), v = this.resolveHandleReadyRemoteStreams({
465
- onReadyRemoteStreams: A
466
- }), O = P(
467
- {
468
- degradationPreference: l
469
- },
470
- {
471
- preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
472
- excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
502
+ return this.preferredMimeTypesVideoCodecs = t, this.excludeMimeTypesVideoCodecs = o, this.sipConnector = n, new Proxy(this, {
503
+ get: (r, s, c) => {
504
+ if (typeof s == "string" && Rn.has(s) && s in this.sipConnector) {
505
+ const u = Reflect.get(this.sipConnector, s, this.sipConnector);
506
+ return typeof u == "function" ? u.bind(this.sipConnector) : u;
473
507
  }
474
- );
475
- c("callToServer", e);
476
- const N = async () => (c("startCall"), this.sipConnector.call({
477
- mediaStream: s,
478
- extraHeaders: o,
479
- iceServers: r,
480
- contentHint: i,
481
- offerToReceiveAudio: C,
482
- offerToReceiveVideo: f,
483
- directionVideo: I,
484
- directionAudio: F,
485
- sendEncodings: B({
486
- mediaStream: s,
487
- simulcastEncodings: u,
488
- sendEncodings: S
489
- }),
490
- number: t,
491
- onAddedTransceiver: O,
492
- ontrack: v
493
- }));
494
- let M = !1, _;
495
- const w = (c("subscribeEnterConference: onEnterConference", y), R ?? y ? this.sipConnector.onSession("enterRoom", ({ room: d }) => {
496
- c("enterRoom", { _room: d, isSuccessProgressCall: M }), _ = d, D(_) ? R && R() : y && y({ isSuccessProgressCall: M });
497
- }) : () => {
498
- }), k = (d) => (c("onSuccess"), M = !0, A(), h && h({ isPurgatory: D(_) }), this.sipConnector.onceRaceSession(["ended", "failed"], () => {
499
- w(), b && b();
500
- }), d), U = (d) => {
501
- throw c("onFail"), E && E(), w(), d;
502
- }, V = () => {
503
- c("onFinish"), T && T();
504
- };
505
- return c("onBeforeProgressCall"), p && p(t), N().then(k).catch((d) => U(d)).finally(V);
508
+ const a = Reflect.get(r, s, c);
509
+ return typeof a == "function" ? a.bind(r) : a;
510
+ }
506
511
  });
507
- a(this, "disconnectFromServer", async () => this.sipConnector.disconnect().then(() => (c("disconnectFromServer: then"), { isSuccessful: !0 })).catch((e) => (c("disconnectFromServer: catch", e), { isSuccessful: !1 })));
508
- a(this, "answerIncomingCall", async (e) => {
509
- const {
510
- mediaStream: t,
511
- extraHeaders: s,
512
- iceServers: o,
513
- contentHint: r,
514
- simulcastEncodings: i,
515
- degradationPreference: u,
516
- sendEncodings: l,
517
- offerToReceiveAudio: S,
518
- offerToReceiveVideo: C,
519
- directionVideo: f,
520
- directionAudio: I,
521
- setRemoteStreams: F,
522
- onBeforeProgressCall: m,
523
- onSuccessProgressCall: p,
524
- onEnterPurgatory: h,
525
- onEnterConference: R,
526
- onFailProgressCall: y,
527
- onFinishProgressCall: E,
528
- onEndedCall: T
529
- } = e, b = this.resolveHandleReadyRemoteStreamsDebounced({
530
- onReadyRemoteStreams: F
531
- }), A = this.resolveHandleReadyRemoteStreams({
532
- onReadyRemoteStreams: b
533
- }), v = P(
534
- {
535
- degradationPreference: u
536
- },
537
- {
538
- preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
539
- excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
540
- }
541
- );
542
- c("answerIncomingCall", e);
543
- const O = async () => this.sipConnector.answerToIncomingCall({
512
+ }
513
+ connectToServer = async (n) => {
514
+ const {
515
+ userAgent: t,
516
+ sipWebSocketServerURL: o,
517
+ sipServerUrl: r,
518
+ remoteAddress: s,
519
+ displayName: c,
520
+ name: a,
521
+ password: u,
522
+ isRegisteredUser: d,
523
+ isDisconnectOnFail: C
524
+ } = n;
525
+ return i("connectToServer", n), this.sipConnector.connect({
526
+ userAgent: t,
527
+ sipWebSocketServerURL: o,
528
+ sipServerUrl: r,
529
+ remoteAddress: s,
530
+ displayName: c,
531
+ password: u,
532
+ user: a,
533
+ register: d
534
+ }).then((f) => (i("connectToServer then"), { ua: f, isSuccessful: !0 })).catch(async (f) => (i("connectToServer catch: error", f), C === !0 ? this.sipConnector.disconnect().then(() => J(f)).catch(() => J(f)) : J(f)));
535
+ };
536
+ callToServer = async (n) => {
537
+ const {
538
+ conference: t,
539
+ mediaStream: o,
540
+ extraHeaders: r,
541
+ iceServers: s,
542
+ contentHint: c,
543
+ simulcastEncodings: a,
544
+ degradationPreference: u,
545
+ sendEncodings: d,
546
+ offerToReceiveAudio: C,
547
+ offerToReceiveVideo: f,
548
+ directionVideo: x,
549
+ directionAudio: U,
550
+ setRemoteStreams: g,
551
+ onBeforeProgressCall: R,
552
+ onSuccessProgressCall: S,
553
+ onEnterPurgatory: h,
554
+ onEnterConference: p,
555
+ onFailProgressCall: y,
556
+ onFinishProgressCall: A,
557
+ onEndedCall: T
558
+ } = n, N = this.resolveHandleReadyRemoteStreamsDebounced({
559
+ onReadyRemoteStreams: g
560
+ }), v = this.resolveHandleReadyRemoteStreams({
561
+ onReadyRemoteStreams: () => {
562
+ N().catch(B);
563
+ }
564
+ }), O = w(
565
+ {
566
+ degradationPreference: u
567
+ },
568
+ {
569
+ preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
570
+ excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
571
+ }
572
+ );
573
+ i("callToServer", n);
574
+ const b = async () => (i("startCall"), this.sipConnector.call({
575
+ mediaStream: o,
576
+ extraHeaders: r,
577
+ iceServers: s,
578
+ contentHint: c,
579
+ offerToReceiveAudio: C,
580
+ offerToReceiveVideo: f,
581
+ directionVideo: x,
582
+ directionAudio: U,
583
+ sendEncodings: D({
584
+ mediaStream: o,
585
+ simulcastEncodings: a,
586
+ sendEncodings: d
587
+ }),
588
+ number: t,
589
+ onAddedTransceiver: O,
590
+ ontrack: v
591
+ }));
592
+ let M = !1, E;
593
+ const I = (i("subscribeEnterConference: onEnterConference", p), h ?? p ? this.sipConnector.onApi("enterRoom", ({ room: l }) => {
594
+ i("enterRoom", { _room: l, isSuccessProgressCall: M }), E = l, P(E) ? h && h() : p && p({ isSuccessProgressCall: M });
595
+ }) : () => {
596
+ }), L = (l) => (i("onSuccess"), M = !0, N().catch(B), S && S({ isPurgatory: P(E) }), this.sipConnector.onceRaceCall(["ended", "failed"], () => {
597
+ I(), T && T();
598
+ }), l), H = (l) => {
599
+ throw i("onFail"), y && y(), I(), l;
600
+ }, $ = () => {
601
+ i("onFinish"), A && A();
602
+ };
603
+ return i("onBeforeProgressCall"), R && R(t), b().then(L).catch((l) => H(l)).finally($);
604
+ };
605
+ disconnectFromServer = async () => this.sipConnector.disconnect().then(() => (i("disconnectFromServer: then"), { isSuccessful: !0 })).catch((n) => (i("disconnectFromServer: catch", n), { isSuccessful: !1 }));
606
+ answerToIncomingCall = async (n) => {
607
+ const {
608
+ mediaStream: t,
609
+ extraHeaders: o,
610
+ iceServers: r,
611
+ contentHint: s,
612
+ simulcastEncodings: c,
613
+ degradationPreference: a,
614
+ sendEncodings: u,
615
+ offerToReceiveAudio: d,
616
+ offerToReceiveVideo: C,
617
+ directionVideo: f,
618
+ directionAudio: x,
619
+ setRemoteStreams: U,
620
+ onBeforeProgressCall: g,
621
+ onSuccessProgressCall: R,
622
+ onEnterPurgatory: S,
623
+ onEnterConference: h,
624
+ onFailProgressCall: p,
625
+ onFinishProgressCall: y,
626
+ onEndedCall: A
627
+ } = n, T = this.resolveHandleReadyRemoteStreamsDebounced({
628
+ onReadyRemoteStreams: U
629
+ }), N = this.resolveHandleReadyRemoteStreams({
630
+ onReadyRemoteStreams: () => {
631
+ T().catch(B);
632
+ }
633
+ }), v = w(
634
+ {
635
+ degradationPreference: a
636
+ },
637
+ {
638
+ preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
639
+ excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
640
+ }
641
+ );
642
+ i("answerToIncomingCall", n);
643
+ const O = async () => this.sipConnector.answerToIncomingCall({
644
+ mediaStream: t,
645
+ extraHeaders: o,
646
+ iceServers: r,
647
+ contentHint: s,
648
+ offerToReceiveAudio: d,
649
+ offerToReceiveVideo: C,
650
+ directionVideo: f,
651
+ directionAudio: x,
652
+ sendEncodings: D({
544
653
  mediaStream: t,
545
- extraHeaders: s,
546
- iceServers: o,
547
- contentHint: r,
548
- offerToReceiveAudio: S,
549
- offerToReceiveVideo: C,
550
- directionVideo: f,
551
- directionAudio: I,
552
- sendEncodings: B({
553
- mediaStream: t,
554
- simulcastEncodings: i,
555
- sendEncodings: l
556
- }),
557
- onAddedTransceiver: v,
558
- ontrack: A
559
- }), N = () => {
560
- const { remoteCallerData: d } = this.sipConnector;
561
- return d.incomingNumber;
562
- };
563
- let M = !1, _;
564
- const w = (c("subscribeEnterConference: onEnterConference", R), h ?? R ? this.sipConnector.onSession("enterRoom", (d) => {
565
- c("enterRoom", { _room: d, isSuccessProgressCall: M }), _ = d, D(_) ? h && h() : R && R({ isSuccessProgressCall: M });
566
- }) : () => {
567
- }), k = (d) => (c("onSuccess"), M = !0, b(), p && p({ isPurgatory: D(_) }), this.sipConnector.onceRaceSession(["ended", "failed"], () => {
568
- w(), T && T();
569
- }), d), U = (d) => {
570
- throw c("onFail"), y && y(), w(), d;
571
- }, V = () => {
572
- c("onFinish"), E && E();
573
- };
574
- if (c("onBeforeProgressCall"), m) {
575
- const d = N();
576
- m(d);
654
+ simulcastEncodings: c,
655
+ sendEncodings: u
656
+ }),
657
+ onAddedTransceiver: v,
658
+ ontrack: N
659
+ }), b = () => {
660
+ const { remoteCallerData: l } = this.sipConnector;
661
+ return l.incomingNumber;
662
+ };
663
+ let M = !1, E;
664
+ const I = (i("subscribeEnterConference: onEnterConference", h), S ?? h ? this.sipConnector.onApi("enterRoom", (l) => {
665
+ i("enterRoom", { _room: l, isSuccessProgressCall: M }), E = l, P(E) ? S && S() : h && h({ isSuccessProgressCall: M });
666
+ }) : () => {
667
+ }), L = (l) => (i("onSuccess"), M = !0, T().catch(B), R && R({ isPurgatory: P(E) }), this.sipConnector.onceRaceCall(["ended", "failed"], () => {
668
+ I(), A && A();
669
+ }), l), H = (l) => {
670
+ throw i("onFail"), p && p(), I(), l;
671
+ }, $ = () => {
672
+ i("onFinish"), y && y();
673
+ };
674
+ if (i("onBeforeProgressCall"), g) {
675
+ const l = b();
676
+ g(l);
677
+ }
678
+ return O().then(L).catch((l) => H(l)).finally($);
679
+ };
680
+ updatePresentation = async ({
681
+ mediaStream: n,
682
+ isP2P: t,
683
+ maxBitrate: o,
684
+ contentHint: r,
685
+ simulcastEncodings: s,
686
+ degradationPreference: c,
687
+ sendEncodings: a,
688
+ preferredMimeTypesVideoCodecs: u,
689
+ excludeMimeTypesVideoCodecs: d
690
+ }) => {
691
+ const C = w(
692
+ {
693
+ degradationPreference: c
694
+ },
695
+ {
696
+ preferredMimeTypesVideoCodecs: u,
697
+ excludeMimeTypesVideoCodecs: d
577
698
  }
578
- return O().then(k).catch((d) => U(d)).finally(V);
579
- });
580
- a(this, "updatePresentation", async ({
581
- mediaStream: e,
699
+ );
700
+ return i("updatePresentation"), this.sipConnector.updatePresentation(n, {
582
701
  isP2P: t,
583
- maxBitrate: s,
584
- contentHint: o,
585
- simulcastEncodings: r,
586
- degradationPreference: i,
587
- sendEncodings: u,
588
- preferredMimeTypesVideoCodecs: l,
589
- excludeMimeTypesVideoCodecs: S
590
- }) => {
591
- const C = P(
592
- {
593
- degradationPreference: i
594
- },
595
- {
596
- preferredMimeTypesVideoCodecs: l,
597
- excludeMimeTypesVideoCodecs: S
598
- }
599
- );
600
- return c("updatePresentation"), this.sipConnector.updatePresentation(e, {
601
- isP2P: t,
602
- maxBitrate: s,
603
- contentHint: o,
604
- sendEncodings: B({
605
- mediaStream: e,
606
- simulcastEncodings: r,
607
- sendEncodings: u
608
- }),
609
- onAddedTransceiver: C
610
- });
702
+ maxBitrate: o,
703
+ contentHint: r,
704
+ sendEncodings: D({
705
+ mediaStream: n,
706
+ simulcastEncodings: s,
707
+ sendEncodings: a
708
+ }),
709
+ onAddedTransceiver: C
611
710
  });
612
- a(this, "startPresentation", async ({
613
- mediaStream: e,
711
+ };
712
+ startPresentation = async ({
713
+ mediaStream: n,
714
+ isP2P: t,
715
+ maxBitrate: o,
716
+ contentHint: r,
717
+ simulcastEncodings: s,
718
+ degradationPreference: c,
719
+ sendEncodings: a,
720
+ preferredMimeTypesVideoCodecs: u,
721
+ excludeMimeTypesVideoCodecs: d,
722
+ callLimit: C
723
+ }) => {
724
+ const f = w(
725
+ {
726
+ degradationPreference: c
727
+ },
728
+ {
729
+ preferredMimeTypesVideoCodecs: u,
730
+ excludeMimeTypesVideoCodecs: d
731
+ }
732
+ );
733
+ return i("startPresentation"), this.sipConnector.startPresentation(n, {
614
734
  isP2P: t,
615
- maxBitrate: s,
616
- contentHint: o,
617
- simulcastEncodings: r,
618
- degradationPreference: i,
619
- sendEncodings: u,
620
- preferredMimeTypesVideoCodecs: l,
621
- excludeMimeTypesVideoCodecs: S
622
- }, C) => {
623
- const f = P(
624
- {
625
- degradationPreference: i
626
- },
627
- {
628
- preferredMimeTypesVideoCodecs: l,
629
- excludeMimeTypesVideoCodecs: S
630
- }
631
- );
632
- return c("startPresentation"), this.sipConnector.startPresentation(
633
- e,
634
- {
635
- isP2P: t,
636
- maxBitrate: s,
637
- contentHint: o,
638
- sendEncodings: B({
639
- mediaStream: e,
640
- simulcastEncodings: r,
641
- sendEncodings: u
642
- }),
643
- onAddedTransceiver: f
644
- },
645
- C
646
- );
647
- });
648
- a(this, "stopShareSipConnector", async ({ isP2P: e = !1 } = {}) => (c("stopShareSipConnector"), this.sipConnector.stopPresentation({
649
- isP2P: e
650
- }).catch((t) => {
651
- c(t);
652
- })));
653
- a(this, "sendRefusalToTurnOnMic", async () => {
654
- if (this.sipConnector.isCallActive)
655
- return c("sendRefusalToTurnOnMic"), this.sipConnector.sendRefusalToTurnOnMic().catch((e) => {
656
- c("sendRefusalToTurnOnMic: error", e);
657
- });
658
- });
659
- a(this, "sendRefusalToTurnOnCam", async () => {
660
- if (this.sipConnector.isCallActive)
661
- return c("sendRefusalToTurnOnCam"), this.sipConnector.sendRefusalToTurnOnCam().catch((e) => {
662
- c("sendRefusalToTurnOnCam: error", e);
663
- });
664
- });
665
- a(this, "sendMediaState", async ({
666
- isEnabledCam: e,
667
- isEnabledMic: t
668
- }) => {
669
- if (this.sipConnector.isCallActive)
670
- return c("sendMediaState"), this.sipConnector.sendMediaState({ cam: e, mic: t });
671
- });
672
- a(this, "replaceMediaStream", async (e, {
673
- deleteExisting: t,
674
- addMissing: s,
675
- forceRenegotiation: o,
735
+ maxBitrate: o,
676
736
  contentHint: r,
677
- simulcastEncodings: i,
678
- degradationPreference: u,
679
- sendEncodings: l
680
- } = {}) => {
681
- const S = P(
682
- {
683
- degradationPreference: u
684
- },
685
- {
686
- preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
687
- excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
688
- }
689
- );
690
- return c("replaceMediaStream"), this.sipConnector.replaceMediaStream(e, {
691
- deleteExisting: t,
692
- addMissing: s,
693
- forceRenegotiation: o,
694
- contentHint: r,
695
- sendEncodings: B({
696
- mediaStream: e,
697
- simulcastEncodings: i,
698
- sendEncodings: l
699
- }),
700
- onAddedTransceiver: S
701
- });
737
+ callLimit: C,
738
+ sendEncodings: D({
739
+ mediaStream: n,
740
+ simulcastEncodings: s,
741
+ sendEncodings: a
742
+ }),
743
+ onAddedTransceiver: f
702
744
  });
703
- a(this, "askPermissionToEnableCam", async () => {
704
- if (this.sipConnector.isCallActive)
705
- return c("askPermissionToEnableCam"), this.sipConnector.askPermissionToEnableCam();
745
+ };
746
+ stopShareSipConnector = async ({ isP2P: n = !1 } = {}) => (i("stopShareSipConnector"), this.sipConnector.stopPresentation({
747
+ isP2P: n
748
+ }).catch((t) => {
749
+ i(t);
750
+ }));
751
+ sendRefusalToTurnOnMic = async () => {
752
+ i("sendRefusalToTurnOnMic"), await this.sipConnector.sendRefusalToTurnOnMic().catch((n) => {
753
+ i("sendRefusalToTurnOnMic: error", n);
706
754
  });
707
- a(this, "resolveHandleReadyRemoteStreamsDebounced", ({
708
- onReadyRemoteStreams: e
709
- }) => fe(() => {
710
- const t = this.sipConnector.getRemoteStreams();
711
- c("remoteStreams", t), t && e(t);
712
- }, 200));
713
- a(this, "resolveHandleReadyRemoteStreams", ({
714
- onReadyRemoteStreams: e
715
- }) => ({ track: t }) => {
716
- Ze(t) && e();
755
+ };
756
+ sendRefusalToTurnOnCam = async () => {
757
+ i("sendRefusalToTurnOnCam"), await this.sipConnector.sendRefusalToTurnOnCam().catch((n) => {
758
+ i("sendRefusalToTurnOnCam: error", n);
717
759
  });
718
- a(this, "getRemoteStreams", () => (c("getRemoteStreams"), this.sipConnector.getRemoteStreams()));
719
- a(this, "onUseLicense", (e) => (c("onUseLicense"), this.sipConnector.onSession("useLicense", e)));
720
- a(this, "onMustStopPresentation", (e) => (c("onMustStopPresentation"), this.sipConnector.onSession("mustStopPresentation", e)));
721
- a(this, "onMoveToSpectators", (e) => (c("onMoveToSpectators"), this.sipConnector.onSession(ce, e)));
722
- a(this, "onMoveToParticipants", (e) => (c("onMoveToParticipants"), this.sipConnector.onSession(ae, e)));
723
- return this.preferredMimeTypesVideoCodecs = t, this.excludeMimeTypesVideoCodecs = s, this.sipConnector = e, new Proxy(this, {
724
- get: (o, r, i) => {
725
- if (typeof r == "string" && en.has(r) && r in this.sipConnector) {
726
- const l = Reflect.get(this.sipConnector, r, this.sipConnector);
727
- return typeof l == "function" ? l.bind(this.sipConnector) : l;
728
- }
729
- const u = Reflect.get(o, r, i);
730
- return typeof u == "function" ? u.bind(o) : u;
760
+ };
761
+ sendMediaState = async ({
762
+ isEnabledCam: n,
763
+ isEnabledMic: t
764
+ }) => {
765
+ i("sendMediaState"), await this.sipConnector.sendMediaState({ cam: n, mic: t });
766
+ };
767
+ replaceMediaStream = async (n, {
768
+ deleteExisting: t,
769
+ addMissing: o,
770
+ forceRenegotiation: r,
771
+ contentHint: s,
772
+ simulcastEncodings: c,
773
+ degradationPreference: a,
774
+ sendEncodings: u
775
+ } = {}) => {
776
+ const d = w(
777
+ {
778
+ degradationPreference: a
779
+ },
780
+ {
781
+ preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
782
+ excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
731
783
  }
784
+ );
785
+ return i("replaceMediaStream"), this.sipConnector.replaceMediaStream(n, {
786
+ deleteExisting: t,
787
+ addMissing: o,
788
+ forceRenegotiation: r,
789
+ contentHint: s,
790
+ sendEncodings: D({
791
+ mediaStream: n,
792
+ simulcastEncodings: c,
793
+ sendEncodings: u
794
+ }),
795
+ onAddedTransceiver: d
732
796
  });
733
- }
797
+ };
798
+ askPermissionToEnableCam = async () => {
799
+ i("askPermissionToEnableCam"), await this.sipConnector.askPermissionToEnableCam();
800
+ };
801
+ resolveHandleReadyRemoteStreamsDebounced = ({
802
+ onReadyRemoteStreams: n
803
+ }) => Ce(() => {
804
+ const t = this.sipConnector.getRemoteStreams();
805
+ i("remoteStreams", t), t && n(t);
806
+ }, 200);
807
+ // eslint-disable-next-line class-methods-use-this
808
+ resolveHandleReadyRemoteStreams = ({
809
+ onReadyRemoteStreams: n
810
+ }) => ({ track: t }) => {
811
+ mn(t) && n();
812
+ };
813
+ getRemoteStreams = () => (i("getRemoteStreams"), this.sipConnector.getRemoteStreams());
814
+ onUseLicense = (n) => (i("onUseLicense"), this.sipConnector.onApi("useLicense", n));
815
+ onMustStopPresentation = (n) => (i("onMustStopPresentation"), this.sipConnector.onApi("mustStopPresentation", n));
816
+ onMoveToSpectators = (n) => (i("onMoveToSpectators"), this.sipConnector.onApi("participant:move-request-to-spectators", n));
817
+ onMoveToParticipants = (n) => (i("onMoveToParticipants"), this.sipConnector.onApi("participant:move-request-to-participants", n));
734
818
  }
735
819
  export {
736
- x as EEventsMainCAM,
737
- Cn as EEventsMic,
738
- mn as EEventsSyncMediaState,
739
- hn as EMimeTypesVideoCodecs,
740
- Rn as EUseLicense,
741
- gn as SipConnector,
742
- dn as SipConnectorFacade,
743
- pn as causes,
744
- yn as constants,
745
- An as debug,
746
- En as disableDebug,
747
- Tn as enableDebug,
748
- bn as eventNames,
749
- De as getCodecFromSender,
750
- Mn as hasCanceledCallError,
751
- ln as resolveVideoSendingBalancer,
752
- ie as setParametersToSender,
753
- un as tools
820
+ _ as EEventsMainCAM,
821
+ Xe as EEventsMic,
822
+ Je as EEventsSyncMediaState,
823
+ Ye as EMimeTypesVideoCodecs,
824
+ We as EUseLicense,
825
+ Bn as SipConnector,
826
+ In as SipConnectorFacade,
827
+ Pn as causes,
828
+ xn as constants,
829
+ Hn as debug,
830
+ Un as disableDebug,
831
+ Fn as enableDebug,
832
+ kn as eventNames,
833
+ Ke as getCodecFromSender,
834
+ bn as hasCanceledCallError,
835
+ Vn as hasCanceledStartPresentationError,
836
+ On as resolveVideoSendingBalancer,
837
+ Z as setParametersToSender,
838
+ vn as tools
754
839
  };