sip-connector 6.17.0 → 6.19.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 (328) hide show
  1. package/dist/SipConnector.d.ts +46 -74
  2. package/dist/causes.d.ts +0 -1
  3. package/dist/constants.d.ts +0 -1
  4. package/dist/eventNames.d.ts +0 -1
  5. package/dist/getExtraHeadersRemoteAddress.d.ts +0 -1
  6. package/dist/headers.d.ts +0 -1
  7. package/dist/index.cjs +1 -0
  8. package/dist/index.d.ts +8 -8
  9. package/dist/index.js +1919 -45
  10. package/dist/logger.d.ts +2 -3
  11. package/dist/tools/__tests-utils__/parseObject.d.ts +0 -1
  12. package/dist/tools/__tests-utils__/resolveParseArray.d.ts +0 -1
  13. package/dist/tools/answerIncomingCall.d.ts +5 -6
  14. package/dist/tools/callToServer.d.ts +4 -5
  15. package/dist/tools/connectToServer.d.ts +2 -3
  16. package/dist/tools/disconnectFromServer.d.ts +0 -1
  17. package/dist/tools/error/getLinkError.d.ts +2 -3
  18. package/dist/tools/error/getTypeFromError.d.ts +2 -3
  19. package/dist/tools/error/getValuesFromError.d.ts +2 -3
  20. package/dist/tools/error/index.d.ts +3 -6
  21. package/dist/tools/getExtraHeaders.d.ts +0 -1
  22. package/dist/tools/getUserAgent.d.ts +8 -0
  23. package/dist/tools/hasPurgatory.d.ts +0 -1
  24. package/dist/tools/index.d.ts +21 -22
  25. package/dist/tools/resolveAskPermissionToEnableCam.d.ts +0 -1
  26. package/dist/tools/resolveGetRemoteStreams.d.ts +0 -1
  27. package/dist/tools/resolveHandleChangeTracks.d.ts +0 -1
  28. package/dist/tools/resolveOnMustStopPresentation.d.ts +0 -1
  29. package/dist/tools/resolveOnUseLicense.d.ts +1 -2
  30. package/dist/tools/resolveSendMediaState.d.ts +3 -4
  31. package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts +0 -1
  32. package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts +0 -1
  33. package/dist/tools/resolveStartPresentation.d.ts +0 -1
  34. package/dist/tools/resolveStopShareSipConnector.d.ts +1 -2
  35. package/dist/tools/resolveUpdatePresentation.d.ts +0 -1
  36. package/dist/tools/resolveUpdateRemoteStreams.d.ts +1 -2
  37. package/dist/tools/sendDTMFAccumulated.d.ts +0 -1
  38. package/dist/tools/syncMediaState/index.d.ts +0 -1
  39. package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts +0 -1
  40. package/dist/tools/syncMediaState/resolveOnStartMic.d.ts +0 -1
  41. package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts +0 -1
  42. package/dist/tools/syncMediaState/resolveOnStopMic.d.ts +0 -1
  43. package/dist/types.d.ts +29 -0
  44. package/dist/utils/errors.d.ts +0 -1
  45. package/dist/utils/findSenderByStream.d.ts +0 -1
  46. package/dist/utils/findVideoSender.d.ts +0 -1
  47. package/dist/utils/getCodecFromSender.d.ts +0 -1
  48. package/dist/utils.d.ts +3 -4
  49. package/dist/videoSendingBalancer/balance.d.ts +1 -2
  50. package/dist/videoSendingBalancer/getMaxBitrateByWidth.d.ts +0 -1
  51. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts +0 -1
  52. package/dist/videoSendingBalancer/hasAv1Codec.d.ts +0 -1
  53. package/dist/videoSendingBalancer/hasIncludesString.d.ts +0 -1
  54. package/dist/videoSendingBalancer/index.d.ts +0 -1
  55. package/dist/videoSendingBalancer/processSender.d.ts +1 -2
  56. package/dist/videoSendingBalancer/scaleBitrate.d.ts +1 -2
  57. package/dist/videoSendingBalancer/scaleBitrateByCodec.d.ts +0 -1
  58. package/dist/videoSendingBalancer/setEncodingsToSender.d.ts +0 -1
  59. package/package.json +71 -49
  60. package/dist/SipConnector.d.ts.map +0 -1
  61. package/dist/SipConnector.js +0 -1099
  62. package/dist/SipConnector.js.map +0 -1
  63. package/dist/__fixtures__/BaseSession.mock.d.ts +0 -95
  64. package/dist/__fixtures__/BaseSession.mock.d.ts.map +0 -1
  65. package/dist/__fixtures__/BaseSession.mock.js +0 -195
  66. package/dist/__fixtures__/BaseSession.mock.js.map +0 -1
  67. package/dist/__fixtures__/RTCPeerConnectionMock.d.ts +0 -59
  68. package/dist/__fixtures__/RTCPeerConnectionMock.d.ts.map +0 -1
  69. package/dist/__fixtures__/RTCPeerConnectionMock.js +0 -87
  70. package/dist/__fixtures__/RTCPeerConnectionMock.js.map +0 -1
  71. package/dist/__fixtures__/RTCRtpSenderMock.d.ts +0 -13
  72. package/dist/__fixtures__/RTCRtpSenderMock.d.ts.map +0 -1
  73. package/dist/__fixtures__/RTCRtpSenderMock.js +0 -35
  74. package/dist/__fixtures__/RTCRtpSenderMock.js.map +0 -1
  75. package/dist/__fixtures__/Registrator.mock.d.ts +0 -8
  76. package/dist/__fixtures__/Registrator.mock.d.ts.map +0 -1
  77. package/dist/__fixtures__/Registrator.mock.js +0 -11
  78. package/dist/__fixtures__/Registrator.mock.js.map +0 -1
  79. package/dist/__fixtures__/Request.mock.d.ts +0 -9
  80. package/dist/__fixtures__/Request.mock.d.ts.map +0 -1
  81. package/dist/__fixtures__/Request.mock.js +0 -14
  82. package/dist/__fixtures__/Request.mock.js.map +0 -1
  83. package/dist/__fixtures__/Session.mock.d.ts +0 -70
  84. package/dist/__fixtures__/Session.mock.d.ts.map +0 -1
  85. package/dist/__fixtures__/Session.mock.js +0 -184
  86. package/dist/__fixtures__/Session.mock.js.map +0 -1
  87. package/dist/__fixtures__/UA.mock.d.ts +0 -83
  88. package/dist/__fixtures__/UA.mock.d.ts.map +0 -1
  89. package/dist/__fixtures__/UA.mock.js +0 -158
  90. package/dist/__fixtures__/UA.mock.js.map +0 -1
  91. package/dist/__fixtures__/WebSocketInterface.mock.d.ts +0 -6
  92. package/dist/__fixtures__/WebSocketInterface.mock.d.ts.map +0 -1
  93. package/dist/__fixtures__/WebSocketInterface.mock.js +0 -9
  94. package/dist/__fixtures__/WebSocketInterface.mock.js.map +0 -1
  95. package/dist/__fixtures__/accountNotify.d.ts +0 -3
  96. package/dist/__fixtures__/accountNotify.d.ts.map +0 -1
  97. package/dist/__fixtures__/accountNotify.js +0 -19
  98. package/dist/__fixtures__/accountNotify.js.map +0 -1
  99. package/dist/__fixtures__/channels.d.ts +0 -9
  100. package/dist/__fixtures__/channels.d.ts.map +0 -1
  101. package/dist/__fixtures__/channels.js +0 -18
  102. package/dist/__fixtures__/channels.js.map +0 -1
  103. package/dist/__fixtures__/channelsNotify.d.ts +0 -6
  104. package/dist/__fixtures__/channelsNotify.d.ts.map +0 -1
  105. package/dist/__fixtures__/channelsNotify.js +0 -15
  106. package/dist/__fixtures__/channelsNotify.js.map +0 -1
  107. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.d.ts +0 -7
  108. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.d.ts.map +0 -1
  109. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.js +0 -22
  110. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.js.map +0 -1
  111. package/dist/__fixtures__/doMock.d.ts +0 -4
  112. package/dist/__fixtures__/doMock.d.ts.map +0 -1
  113. package/dist/__fixtures__/doMock.js +0 -14
  114. package/dist/__fixtures__/doMock.js.map +0 -1
  115. package/dist/__fixtures__/index.d.ts +0 -84
  116. package/dist/__fixtures__/index.d.ts.map +0 -1
  117. package/dist/__fixtures__/index.js +0 -57
  118. package/dist/__fixtures__/index.js.map +0 -1
  119. package/dist/__fixtures__/jssip.mock.d.ts +0 -24
  120. package/dist/__fixtures__/jssip.mock.d.ts.map +0 -1
  121. package/dist/__fixtures__/jssip.mock.js +0 -91
  122. package/dist/__fixtures__/jssip.mock.js.map +0 -1
  123. package/dist/__fixtures__/mediaState.d.ts +0 -8
  124. package/dist/__fixtures__/mediaState.d.ts.map +0 -1
  125. package/dist/__fixtures__/mediaState.js +0 -14
  126. package/dist/__fixtures__/mediaState.js.map +0 -1
  127. package/dist/__fixtures__/participantMoveRequests.d.ts +0 -13
  128. package/dist/__fixtures__/participantMoveRequests.d.ts.map +0 -1
  129. package/dist/__fixtures__/participantMoveRequests.js +0 -38
  130. package/dist/__fixtures__/participantMoveRequests.js.map +0 -1
  131. package/dist/__fixtures__/participantNotify.d.ts +0 -9
  132. package/dist/__fixtures__/participantNotify.d.ts.map +0 -1
  133. package/dist/__fixtures__/participantNotify.js +0 -29
  134. package/dist/__fixtures__/participantNotify.js.map +0 -1
  135. package/dist/__fixtures__/remoteCallerData.d.ts +0 -8
  136. package/dist/__fixtures__/remoteCallerData.d.ts.map +0 -1
  137. package/dist/__fixtures__/remoteCallerData.js +0 -10
  138. package/dist/__fixtures__/remoteCallerData.js.map +0 -1
  139. package/dist/__fixtures__/utils.d.ts +0 -2
  140. package/dist/__fixtures__/utils.d.ts.map +0 -1
  141. package/dist/__fixtures__/utils.js +0 -12
  142. package/dist/__fixtures__/utils.js.map +0 -1
  143. package/dist/__fixtures__/webcastNotify.d.ts +0 -11
  144. package/dist/__fixtures__/webcastNotify.d.ts.map +0 -1
  145. package/dist/__fixtures__/webcastNotify.js +0 -29
  146. package/dist/__fixtures__/webcastNotify.js.map +0 -1
  147. package/dist/causes.d.ts.map +0 -1
  148. package/dist/causes.js +0 -30
  149. package/dist/causes.js.map +0 -1
  150. package/dist/constants.d.ts.map +0 -1
  151. package/dist/constants.js +0 -74
  152. package/dist/constants.js.map +0 -1
  153. package/dist/eventNames.d.ts.map +0 -1
  154. package/dist/eventNames.js +0 -88
  155. package/dist/eventNames.js.map +0 -1
  156. package/dist/getExtraHeadersRemoteAddress.d.ts.map +0 -1
  157. package/dist/getExtraHeadersRemoteAddress.js +0 -11
  158. package/dist/getExtraHeadersRemoteAddress.js.map +0 -1
  159. package/dist/headers.d.ts.map +0 -1
  160. package/dist/headers.js +0 -37
  161. package/dist/headers.js.map +0 -1
  162. package/dist/index.d.ts.map +0 -1
  163. package/dist/index.es5.js +0 -2
  164. package/dist/index.es5.js.map +0 -1
  165. package/dist/index.js.map +0 -1
  166. package/dist/index.umd.js +0 -2
  167. package/dist/index.umd.js.map +0 -1
  168. package/dist/logger.d.ts.map +0 -1
  169. package/dist/logger.js +0 -21
  170. package/dist/logger.js.map +0 -1
  171. package/dist/tools/__fixtures__/call.d.ts +0 -11
  172. package/dist/tools/__fixtures__/call.d.ts.map +0 -1
  173. package/dist/tools/__fixtures__/call.js +0 -38
  174. package/dist/tools/__fixtures__/call.js.map +0 -1
  175. package/dist/tools/__fixtures__/connectToServer.d.ts +0 -151
  176. package/dist/tools/__fixtures__/connectToServer.d.ts.map +0 -1
  177. package/dist/tools/__fixtures__/connectToServer.js +0 -35
  178. package/dist/tools/__fixtures__/connectToServer.js.map +0 -1
  179. package/dist/tools/__fixtures__/hasValidUri.d.ts +0 -10
  180. package/dist/tools/__fixtures__/hasValidUri.d.ts.map +0 -1
  181. package/dist/tools/__fixtures__/hasValidUri.js +0 -14
  182. package/dist/tools/__fixtures__/hasValidUri.js.map +0 -1
  183. package/dist/tools/__fixtures__/permissions.d.ts +0 -9
  184. package/dist/tools/__fixtures__/permissions.d.ts.map +0 -1
  185. package/dist/tools/__fixtures__/permissions.js +0 -15
  186. package/dist/tools/__fixtures__/permissions.js.map +0 -1
  187. package/dist/tools/__fixtures__/processRequest.d.ts +0 -4
  188. package/dist/tools/__fixtures__/processRequest.d.ts.map +0 -1
  189. package/dist/tools/__fixtures__/processRequest.js +0 -71
  190. package/dist/tools/__fixtures__/processRequest.js.map +0 -1
  191. package/dist/tools/__tests-utils__/parseObject.d.ts.map +0 -1
  192. package/dist/tools/__tests-utils__/parseObject.js +0 -27
  193. package/dist/tools/__tests-utils__/parseObject.js.map +0 -1
  194. package/dist/tools/__tests-utils__/resolveParseArray.d.ts.map +0 -1
  195. package/dist/tools/__tests-utils__/resolveParseArray.js +0 -17
  196. package/dist/tools/__tests-utils__/resolveParseArray.js.map +0 -1
  197. package/dist/tools/answerIncomingCall.d.ts.map +0 -1
  198. package/dist/tools/answerIncomingCall.js +0 -94
  199. package/dist/tools/answerIncomingCall.js.map +0 -1
  200. package/dist/tools/callToServer.d.ts.map +0 -1
  201. package/dist/tools/callToServer.js +0 -90
  202. package/dist/tools/callToServer.js.map +0 -1
  203. package/dist/tools/connectToServer.d.ts.map +0 -1
  204. package/dist/tools/connectToServer.js +0 -52
  205. package/dist/tools/connectToServer.js.map +0 -1
  206. package/dist/tools/disconnectFromServer.d.ts.map +0 -1
  207. package/dist/tools/disconnectFromServer.js +0 -23
  208. package/dist/tools/disconnectFromServer.js.map +0 -1
  209. package/dist/tools/error/getLinkError.d.ts.map +0 -1
  210. package/dist/tools/error/getLinkError.js +0 -36
  211. package/dist/tools/error/getLinkError.js.map +0 -1
  212. package/dist/tools/error/getTypeFromError.d.ts.map +0 -1
  213. package/dist/tools/error/getTypeFromError.js +0 -63
  214. package/dist/tools/error/getTypeFromError.js.map +0 -1
  215. package/dist/tools/error/getValuesFromError.d.ts.map +0 -1
  216. package/dist/tools/error/getValuesFromError.js +0 -26
  217. package/dist/tools/error/getValuesFromError.js.map +0 -1
  218. package/dist/tools/error/index.d.ts.map +0 -1
  219. package/dist/tools/error/index.js +0 -15
  220. package/dist/tools/error/index.js.map +0 -1
  221. package/dist/tools/getExtraHeaders.d.ts.map +0 -1
  222. package/dist/tools/getExtraHeaders.js +0 -24
  223. package/dist/tools/getExtraHeaders.js.map +0 -1
  224. package/dist/tools/hasPurgatory.d.ts.map +0 -1
  225. package/dist/tools/hasPurgatory.js +0 -9
  226. package/dist/tools/hasPurgatory.js.map +0 -1
  227. package/dist/tools/index.d.ts.map +0 -1
  228. package/dist/tools/index.js +0 -71
  229. package/dist/tools/index.js.map +0 -1
  230. package/dist/tools/resolveAskPermissionToEnableCam.d.ts.map +0 -1
  231. package/dist/tools/resolveAskPermissionToEnableCam.js +0 -18
  232. package/dist/tools/resolveAskPermissionToEnableCam.js.map +0 -1
  233. package/dist/tools/resolveGetRemoteStreams.d.ts.map +0 -1
  234. package/dist/tools/resolveGetRemoteStreams.js +0 -15
  235. package/dist/tools/resolveGetRemoteStreams.js.map +0 -1
  236. package/dist/tools/resolveHandleChangeTracks.d.ts.map +0 -1
  237. package/dist/tools/resolveHandleChangeTracks.js +0 -14
  238. package/dist/tools/resolveHandleChangeTracks.js.map +0 -1
  239. package/dist/tools/resolveOnMustStopPresentation.d.ts.map +0 -1
  240. package/dist/tools/resolveOnMustStopPresentation.js +0 -15
  241. package/dist/tools/resolveOnMustStopPresentation.js.map +0 -1
  242. package/dist/tools/resolveOnUseLicense.d.ts.map +0 -1
  243. package/dist/tools/resolveOnUseLicense.js +0 -15
  244. package/dist/tools/resolveOnUseLicense.js.map +0 -1
  245. package/dist/tools/resolveSendMediaState.d.ts.map +0 -1
  246. package/dist/tools/resolveSendMediaState.js +0 -18
  247. package/dist/tools/resolveSendMediaState.js.map +0 -1
  248. package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts.map +0 -1
  249. package/dist/tools/resolveSendRefusalToTurnOnCam.js +0 -20
  250. package/dist/tools/resolveSendRefusalToTurnOnCam.js.map +0 -1
  251. package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts.map +0 -1
  252. package/dist/tools/resolveSendRefusalToTurnOnMic.js +0 -20
  253. package/dist/tools/resolveSendRefusalToTurnOnMic.js.map +0 -1
  254. package/dist/tools/resolveStartPresentation.d.ts.map +0 -1
  255. package/dist/tools/resolveStartPresentation.js +0 -19
  256. package/dist/tools/resolveStartPresentation.js.map +0 -1
  257. package/dist/tools/resolveStopShareSipConnector.d.ts.map +0 -1
  258. package/dist/tools/resolveStopShareSipConnector.js +0 -19
  259. package/dist/tools/resolveStopShareSipConnector.js.map +0 -1
  260. package/dist/tools/resolveUpdatePresentation.d.ts.map +0 -1
  261. package/dist/tools/resolveUpdatePresentation.js +0 -19
  262. package/dist/tools/resolveUpdatePresentation.js.map +0 -1
  263. package/dist/tools/resolveUpdateRemoteStreams.d.ts.map +0 -1
  264. package/dist/tools/resolveUpdateRemoteStreams.js +0 -18
  265. package/dist/tools/resolveUpdateRemoteStreams.js.map +0 -1
  266. package/dist/tools/sendDTMFAccumulated.d.ts.map +0 -1
  267. package/dist/tools/sendDTMFAccumulated.js +0 -26
  268. package/dist/tools/sendDTMFAccumulated.js.map +0 -1
  269. package/dist/tools/syncMediaState/index.d.ts.map +0 -1
  270. package/dist/tools/syncMediaState/index.js +0 -55
  271. package/dist/tools/syncMediaState/index.js.map +0 -1
  272. package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts.map +0 -1
  273. package/dist/tools/syncMediaState/resolveOnStartMainCam.js +0 -15
  274. package/dist/tools/syncMediaState/resolveOnStartMainCam.js.map +0 -1
  275. package/dist/tools/syncMediaState/resolveOnStartMic.d.ts.map +0 -1
  276. package/dist/tools/syncMediaState/resolveOnStartMic.js +0 -15
  277. package/dist/tools/syncMediaState/resolveOnStartMic.js.map +0 -1
  278. package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts.map +0 -1
  279. package/dist/tools/syncMediaState/resolveOnStopMainCam.js +0 -15
  280. package/dist/tools/syncMediaState/resolveOnStopMainCam.js.map +0 -1
  281. package/dist/tools/syncMediaState/resolveOnStopMic.d.ts.map +0 -1
  282. package/dist/tools/syncMediaState/resolveOnStopMic.js +0 -15
  283. package/dist/tools/syncMediaState/resolveOnStopMic.js.map +0 -1
  284. package/dist/utils/errors.d.ts.map +0 -1
  285. package/dist/utils/errors.js +0 -9
  286. package/dist/utils/errors.js.map +0 -1
  287. package/dist/utils/findSenderByStream.d.ts.map +0 -1
  288. package/dist/utils/findSenderByStream.js +0 -9
  289. package/dist/utils/findSenderByStream.js.map +0 -1
  290. package/dist/utils/findVideoSender.d.ts.map +0 -1
  291. package/dist/utils/findVideoSender.js +0 -10
  292. package/dist/utils/findVideoSender.js.map +0 -1
  293. package/dist/utils/getCodecFromSender.d.ts.map +0 -1
  294. package/dist/utils/getCodecFromSender.js +0 -20
  295. package/dist/utils/getCodecFromSender.js.map +0 -1
  296. package/dist/utils.d.ts.map +0 -1
  297. package/dist/utils.js +0 -42
  298. package/dist/utils.js.map +0 -1
  299. package/dist/videoSendingBalancer/balance.d.ts.map +0 -1
  300. package/dist/videoSendingBalancer/balance.js +0 -42
  301. package/dist/videoSendingBalancer/balance.js.map +0 -1
  302. package/dist/videoSendingBalancer/getMaxBitrateByWidth.d.ts.map +0 -1
  303. package/dist/videoSendingBalancer/getMaxBitrateByWidth.js +0 -41
  304. package/dist/videoSendingBalancer/getMaxBitrateByWidth.js.map +0 -1
  305. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts.map +0 -1
  306. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.js +0 -41
  307. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.js.map +0 -1
  308. package/dist/videoSendingBalancer/hasAv1Codec.d.ts.map +0 -1
  309. package/dist/videoSendingBalancer/hasAv1Codec.js +0 -12
  310. package/dist/videoSendingBalancer/hasAv1Codec.js.map +0 -1
  311. package/dist/videoSendingBalancer/hasIncludesString.d.ts.map +0 -1
  312. package/dist/videoSendingBalancer/hasIncludesString.js +0 -7
  313. package/dist/videoSendingBalancer/hasIncludesString.js.map +0 -1
  314. package/dist/videoSendingBalancer/index.d.ts.map +0 -1
  315. package/dist/videoSendingBalancer/index.js +0 -56
  316. package/dist/videoSendingBalancer/index.js.map +0 -1
  317. package/dist/videoSendingBalancer/processSender.d.ts.map +0 -1
  318. package/dist/videoSendingBalancer/processSender.js +0 -105
  319. package/dist/videoSendingBalancer/processSender.js.map +0 -1
  320. package/dist/videoSendingBalancer/scaleBitrate.d.ts.map +0 -1
  321. package/dist/videoSendingBalancer/scaleBitrate.js +0 -16
  322. package/dist/videoSendingBalancer/scaleBitrate.js.map +0 -1
  323. package/dist/videoSendingBalancer/scaleBitrateByCodec.d.ts.map +0 -1
  324. package/dist/videoSendingBalancer/scaleBitrateByCodec.js +0 -15
  325. package/dist/videoSendingBalancer/scaleBitrateByCodec.js.map +0 -1
  326. package/dist/videoSendingBalancer/setEncodingsToSender.d.ts.map +0 -1
  327. package/dist/videoSendingBalancer/setEncodingsToSender.js +0 -60
  328. package/dist/videoSendingBalancer/setEncodingsToSender.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,48 +1,1922 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
1
+ var wn = Object.defineProperty;
2
+ var $n = (e, t, n) => t in e ? wn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var c = (e, t, n) => ($n(e, typeof t != "symbol" ? t + "" : t, n), n);
4
+ import { CancelableRequest as P, isCanceledError as dt } from "@krivega/cancelable-promise";
5
+ import we from "events-constructor";
6
+ import Te from "debug";
7
+ import { default as Bl } from "debug";
8
+ import Ln from "sequent-promises";
9
+ import Un from "stack-promises";
10
+ const Fn = "Connection Error", Et = "Request Timeout", kn = "SIP Failure Code", Bn = "Internal Error", xn = "Busy", ht = "Rejected", Hn = "Redirected", Wn = "Unavailable", me = "Not Found", Vn = "Address Incomplete", jn = "Incompatible SDP", qn = "Missing SDP", Gn = "Authentication Error", ft = "Terminated", Yn = "WebRTC Error", St = "Canceled", Xn = "No Answer", zn = "Expires", Jn = "No ACK", Kn = "Dialog Error", Qn = "User Denied Media Access", Ce = "Bad Media Description", Zn = "RTP Timeout", Ol = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
11
+ __proto__: null,
12
+ ADDRESS_INCOMPLETE: Vn,
13
+ AUTHENTICATION_ERROR: Gn,
14
+ BAD_MEDIA_DESCRIPTION: Ce,
15
+ BUSY: xn,
16
+ BYE: ft,
17
+ CANCELED: St,
18
+ CONNECTION_ERROR: Fn,
19
+ DIALOG_ERROR: Kn,
20
+ EXPIRES: zn,
21
+ INCOMPATIBLE_SDP: jn,
22
+ INTERNAL_ERROR: Bn,
23
+ MISSING_SDP: qn,
24
+ NOT_FOUND: me,
25
+ NO_ACK: Jn,
26
+ NO_ANSWER: Xn,
27
+ REDIRECTED: Hn,
28
+ REJECTED: ht,
29
+ REQUEST_TIMEOUT: Et,
30
+ RTP_TIMEOUT: Zn,
31
+ SIP_FAILURE_CODE: kn,
32
+ UNAVAILABLE: Wn,
33
+ USER_DENIED_MEDIA_ACCESS: Qn,
34
+ WEBRTC_ERROR: Yn
35
+ }, Symbol.toStringTag, { value: "Module" })), gt = "incomingCall", Tt = "declinedIncomingCall", mt = "failedIncomingCall", Ct = "terminatedIncomingCall", Re = "connecting", oe = "connected", w = "disconnected", ie = "newRTCSession", H = "registered", Rt = "unregistered", W = "registrationFailed", er = "newMessage", Nt = "sipEvent", vt = "availableSecondRemoteStream", At = "notAvailableSecondRemoteStream", pt = "mustStopPresentation", ae = "shareState", bt = "enterRoom", yt = "useLicense", It = "peerconnection:confirmed", Ot = "peerconnection:ontrack", ce = "channels", Mt = "channels:notify", Pt = "ended:fromserver", Dt = "main-cam-control", wt = "admin-stop-main-cam", $t = "admin-start-main-cam", Lt = "admin-stop-mic", Ut = "admin-start-mic", ue = "admin-force-sync-media-state", Ft = "participant:added-to-list-moderators", kt = "participant:removed-from-list-moderators", Bt = "participant:move-request-to-conference", xt = "participant:move-request-to-stream", Ht = "participant:canceling-word-request", Wt = "webcast:started", Vt = "webcast:stopped", jt = "account:changed", qt = "account:deleted", Gt = "conference:participant-token-issued", V = "ended", tr = "sending", nr = "reinvite", rr = "replaces", sr = "refer", or = "progress", ir = "accepted", le = "confirmed", _e = "peerconnection", U = "failed", ar = "muted", cr = "unmuted", Yt = "newDTMF", Xt = "newInfo", ur = "hold", lr = "unhold", _r = "update", dr = "sdp", Er = "icecandidate", hr = "getusermediafailed", fr = "peerconnection:createofferfailed", Sr = "peerconnection:createanswerfailed", gr = "peerconnection:setlocaldescriptionfailed", Tr = "peerconnection:setremotedescriptionfailed", mr = "presentation:start", Cr = "presentation:started", Rr = "presentation:end", zt = "presentation:ended", de = "presentation:failed", Jt = [
36
+ gt,
37
+ Tt,
38
+ Ct,
39
+ mt,
40
+ Ht,
41
+ xt,
42
+ Bt,
43
+ Mt,
44
+ Gt,
45
+ jt,
46
+ qt,
47
+ Wt,
48
+ Vt,
49
+ Ft,
50
+ kt
51
+ ], Ne = [
52
+ Re,
53
+ oe,
54
+ w,
55
+ ie,
56
+ H,
57
+ Rt,
58
+ W,
59
+ er,
60
+ Nt
61
+ ], Kt = [
62
+ vt,
63
+ At,
64
+ pt,
65
+ ae,
66
+ bt,
67
+ yt,
68
+ It,
69
+ Ot,
70
+ ce,
71
+ Pt,
72
+ Dt,
73
+ $t,
74
+ wt,
75
+ Lt,
76
+ Ut,
77
+ ue
78
+ ], ve = [
79
+ V,
80
+ Re,
81
+ tr,
82
+ nr,
83
+ rr,
84
+ sr,
85
+ or,
86
+ ir,
87
+ le,
88
+ _e,
89
+ U,
90
+ ar,
91
+ cr,
92
+ Yt,
93
+ Xt,
94
+ ur,
95
+ lr,
96
+ _r,
97
+ dr,
98
+ Er,
99
+ hr,
100
+ fr,
101
+ Sr,
102
+ gr,
103
+ Tr,
104
+ mr,
105
+ Cr,
106
+ Rr,
107
+ zt,
108
+ de
109
+ ], Qt = [...Ne, ...Jt], Zt = [
110
+ ...ve,
111
+ ...Kt
112
+ ], Ml = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
113
+ __proto__: null,
114
+ SESSION_EVENT_NAMES: Zt,
115
+ SESSION_JSSIP_EVENT_NAMES: ve,
116
+ SESSION_SYNTHETICS_EVENT_NAMES: Kt,
117
+ UA_EVENT_NAMES: Qt,
118
+ UA_JSSIP_EVENT_NAMES: Ne,
119
+ UA_SYNTHETICS_EVENT_NAMES: Jt
120
+ }, Symbol.toStringTag, { value: "Module" })), Nr = (e) => {
121
+ const t = [];
122
+ return e && t.push(`X-Vinteo-Remote: ${e}`), t;
123
+ }, vr = "content-type", Ar = "x-webrtc-enter-room", Q = "application/vinteo.webrtc.sharedesktop", pr = "application/vinteo.webrtc.roomname", br = "application/vinteo.webrtc.channels", yr = "application/vinteo.webrtc.mediastate", Ir = "application/vinteo.webrtc.refusal", $e = "application/vinteo.webrtc.maincam", Or = "application/vinteo.webrtc.mic", Mr = "application/vinteo.webrtc.uselic", Pr = "X-WEBRTC-USE-LICENSE", Le = "X-WEBRTC-INPUT-CHANNELS", Ue = "X-WEBRTC-OUTPUT-CHANNELS", Dr = "X-WEBRTC-MAINCAM", wr = "X-WEBRTC-MIC", Fe = "X-WEBRTC-SYNC", $r = "X-WEBRTC-MAINCAM-RESOLUTION", Lr = "X-WEBRTC-MEDIA-STATE", Ur = "X-Vinteo-Media-Type", Fr = "X-Vinteo-MainCam-State", kr = "X-Vinteo-Mic-State", Br = "application/vinteo.webrtc.notify", xr = "X-VINTEO-NOTIFY", k = "x-webrtc-share-state", Hr = `${k}: LETMESTARTPRESENTATION`, Wr = `${k}: STOPPRESENTATION`, en = "YOUCANRECEIVECONTENT", tn = "CONTENTEND", Vr = "YOUMUSTSTOPSENDCONTENT", jr = `${k}: ${en}`, qr = `${k}: ${tn}`, Gr = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE", Yr = `${Gr}: LETMESTARTMAINCAM`, Ae = "sip-connector", _ = Te(Ae), Pl = () => {
124
+ Te.enable(`${Ae}`);
125
+ }, Dl = () => {
126
+ Te.enable(`-${Ae}`);
127
+ };
128
+ var M = /* @__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))(M || {}), Ee = /* @__PURE__ */ ((e) => (e.ADMIN_STOP_MIC = "ADMINSTOPMIC", e.ADMIN_START_MIC = "ADMINSTARTMIC", e))(Ee || {}), he = /* @__PURE__ */ ((e) => (e.ADMIN_SYNC_FORCED = "1", e.ADMIN_SYNC_NOT_FORCED = "0", e))(he || {}), Xr = /* @__PURE__ */ ((e) => (e.AUDIO = "AUDIO", e.VIDEO = "VIDEO", e.AUDIOPLUSPRESENTATION = "AUDIOPLUSPRESENTATION", e))(Xr || {});
129
+ function zr(e) {
130
+ return (t) => `sip:${t}@${e}`;
131
+ }
132
+ const Jr = (e, t) => () => Math.floor(Math.random() * (t - e)) + e, ke = (e) => e.trim().replaceAll(" ", "_"), Kr = Jr(1e5, 99999999), Z = (e, {
133
+ videoMode: t,
134
+ audioMode: n
135
+ } = {}) => {
136
+ if (!e || t === "recvonly" && n === "recvonly")
137
+ return;
138
+ const r = n === "recvonly" ? [] : e.getAudioTracks(), s = t === "recvonly" ? [] : e.getVideoTracks(), o = [...r, ...s], i = new MediaStream(o);
139
+ return i.getTracks = () => [...i.getAudioTracks(), ...i.getVideoTracks()], i;
140
+ }, Qr = (e) => e.some((n) => {
141
+ const { kind: r } = n;
142
+ return r === "video";
143
+ }), Zr = "Error decline with 603", es = (e) => e.message === Zr, ts = (e, t) => e.find((n) => n.track && t.getTracks().includes(n.track)), nn = 1, rn = (e) => (t, n) => n !== void 0 && t !== n || n === void 0 && t !== e, ns = rn(
144
+ nn
145
+ ), rs = (e, t) => {
146
+ const n = e === void 0 ? void 0 : Math.max(e, nn);
147
+ if (n !== void 0 && ns(
148
+ n,
149
+ t
150
+ ))
151
+ return n;
152
+ }, ss = rn(), os = (e, t) => {
153
+ if (ss(e, t))
154
+ return e;
155
+ }, sn = async (e, t, n) => {
156
+ const r = e.getParameters();
157
+ (r.encodings === void 0 || r.encodings.length === 0) && (r.encodings = [{}]);
158
+ const [s] = r.encodings, o = s.scaleResolutionDownBy, i = rs(
159
+ t.scaleResolutionDownBy,
160
+ o
161
+ );
162
+ let a = !1;
163
+ i !== void 0 && (r.encodings[0].scaleResolutionDownBy = i, a = !0);
164
+ const u = s.maxBitrate, l = os(t.maxBitrate, u);
165
+ return l !== void 0 && (r.encodings[0].maxBitrate = l, a = !0), a ? (n && n(r), e.setParameters(r).then(() => ({ parameters: r, isChanged: a }))) : { parameters: r, isChanged: a };
166
+ }, is = async (e, t, n) => {
167
+ const r = ts(e, t);
168
+ if (r)
169
+ return sn(r, { maxBitrate: n });
170
+ }, as = 486, cs = 487, fe = "local", Be = "remote", wl = (e = new Error()) => {
171
+ const { originator: t, cause: n } = e;
172
+ return dt(e) ? !0 : typeof n == "string" ? n === Et || n === ht || t === fe && (n === St || n === ft) : !1;
173
+ }, D = "SipConnector", us = "channels", ls = "WebcastStarted", _s = "WebcastStopped", ds = "accountChanged", Es = "accountDeleted", hs = "addedToListModerators", fs = "removedFromListModerators", Ss = "WebcastParticipationAccepted", gs = "WebcastParticipationRejected", Ts = "ParticipantMovedToWebcast", ms = "ConferenceParticipantTokenIssued";
174
+ class $l {
175
+ constructor({ JsSIP: t }) {
176
+ c(this, "_isRegisterConfig", !1);
177
+ c(this, "_connectionConfiguration", {});
178
+ c(this, "_remoteStreams", {});
179
+ c(this, "JsSIP");
180
+ c(this, "_sessionEvents");
181
+ c(this, "_uaEvents");
182
+ c(this, "_cancelableConnect");
183
+ c(this, "_cancelableCreateUa");
184
+ c(this, "_cancelableDisconnect");
185
+ c(this, "_cancelableSet");
186
+ c(this, "_cancelableCall");
187
+ c(this, "_cancelableAnswer");
188
+ c(this, "_cancelableSendDTMF");
189
+ c(this, "getSipServerUrl", (t) => t);
190
+ c(this, "promisePendingStartPresentation");
191
+ c(this, "promisePendingStopPresentation");
192
+ c(this, "ua");
193
+ c(this, "session");
194
+ c(this, "incomingSession");
195
+ c(this, "_streamPresentationCurrent");
196
+ c(this, "socket");
197
+ c(this, "connect", async (t) => (this._cancelRequests(), this._cancelableConnect.request(t)));
198
+ c(this, "createUa", async (t) => this._cancelableCreateUa.request(t));
199
+ c(this, "set", async (t) => this._cancelableSet.request(t));
200
+ c(this, "call", async (t) => this._cancelableCall.request(t));
201
+ c(this, "disconnect", async () => (this._cancelRequests(), this._disconnectWithoutCancelRequests()));
202
+ c(this, "answerToIncomingCall", async (t) => this._cancelableAnswer.request(t));
203
+ c(this, "sendDTMF", async (t) => this._cancelableSendDTMF.request(t));
204
+ c(this, "hangUp", async () => (this._cancelRequests(), this._hangUpWithoutCancelRequests()));
205
+ c(this, "tryRegister", async () => {
206
+ if (!this.isRegisterConfig)
207
+ throw new Error("Config is not registered");
208
+ this._uaEvents.trigger(Re, void 0);
209
+ try {
210
+ await this.unregister();
211
+ } catch (t) {
212
+ _("tryRegister", t);
213
+ }
214
+ return this.register();
215
+ });
216
+ c(this, "declineToIncomingCall", async ({ statusCode: t = cs } = {}) => new Promise((n, r) => {
217
+ if (!this.isAvailableIncomingCall) {
218
+ r(new Error("no incomingSession"));
219
+ return;
220
+ }
221
+ const s = this.incomingSession, o = this.remoteCallerData;
222
+ this._cancelableCall.cancelRequest(), this._cancelableAnswer.cancelRequest(), this.removeIncomingSession(), this._uaEvents.trigger(Tt, o), n(s.terminate({ status_code: t }));
223
+ }));
224
+ c(this, "busyIncomingCall", async () => this.declineToIncomingCall({ statusCode: as }));
225
+ c(this, "removeIncomingSession", () => {
226
+ delete this.incomingSession;
227
+ });
228
+ c(this, "handleNewRTCSession", ({ originator: t, session: n }) => {
229
+ if (t === Be) {
230
+ this.incomingSession = n;
231
+ const r = this.remoteCallerData;
232
+ n.on(U, (s) => {
233
+ this.removeIncomingSession(), s.originator === fe ? this._uaEvents.trigger(Ct, r) : this._uaEvents.trigger(mt, r);
234
+ }), this._uaEvents.trigger(gt, r);
235
+ }
236
+ });
237
+ c(this, "_connect", async (t) => this.createUa(t).then(async () => this._start()));
238
+ c(this, "_createUa", async ({
239
+ displayName: t = "",
240
+ user: n,
241
+ password: r,
242
+ register: s = !1,
243
+ sipServerUrl: o,
244
+ sipWebSocketServerURL: i,
245
+ remoteAddress: a,
246
+ extraHeaders: u = [],
247
+ sdpSemantics: l = "plan-b",
248
+ sessionTimers: d = !1,
249
+ registerExpires: E = 60 * 5,
250
+ // 5 minutes in sec
251
+ connectionRecoveryMinInterval: h = 2,
252
+ connectionRecoveryMaxInterval: S = 6,
253
+ userAgent: g
254
+ }) => {
255
+ if (!o)
256
+ throw new Error("sipServerUrl is required");
257
+ if (!i)
258
+ throw new Error("sipWebSocketServerURL is required");
259
+ if (s && !n)
260
+ throw new Error("user is required for authorized connection");
261
+ if (s && !r)
262
+ throw new Error("password is required for authorized connection");
263
+ this._connectionConfiguration = {
264
+ sipServerUrl: o,
265
+ displayName: t,
266
+ register: s,
267
+ user: n,
268
+ password: r
269
+ }, this._init({ sipServerUrl: o, sipWebSocketServerURL: i });
270
+ const m = s && n ? n.trim() : `${Kr()}`, C = {
271
+ password: r,
272
+ register: s,
273
+ display_name: ke(t),
274
+ user_agent: g,
275
+ sdp_semantics: l,
276
+ sockets: [this.socket],
277
+ uri: this.getSipServerUrl(m),
278
+ session_timers: d,
279
+ register_expires: E,
280
+ connection_recovery_min_interval: h,
281
+ connection_recovery_max_interval: S
282
+ };
283
+ this.ua && await this._disconnectWithoutCancelRequests(), this._isRegisterConfig = !!C.register, this.ua = new this.JsSIP.UA(C), this._uaEvents.eachTriggers((N, v) => {
284
+ const y = Ne.find((f) => f === v);
285
+ y && this.ua && this.ua.on(y, N);
286
+ });
287
+ const b = [...Nr(a), ...u];
288
+ return this.ua.registrator().setExtraHeaders(b), this.ua;
289
+ });
290
+ c(this, "_start", async () => new Promise((t, n) => {
291
+ const { ua: r } = this;
292
+ if (!r) {
293
+ n(new Error("this.ua is not initialized"));
294
+ return;
295
+ }
296
+ const s = () => {
297
+ a(), t(r);
298
+ }, o = (u) => {
299
+ a(), n(u);
300
+ }, i = () => {
301
+ this.isRegisterConfig ? (this.on(H, s), this.on(W, o)) : this.on(oe, s), this.on(w, o);
302
+ }, a = () => {
303
+ this.off(H, s), this.off(W, o), this.off(oe, s), this.off(w, o);
304
+ };
305
+ i(), this.on(ie, this.handleNewRTCSession), r.start();
306
+ }));
307
+ c(this, "_set", async ({ displayName: t, password: n }) => new Promise((r, s) => {
308
+ const { ua: o } = this;
309
+ if (!o) {
310
+ s(new Error("this.ua is not initialized"));
311
+ return;
312
+ }
313
+ let i = !1, a = !1;
314
+ t !== void 0 && t !== this._connectionConfiguration.displayName && (i = o.set("display_name", ke(t)), this._connectionConfiguration.displayName = t), n !== void 0 && n !== this._connectionConfiguration.password && (a = o.set("password", n), this._connectionConfiguration.password = n);
315
+ const u = i || a;
316
+ a && this.isRegisterConfig ? this.register().then(() => {
317
+ r(u);
318
+ }).catch(s) : u ? r(u) : s(u);
319
+ }));
320
+ c(this, "_disconnectWithoutCancelRequests", async () => this._cancelableDisconnect.request());
321
+ c(this, "_disconnect", async () => {
322
+ this.off(ie, this.handleNewRTCSession);
323
+ const t = new Promise((n) => {
324
+ this.once(w, () => {
325
+ delete this.ua, n();
326
+ });
327
+ });
328
+ return this.ua ? (await this._hangUpWithoutCancelRequests(), this.ua ? this.ua.stop() : this._uaEvents.trigger(w, void 0)) : this._uaEvents.trigger(w, void 0), t;
329
+ });
330
+ c(this, "_call", async ({
331
+ number: t,
332
+ mediaStream: n,
333
+ extraHeaders: r = [],
334
+ ontrack: s,
335
+ iceServers: o,
336
+ videoMode: i,
337
+ audioMode: a,
338
+ degradationPreference: u,
339
+ offerToReceiveAudio: l = !0,
340
+ offerToReceiveVideo: d = !0
341
+ }) => new Promise((E, h) => {
342
+ const { ua: S } = this;
343
+ if (!S) {
344
+ h(new Error("this.ua is not initialized"));
345
+ return;
346
+ }
347
+ this._connectionConfiguration.number = t, this._connectionConfiguration.answer = !1, this._handleCall({ ontrack: s }).then(E).catch(h), this.session = S.call(this.getSipServerUrl(t), {
348
+ extraHeaders: r,
349
+ mediaStream: Z(n, {
350
+ videoMode: i,
351
+ audioMode: a
352
+ }),
353
+ eventHandlers: this._sessionEvents.triggers,
354
+ videoMode: i,
355
+ audioMode: a,
356
+ degradationPreference: u,
357
+ pcConfig: {
358
+ iceServers: o
359
+ },
360
+ rtcOfferConstraints: {
361
+ offerToReceiveAudio: l,
362
+ offerToReceiveVideo: d
363
+ }
364
+ });
365
+ }));
366
+ c(this, "_answer", async ({
367
+ mediaStream: t,
368
+ ontrack: n,
369
+ extraHeaders: r = [],
370
+ iceServers: s,
371
+ videoMode: o,
372
+ audioMode: i,
373
+ degradationPreference: a
374
+ }) => new Promise((u, l) => {
375
+ if (!this.isAvailableIncomingCall) {
376
+ l(new Error("no incomingSession"));
377
+ return;
378
+ }
379
+ this.session = this.incomingSession, this.removeIncomingSession();
380
+ const { session: d } = this;
381
+ if (!d) {
382
+ l(new Error("No session established"));
383
+ return;
384
+ }
385
+ this._sessionEvents.eachTriggers((h, S) => {
386
+ const g = ve.find((m) => m === S);
387
+ g && d.on(g, h);
388
+ }), this._connectionConfiguration.answer = !0, this._connectionConfiguration.number = d.remote_identity.uri.user, this._handleCall({ ontrack: n }).then(u).catch(l);
389
+ const E = Z(t, {
390
+ videoMode: o,
391
+ audioMode: i
392
+ });
393
+ d.answer({
394
+ extraHeaders: r,
395
+ videoMode: o,
396
+ audioMode: i,
397
+ degradationPreference: a,
398
+ mediaStream: E,
399
+ pcConfig: {
400
+ iceServers: s
401
+ }
402
+ });
403
+ }));
404
+ c(this, "_handleCall", async ({ ontrack: t }) => new Promise((n, r) => {
405
+ const s = () => {
406
+ this.onSession(_e, d), this.onSession(le, E);
407
+ }, o = () => {
408
+ this.offSession(_e, d), this.offSession(le, E);
409
+ }, i = () => {
410
+ this.onSession(U, u), this.onSession(V, u);
411
+ }, a = () => {
412
+ this.offSession(U, u), this.offSession(V, u);
413
+ }, u = (h) => {
414
+ o(), a(), r(h);
415
+ };
416
+ let l;
417
+ const d = ({ peerconnection: h }) => {
418
+ l = h, l.ontrack = (S) => {
419
+ this._sessionEvents.trigger(Ot, l), t && t(S);
420
+ };
421
+ }, E = () => {
422
+ l && this._sessionEvents.trigger(It, l), o(), a(), n(l);
423
+ };
424
+ s(), i();
425
+ }));
426
+ c(this, "_restoreSession", () => {
427
+ this._resetPresentation(), delete this._connectionConfiguration.number, delete this.session, this._remoteStreams = {};
428
+ });
429
+ c(this, "_sendDTMF", async (t) => new Promise((n, r) => {
430
+ const { session: s } = this;
431
+ if (!s) {
432
+ r(new Error("No session established"));
433
+ return;
434
+ }
435
+ this.onceSession(Yt, ({ originator: o }) => {
436
+ o === fe && n();
437
+ }), s.sendDTMF(t, {
438
+ duration: 120,
439
+ interToneGap: 600
440
+ });
441
+ }));
442
+ c(this, "_hangUpWithoutCancelRequests", async () => {
443
+ if (this.ua && this.session) {
444
+ const { session: t } = this;
445
+ this._streamPresentationCurrent && await this.stopPresentation(), this._restoreSession(), t.isEnded() || t.terminate();
446
+ }
447
+ });
448
+ c(this, "_handleShareState", (t) => {
449
+ switch (t) {
450
+ case en: {
451
+ this._sessionEvents.trigger(vt, void 0);
452
+ break;
453
+ }
454
+ case tn: {
455
+ this._sessionEvents.trigger(At, void 0);
456
+ break;
457
+ }
458
+ case Vr: {
459
+ this._sessionEvents.trigger(pt, void 0);
460
+ break;
461
+ }
462
+ }
463
+ });
464
+ c(this, "_maybeTriggerChannels", (t) => {
465
+ const n = t.getHeader(Le), r = t.getHeader(Ue);
466
+ if (n && r) {
467
+ const s = {
468
+ inputChannels: n,
469
+ outputChannels: r
470
+ };
471
+ this._sessionEvents.trigger(ce, s);
472
+ }
473
+ });
474
+ c(this, "_handleNotify", (t) => {
475
+ switch (t.cmd) {
476
+ case us: {
477
+ const n = t;
478
+ this._triggerChannelsNotify(n);
479
+ break;
480
+ }
481
+ case ls: {
482
+ const n = t;
483
+ this._triggerWebcastStartedNotify(n);
484
+ break;
485
+ }
486
+ case _s: {
487
+ const n = t;
488
+ this._triggerWebcastStoppedNotify(n);
489
+ break;
490
+ }
491
+ case hs: {
492
+ const n = t;
493
+ this._triggerAddedToListModeratorsNotify(n);
494
+ break;
495
+ }
496
+ case fs: {
497
+ const n = t;
498
+ this._triggerRemovedFromListModeratorsNotify(n);
499
+ break;
500
+ }
501
+ case Ss: {
502
+ const n = t;
503
+ this._triggerParticipantMoveRequestToConference(n);
504
+ break;
505
+ }
506
+ case gs: {
507
+ const n = t;
508
+ this._triggerParticipantCancelingWordRequest(n);
509
+ break;
510
+ }
511
+ case Ts: {
512
+ const n = t;
513
+ this._triggerParticipantMoveRequestToStream(n);
514
+ break;
515
+ }
516
+ case ds: {
517
+ this._triggerAccountChangedNotify();
518
+ break;
519
+ }
520
+ case Es: {
521
+ this._triggerAccountDeletedNotify();
522
+ break;
523
+ }
524
+ case ms: {
525
+ const n = t;
526
+ this._triggerConferenceParticipantTokenIssued(n);
527
+ break;
528
+ }
529
+ default:
530
+ _("unknown cmd", t.cmd);
531
+ }
532
+ });
533
+ c(this, "_triggerRemovedFromListModeratorsNotify", ({
534
+ conference: t
535
+ }) => {
536
+ const n = {
537
+ conference: t
538
+ };
539
+ this._uaEvents.trigger(
540
+ kt,
541
+ n
542
+ );
543
+ });
544
+ c(this, "_triggerAddedToListModeratorsNotify", ({ conference: t }) => {
545
+ const n = {
546
+ conference: t
547
+ };
548
+ this._uaEvents.trigger(Ft, n);
549
+ });
550
+ c(this, "_triggerWebcastStartedNotify", ({ body: { conference: t, type: n } }) => {
551
+ const r = {
552
+ conference: t,
553
+ type: n
554
+ };
555
+ this._uaEvents.trigger(Wt, r);
556
+ });
557
+ c(this, "_triggerWebcastStoppedNotify", ({ body: { conference: t, type: n } }) => {
558
+ const r = {
559
+ conference: t,
560
+ type: n
561
+ };
562
+ this._uaEvents.trigger(Vt, r);
563
+ });
564
+ c(this, "_triggerAccountChangedNotify", () => {
565
+ this._uaEvents.trigger(jt, void 0);
566
+ });
567
+ c(this, "_triggerAccountDeletedNotify", () => {
568
+ this._uaEvents.trigger(qt, void 0);
569
+ });
570
+ c(this, "_triggerConferenceParticipantTokenIssued", ({
571
+ body: { conference: t, participant: n, jwt: r }
572
+ }) => {
573
+ const s = {
574
+ conference: t,
575
+ participant: n,
576
+ jwt: r
577
+ };
578
+ this._uaEvents.trigger(
579
+ Gt,
580
+ s
581
+ );
582
+ });
583
+ c(this, "_triggerChannelsNotify", (t) => {
584
+ const n = t.input, r = t.output, s = {
585
+ inputChannels: n,
586
+ outputChannels: r
587
+ };
588
+ this._uaEvents.trigger(Mt, s);
589
+ });
590
+ c(this, "_triggerParticipantMoveRequestToConference", ({
591
+ body: { conference: t }
592
+ }) => {
593
+ const n = {
594
+ conference: t
595
+ };
596
+ this._uaEvents.trigger(Bt, n);
597
+ });
598
+ c(this, "_triggerParticipantCancelingWordRequest", ({
599
+ body: { conference: t }
600
+ }) => {
601
+ const n = {
602
+ conference: t
603
+ };
604
+ this._uaEvents.trigger(Ht, n);
605
+ });
606
+ c(this, "_triggerParticipantMoveRequestToStream", ({
607
+ body: { conference: t }
608
+ }) => {
609
+ const n = {
610
+ conference: t
611
+ };
612
+ this._uaEvents.trigger(xt, n);
613
+ });
614
+ c(this, "_triggerEnterRoom", (t) => {
615
+ const n = t.getHeader(Ar);
616
+ this._sessionEvents.trigger(bt, n);
617
+ });
618
+ c(this, "_triggerShareState", (t) => {
619
+ const n = t.getHeader(k);
620
+ this._sessionEvents.trigger(ae, n);
621
+ });
622
+ c(this, "_triggerMainCamControl", (t) => {
623
+ const n = t.getHeader(Dr), r = t.getHeader(Fe), s = r === he.ADMIN_SYNC_FORCED;
624
+ if (n === M.ADMIN_START_MAIN_CAM)
625
+ this._sessionEvents.trigger($t, { isSyncForced: s });
626
+ else if (n === M.ADMIN_STOP_MAIN_CAM)
627
+ this._sessionEvents.trigger(wt, { isSyncForced: s });
628
+ else if ((n === M.RESUME_MAIN_CAM || n === M.PAUSE_MAIN_CAM) && r)
629
+ this._sessionEvents.trigger(ue, { isSyncForced: s });
630
+ else {
631
+ const o = t.getHeader($r);
632
+ this._sessionEvents.trigger(Dt, {
633
+ mainCam: n,
634
+ resolutionMainCam: o
635
+ });
636
+ }
637
+ });
638
+ c(this, "_triggerMicControl", (t) => {
639
+ const n = t.getHeader(wr), s = t.getHeader(Fe) === he.ADMIN_SYNC_FORCED;
640
+ n === Ee.ADMIN_START_MIC ? this._sessionEvents.trigger(Ut, { isSyncForced: s }) : n === Ee.ADMIN_STOP_MIC && this._sessionEvents.trigger(Lt, { isSyncForced: s });
641
+ });
642
+ c(this, "_triggerUseLicense", (t) => {
643
+ const n = t.getHeader(Pr);
644
+ this._sessionEvents.trigger(yt, n);
645
+ });
646
+ c(this, "_handleNewInfo", (t) => {
647
+ const { originator: n } = t;
648
+ if (n !== "remote")
649
+ return;
650
+ const { request: r } = t, s = r.getHeader(vr);
651
+ if (s)
652
+ switch (s) {
653
+ case pr: {
654
+ this._triggerEnterRoom(r), this._maybeTriggerChannels(r);
655
+ break;
656
+ }
657
+ case Br: {
658
+ this._maybeHandleNotify(r);
659
+ break;
660
+ }
661
+ case Q: {
662
+ this._triggerShareState(r);
663
+ break;
664
+ }
665
+ case $e: {
666
+ this._triggerMainCamControl(r);
667
+ break;
668
+ }
669
+ case Or: {
670
+ this._triggerMicControl(r);
671
+ break;
672
+ }
673
+ case Mr: {
674
+ this._triggerUseLicense(r);
675
+ break;
676
+ }
677
+ }
678
+ });
679
+ c(this, "_handleSipEvent", ({ request: t }) => {
680
+ this._maybeHandleNotify(t);
681
+ });
682
+ c(this, "_maybeHandleNotify", (t) => {
683
+ const n = t.getHeader(xr);
684
+ if (n) {
685
+ const r = JSON.parse(n);
686
+ this._handleNotify(r);
687
+ }
688
+ });
689
+ c(this, "_handleEnded", (t) => {
690
+ const { originator: n } = t;
691
+ n === Be && this._sessionEvents.trigger(Pt, t), this._restoreSession();
692
+ });
693
+ this.JsSIP = t, this._sessionEvents = new we(Zt), this._uaEvents = new we(Qt), this._cancelableConnect = new P(
694
+ this._connect,
695
+ {
696
+ moduleName: D,
697
+ afterCancelRequest: () => {
698
+ this._cancelableCreateUa.cancelRequest(), this._cancelableDisconnect.cancelRequest();
699
+ }
700
+ }
701
+ ), this._cancelableCreateUa = new P(this._createUa, { moduleName: D }), this._cancelableDisconnect = new P(
702
+ this._disconnect,
703
+ { moduleName: D }
704
+ ), this._cancelableSet = new P(this._set, {
705
+ moduleName: D
706
+ }), this._cancelableCall = new P(
707
+ this._call,
708
+ { moduleName: D }
709
+ ), this._cancelableAnswer = new P(this._answer, { moduleName: D }), this._cancelableSendDTMF = new P(this._sendDTMF, { moduleName: D }), this.onSession(ae, this._handleShareState), this.onSession(Xt, this._handleNewInfo), this.on(Nt, this._handleSipEvent), this.onSession(U, this._handleEnded), this.onSession(V, this._handleEnded);
710
+ }
711
+ async register() {
712
+ return new Promise((t, n) => {
713
+ this.isRegisterConfig && this.ua ? (this.ua.on(H, t), this.ua.on(W, n), this.ua.register()) : n(new Error("Config is not registered"));
714
+ });
715
+ }
716
+ async unregister() {
717
+ return new Promise((t, n) => {
718
+ this.isRegistered && this.ua ? (this.ua.on(Rt, t), this.ua.unregister()) : n(new Error("ua is not registered"));
719
+ });
720
+ }
721
+ async sendOptions(t, n, r) {
722
+ if (!this.ua)
723
+ throw new Error("is not connected");
724
+ return new Promise((s, o) => {
725
+ try {
726
+ this.ua.sendOptions(t, n, {
727
+ extraHeaders: r,
728
+ eventHandlers: {
729
+ succeeded: () => {
730
+ s();
731
+ },
732
+ failed: o
733
+ }
734
+ });
735
+ } catch (i) {
736
+ o(i);
737
+ }
738
+ });
739
+ }
740
+ async ping(t, n) {
741
+ var s;
742
+ if (!((s = this.ua) != null && s.configuration.uri))
743
+ throw new Error("is not connected");
744
+ const r = this.ua.configuration.uri;
745
+ return this.sendOptions(r, t, n);
746
+ }
747
+ async replaceMediaStream(t, n) {
748
+ if (!this.session)
749
+ throw new Error("No session established");
750
+ return this.session.replaceMediaStream(t, n);
751
+ }
752
+ async askPermissionToEnableCam(t = {}) {
753
+ if (!this.session)
754
+ throw new Error("No session established");
755
+ const n = [Yr];
756
+ return this.session.sendInfo($e, void 0, {
757
+ noTerminateWhenError: !0,
758
+ ...t,
759
+ extraHeaders: n
760
+ }).catch((r) => {
761
+ if (es(r))
762
+ throw r;
763
+ });
764
+ }
765
+ get isPendingPresentation() {
766
+ return !!this.promisePendingStartPresentation || !!this.promisePendingStopPresentation;
767
+ }
768
+ async _sendPresentation(t, n, {
769
+ maxBitrate: r,
770
+ degradationPreference: s,
771
+ isNeedReinvite: o = !0,
772
+ isP2P: i = !1
773
+ }) {
774
+ const a = Z(n);
775
+ this._streamPresentationCurrent = a;
776
+ const u = i ? [jr] : [Hr], l = t.sendInfo(Q, void 0, {
777
+ extraHeaders: u
778
+ }).then(async () => t.startPresentation(
779
+ a,
780
+ o,
781
+ s
782
+ )).then(async () => {
783
+ const { connection: d } = this;
784
+ if (!d || r === void 0)
785
+ return;
786
+ const E = d.getSenders();
787
+ return is(E, n, r);
788
+ }).then(() => n).catch((d) => {
789
+ throw this._sessionEvents.trigger(de, d), d;
790
+ });
791
+ return this.promisePendingStartPresentation = l, l.finally(() => {
792
+ this.promisePendingStartPresentation = void 0;
793
+ });
794
+ }
795
+ async startPresentation(t, {
796
+ isNeedReinvite: n = !0,
797
+ isP2P: r = !1,
798
+ maxBitrate: s,
799
+ degradationPreference: o
800
+ } = {}) {
801
+ const i = this.establishedSession;
802
+ if (!i)
803
+ throw new Error("No session established");
804
+ if (this._streamPresentationCurrent)
805
+ throw new Error("Presentation is already started");
806
+ return this._sendPresentation(i, t, {
807
+ isNeedReinvite: n,
808
+ isP2P: r,
809
+ maxBitrate: s,
810
+ degradationPreference: o
811
+ });
812
+ }
813
+ async stopPresentation({
814
+ isP2P: t = !1
815
+ } = {}) {
816
+ const n = this._streamPresentationCurrent;
817
+ let r = this.promisePendingStartPresentation ?? Promise.resolve();
818
+ const s = t ? [qr] : [Wr], o = this.establishedSession;
819
+ return o && n && (r = r.then(async () => o.sendInfo(Q, void 0, {
820
+ extraHeaders: s
821
+ })).then(async () => o.stopPresentation(n)).catch((i) => {
822
+ throw this._sessionEvents.trigger(de, i), i;
823
+ })), !o && n && this._sessionEvents.trigger(zt, n), this.promisePendingStopPresentation = r, r.finally(() => {
824
+ this._resetPresentation();
825
+ });
826
+ }
827
+ async updatePresentation(t, {
828
+ isP2P: n = !1,
829
+ maxBitrate: r,
830
+ degradationPreference: s
831
+ } = {}) {
832
+ const o = this.establishedSession;
833
+ if (!o)
834
+ throw new Error("No session established");
835
+ if (!this._streamPresentationCurrent)
836
+ throw new Error("Presentation has not started yet");
837
+ return this.promisePendingStartPresentation && await this.promisePendingStartPresentation, this._sendPresentation(o, t, {
838
+ isP2P: n,
839
+ maxBitrate: r,
840
+ degradationPreference: s,
841
+ isNeedReinvite: !1
842
+ });
843
+ }
844
+ _resetPresentation() {
845
+ delete this._streamPresentationCurrent, this.promisePendingStartPresentation = void 0, this.promisePendingStopPresentation = void 0;
846
+ }
847
+ on(t, n) {
848
+ return this._uaEvents.on(t, n);
849
+ }
850
+ once(t, n) {
851
+ return this._uaEvents.once(t, n);
852
+ }
853
+ onceRace(t, n) {
854
+ return this._uaEvents.onceRace(t, n);
855
+ }
856
+ async wait(t) {
857
+ return this._uaEvents.wait(t);
858
+ }
859
+ off(t, n) {
860
+ this._uaEvents.off(t, n);
861
+ }
862
+ onSession(t, n) {
863
+ return this._sessionEvents.on(t, n);
864
+ }
865
+ onceSession(t, n) {
866
+ return this._sessionEvents.once(t, n);
867
+ }
868
+ onceRaceSession(t, n) {
869
+ return this._sessionEvents.onceRace(t, n);
870
+ }
871
+ async waitSession(t) {
872
+ return this._sessionEvents.wait(t);
873
+ }
874
+ offSession(t, n) {
875
+ this._sessionEvents.off(t, n);
876
+ }
877
+ isConfigured() {
878
+ return !!this.ua;
879
+ }
880
+ getConnectionConfiguration() {
881
+ return { ...this._connectionConfiguration };
882
+ }
883
+ getRemoteStreams() {
884
+ if (!this.connection)
885
+ return;
886
+ const n = this.connection.getReceivers().map(({ track: r }) => r);
887
+ return Qr(n) ? this._generateStreams(n) : this._generateAudioStreams(n);
888
+ }
889
+ get connection() {
890
+ var n;
891
+ return (n = this.session) == null ? void 0 : n.connection;
892
+ }
893
+ get remoteCallerData() {
894
+ var t, n, r, s, o, i;
895
+ return {
896
+ displayName: (n = (t = this.incomingSession) == null ? void 0 : t.remote_identity) == null ? void 0 : n.display_name,
897
+ host: (s = (r = this.incomingSession) == null ? void 0 : r.remote_identity) == null ? void 0 : s.uri.host,
898
+ incomingNumber: (i = (o = this.incomingSession) == null ? void 0 : o.remote_identity) == null ? void 0 : i.uri.user,
899
+ session: this.incomingSession
900
+ };
901
+ }
902
+ get requested() {
903
+ return this._cancelableConnect.requested || this._cancelableCreateUa.requested || this._cancelableCall.requested || this._cancelableAnswer.requested;
904
+ }
905
+ get establishedSession() {
906
+ return this.session && this.session.isEstablished() ? this.session : void 0;
907
+ }
908
+ get isRegistered() {
909
+ return !!this.ua && this.ua.isRegistered();
910
+ }
911
+ get isRegisterConfig() {
912
+ return !!this.ua && this._isRegisterConfig;
913
+ }
914
+ get isCallActive() {
915
+ return !!(this.ua && this.session);
916
+ }
917
+ get isAvailableIncomingCall() {
918
+ return !!this.incomingSession;
919
+ }
920
+ _init({
921
+ sipServerUrl: t,
922
+ sipWebSocketServerURL: n
923
+ }) {
924
+ this.getSipServerUrl = zr(t), this.socket = new this.JsSIP.WebSocketInterface(n);
925
+ }
926
+ _generateStream(t, n) {
927
+ const { id: r } = t, s = this._remoteStreams[r] || new MediaStream();
928
+ return n && s.addTrack(n), s.addTrack(t), this._remoteStreams[r] = s, s;
929
+ }
930
+ _generateAudioStream(t) {
931
+ const { id: n } = t, r = this._remoteStreams[n] || new MediaStream();
932
+ return r.addTrack(t), this._remoteStreams[n] = r, r;
933
+ }
934
+ _generateStreams(t) {
935
+ const n = [];
936
+ return t.forEach((r, s) => {
937
+ if (r.kind === "audio")
938
+ return;
939
+ const o = r, i = t[s - 1];
940
+ let a;
941
+ i && i.kind === "audio" && (a = i);
942
+ const u = this._generateStream(o, a);
943
+ n.push(u);
944
+ }), n;
945
+ }
946
+ _generateAudioStreams(t) {
947
+ return t.map((r) => this._generateAudioStream(r));
948
+ }
949
+ _cancelRequests() {
950
+ this._cancelActionsRequests(), this._cancelCallRequests(), this._cancelConnectRequests();
951
+ }
952
+ _cancelConnectRequests() {
953
+ this._cancelableConnect.cancelRequest();
954
+ }
955
+ _cancelCallRequests() {
956
+ this._cancelableCall.cancelRequest(), this._cancelableAnswer.cancelRequest();
957
+ }
958
+ _cancelActionsRequests() {
959
+ this._cancelableAnswer.cancelRequest(), this._cancelableSendDTMF.cancelRequest();
960
+ }
961
+ async waitChannels() {
962
+ return this.waitSession(ce);
963
+ }
964
+ async waitSyncMediaState() {
965
+ return this.waitSession(ue);
966
+ }
967
+ async sendChannels({ inputChannels: t, outputChannels: n }) {
968
+ if (!this.session)
969
+ throw new Error("No session established");
970
+ const r = `${Le}: ${t}`, s = `${Ue}: ${n}`, o = [
971
+ r,
972
+ s
973
+ ];
974
+ return this.session.sendInfo(br, void 0, { extraHeaders: o });
975
+ }
976
+ async sendMediaState({ cam: t, mic: n }, r = {}) {
977
+ if (!this.session)
978
+ throw new Error("No session established");
979
+ const s = `${Lr}: currentstate`, o = `${Fr}: ${Number(t)}`, i = `${kr}: ${Number(n)}`, a = [
980
+ s,
981
+ o,
982
+ i
983
+ ];
984
+ return this.session.sendInfo(yr, void 0, {
985
+ noTerminateWhenError: !0,
986
+ ...r,
987
+ extraHeaders: a
988
+ });
989
+ }
990
+ async _sendRefusalToTurnOn(t, n = {}) {
991
+ if (!this.session)
992
+ throw new Error("No session established");
993
+ const a = [`${Ur}: ${t === "mic" ? 0 : 1}`];
994
+ return this.session.sendInfo(Ir, void 0, {
995
+ noTerminateWhenError: !0,
996
+ ...n,
997
+ extraHeaders: a
998
+ });
999
+ }
1000
+ async sendRefusalToTurnOnMic(t = {}) {
1001
+ if (!this.session)
1002
+ throw new Error("No session established");
1003
+ return this._sendRefusalToTurnOn("mic", { noTerminateWhenError: !0, ...t });
1004
+ }
1005
+ async sendRefusalToTurnOnCam(t = {}) {
1006
+ if (!this.session)
1007
+ throw new Error("No session established");
1008
+ return this._sendRefusalToTurnOn("cam", { noTerminateWhenError: !0, ...t });
1009
+ }
1010
+ }
1011
+ const on = "purgatory", F = (e) => e === on, pe = (e) => () => (_("getRemoteStreams"), e.getRemoteStreams()), Cs = ({ kind: e, readyState: t }) => e === "video" && t === "live", an = (e) => ({ track: t }) => {
1012
+ Cs(t) && e();
1013
+ };
1014
+ var x = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
1015
+ function be(e) {
1016
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
1017
+ }
1018
+ function Rs(e) {
1019
+ var t = typeof e;
1020
+ return e != null && (t == "object" || t == "function");
1021
+ }
1022
+ var $ = Rs, Ns = typeof x == "object" && x && x.Object === Object && x, cn = Ns, vs = cn, As = typeof self == "object" && self && self.Object === Object && self, ps = vs || As || Function("return this")(), X = ps, bs = X, ys = function() {
1023
+ return bs.Date.now();
1024
+ }, Is = ys, Os = /\s/;
1025
+ function Ms(e) {
1026
+ for (var t = e.length; t-- && Os.test(e.charAt(t)); )
1027
+ ;
1028
+ return t;
1029
+ }
1030
+ var Ps = Ms, Ds = Ps, ws = /^\s+/;
1031
+ function $s(e) {
1032
+ return e && e.slice(0, Ds(e) + 1).replace(ws, "");
1033
+ }
1034
+ var Ls = $s, Us = X, Fs = Us.Symbol, z = Fs, xe = z, un = Object.prototype, ks = un.hasOwnProperty, Bs = un.toString, L = xe ? xe.toStringTag : void 0;
1035
+ function xs(e) {
1036
+ var t = ks.call(e, L), n = e[L];
1037
+ try {
1038
+ e[L] = void 0;
1039
+ var r = !0;
1040
+ } catch {
1041
+ }
1042
+ var s = Bs.call(e);
1043
+ return r && (t ? e[L] = n : delete e[L]), s;
1044
+ }
1045
+ var Hs = xs, Ws = Object.prototype, Vs = Ws.toString;
1046
+ function js(e) {
1047
+ return Vs.call(e);
1048
+ }
1049
+ var qs = js, He = z, Gs = Hs, Ys = qs, Xs = "[object Null]", zs = "[object Undefined]", We = He ? He.toStringTag : void 0;
1050
+ function Js(e) {
1051
+ return e == null ? e === void 0 ? zs : Xs : We && We in Object(e) ? Gs(e) : Ys(e);
1052
+ }
1053
+ var J = Js;
1054
+ function Ks(e) {
1055
+ return e != null && typeof e == "object";
1056
+ }
1057
+ var B = Ks, Qs = J, Zs = B, eo = "[object Symbol]";
1058
+ function to(e) {
1059
+ return typeof e == "symbol" || Zs(e) && Qs(e) == eo;
1060
+ }
1061
+ var ln = to, no = Ls, Ve = $, ro = ln, je = 0 / 0, so = /^[-+]0x[0-9a-f]+$/i, oo = /^0b[01]+$/i, io = /^0o[0-7]+$/i, ao = parseInt;
1062
+ function co(e) {
1063
+ if (typeof e == "number")
1064
+ return e;
1065
+ if (ro(e))
1066
+ return je;
1067
+ if (Ve(e)) {
1068
+ var t = typeof e.valueOf == "function" ? e.valueOf() : e;
1069
+ e = Ve(t) ? t + "" : t;
1070
+ }
1071
+ if (typeof e != "string")
1072
+ return e === 0 ? e : +e;
1073
+ e = no(e);
1074
+ var n = oo.test(e);
1075
+ return n || io.test(e) ? ao(e.slice(2), n ? 2 : 8) : so.test(e) ? je : +e;
1076
+ }
1077
+ var uo = co, lo = $, ee = Is, qe = uo, _o = "Expected a function", Eo = Math.max, ho = Math.min;
1078
+ function fo(e, t, n) {
1079
+ var r, s, o, i, a, u, l = 0, d = !1, E = !1, h = !0;
1080
+ if (typeof e != "function")
1081
+ throw new TypeError(_o);
1082
+ t = qe(t) || 0, lo(n) && (d = !!n.leading, E = "maxWait" in n, o = E ? Eo(qe(n.maxWait) || 0, t) : o, h = "trailing" in n ? !!n.trailing : h);
1083
+ function S(f) {
1084
+ var R = r, p = s;
1085
+ return r = s = void 0, l = f, i = e.apply(p, R), i;
1086
+ }
1087
+ function g(f) {
1088
+ return l = f, a = setTimeout(A, t), d ? S(f) : i;
1089
+ }
1090
+ function m(f) {
1091
+ var R = f - u, p = f - l, O = t - R;
1092
+ return E ? ho(O, o - p) : O;
1093
+ }
1094
+ function C(f) {
1095
+ var R = f - u, p = f - l;
1096
+ return u === void 0 || R >= t || R < 0 || E && p >= o;
1097
+ }
1098
+ function A() {
1099
+ var f = ee();
1100
+ if (C(f))
1101
+ return b(f);
1102
+ a = setTimeout(A, m(f));
1103
+ }
1104
+ function b(f) {
1105
+ return a = void 0, h && r ? S(f) : (r = s = void 0, i);
1106
+ }
1107
+ function N() {
1108
+ a !== void 0 && clearTimeout(a), l = 0, r = u = s = a = void 0;
1109
+ }
1110
+ function v() {
1111
+ return a === void 0 ? i : b(ee());
1112
+ }
1113
+ function y() {
1114
+ var f = ee(), R = C(f);
1115
+ if (r = arguments, s = this, u = f, R) {
1116
+ if (a === void 0)
1117
+ return g(u);
1118
+ if (E)
1119
+ return clearTimeout(a), a = setTimeout(A, t), S(u);
1120
+ }
1121
+ return a === void 0 && (a = setTimeout(A, t)), i;
1122
+ }
1123
+ return y.cancel = N, y.flush = v, y;
1124
+ }
1125
+ var So = fo;
1126
+ const go = /* @__PURE__ */ be(So), ye = ({
1127
+ getRemoteStreams: e,
1128
+ setRemoteStreams: t
1129
+ }) => go(() => {
1130
+ const n = e();
1131
+ _("remoteStreams", n), n && t(n);
1132
+ }, 200), To = (e) => async (n) => {
1133
+ const {
1134
+ mediaStream: r,
1135
+ extraHeaders: s,
1136
+ iceServers: o,
1137
+ degradationPreference: i,
1138
+ setRemoteStreams: a,
1139
+ onBeforeProgressCall: u,
1140
+ onSuccessProgressCall: l,
1141
+ onEnterPurgatory: d,
1142
+ onEnterConference: E,
1143
+ onFailProgressCall: h,
1144
+ onFinishProgressCall: S,
1145
+ onEndedCall: g
1146
+ } = n, m = ye({
1147
+ setRemoteStreams: a,
1148
+ getRemoteStreams: pe(e)
1149
+ }), C = an(m);
1150
+ _("answerIncomingCall", n);
1151
+ const A = async () => e.answerToIncomingCall({
1152
+ mediaStream: r,
1153
+ extraHeaders: s,
1154
+ iceServers: o,
1155
+ degradationPreference: i,
1156
+ ontrack: C
1157
+ }), b = () => {
1158
+ const { remoteCallerData: T } = e;
1159
+ return T.incomingNumber;
1160
+ };
1161
+ let N = !1, v;
1162
+ const f = (() => (_("subscribeEnterConference: onEnterConference", E), d ?? E ? e.onSession("enterRoom", (T) => {
1163
+ _("enterRoom", { _room: T, isSuccessProgressCall: N }), v = T, F(v) ? d && d() : E && E({ isSuccessProgressCall: N });
1164
+ }) : () => {
1165
+ }))(), R = (T) => (_("onSuccess"), N = !0, m(), l && l({ isPurgatory: F(v) }), e.onceRaceSession(["ended", "failed"], () => {
1166
+ f(), g && g();
1167
+ }), T), p = (T) => {
1168
+ throw _("onFail"), h && h(), f(), T;
1169
+ }, O = () => {
1170
+ _("onFinish"), S && S();
1171
+ };
1172
+ if (_("onBeforeProgressCall"), u) {
1173
+ const T = b();
1174
+ u(T);
1175
+ }
1176
+ return A().then(R).catch(p).finally(O);
1177
+ }, mo = (e) => async (n) => {
1178
+ const {
1179
+ conference: r,
1180
+ mediaStream: s,
1181
+ extraHeaders: o,
1182
+ iceServers: i,
1183
+ degradationPreference: a,
1184
+ setRemoteStreams: u,
1185
+ onBeforeProgressCall: l,
1186
+ onSuccessProgressCall: d,
1187
+ onEnterPurgatory: E,
1188
+ onEnterConference: h,
1189
+ onFailProgressCall: S,
1190
+ onFinishProgressCall: g,
1191
+ onEndedCall: m
1192
+ } = n, C = ye({
1193
+ setRemoteStreams: u,
1194
+ getRemoteStreams: pe(e)
1195
+ }), A = an(C);
1196
+ _("callToServer", n);
1197
+ const b = async () => (_("startCall"), e.call({
1198
+ mediaStream: s,
1199
+ extraHeaders: o,
1200
+ iceServers: i,
1201
+ degradationPreference: a,
1202
+ number: r,
1203
+ ontrack: A
1204
+ }));
1205
+ let N = !1, v;
1206
+ const f = (() => (_("subscribeEnterConference: onEnterConference", h), E ?? h ? e.onSession("enterRoom", (T) => {
1207
+ _("enterRoom", { _room: T, isSuccessProgressCall: N }), v = T, F(v) ? E && E() : h && h({ isSuccessProgressCall: N });
1208
+ }) : () => {
1209
+ }))(), R = (T) => (_("onSuccess"), N = !0, C(), d && d({ isPurgatory: F(v) }), e.onceRaceSession(["ended", "failed"], () => {
1210
+ f(), m && m();
1211
+ }), T), p = (T) => {
1212
+ throw _("onFail"), S && S(), f(), T;
1213
+ }, O = () => {
1214
+ _("onFinish"), g && g();
1215
+ };
1216
+ return _("onBeforeProgressCall"), l && l(r), b().then(R).catch(p).finally(O);
1217
+ }, te = (e) => {
1218
+ if (!dt(e))
1219
+ throw e;
1220
+ return !1;
1221
+ }, Co = (e) => async (n) => {
1222
+ const {
1223
+ userAgent: r,
1224
+ sipWebSocketServerURL: s,
1225
+ sipServerUrl: o,
1226
+ remoteAddress: i,
1227
+ displayName: a,
1228
+ name: u,
1229
+ password: l,
1230
+ isRegisteredUser: d,
1231
+ sdpSemantics: E,
1232
+ isDisconnectOnFail: h
1233
+ } = n;
1234
+ return _("connectToServer", n), e.connect({
1235
+ userAgent: r,
1236
+ sdpSemantics: E,
1237
+ sipWebSocketServerURL: s,
1238
+ sipServerUrl: o,
1239
+ remoteAddress: i,
1240
+ displayName: a,
1241
+ password: l,
1242
+ user: u,
1243
+ register: d
1244
+ }).then(() => (_("connectToServer then"), !0)).catch(async (S) => (_("connectToServer catch: error", S), h === !0 ? e.disconnect().then(() => te(S)).catch(() => te(S)) : te(S)));
1245
+ }, Ro = (e) => async () => (_("disconnectFromServer"), e.disconnect().then(() => (_("disconnectFromServer: then"), !1)).catch((t) => (_("disconnectFromServer: catch", t), !1))), Ie = (e) => {
1246
+ const { url: t, cause: n } = e;
1247
+ let r = t;
1248
+ return (n === Ce || n === me) && (r = `${e.message.to.uri.user}@${e.message.to.uri.host}`), r;
1249
+ };
1250
+ var _n = /* @__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))(_n || {});
1251
+ const No = (e = new Error()) => {
1252
+ var s;
1253
+ const { cause: t, socket: n } = e;
1254
+ let r = "CONNECT_SERVER_FAILED";
1255
+ switch (t) {
1256
+ case "Forbidden": {
1257
+ r = "WRONG_USER_OR_PASSWORD";
1258
+ break;
1259
+ }
1260
+ case Ce: {
1261
+ r = "BAD_MEDIA_ERROR";
1262
+ break;
1263
+ }
1264
+ case me: {
1265
+ r = "NOT_FOUND_ERROR";
1266
+ break;
1267
+ }
1268
+ default:
1269
+ n && ((s = n == null ? void 0 : n._ws) == null ? void 0 : s.readyState) === 3 ? r = "WS_CONNECTION_FAILED" : Ie(e) && (r = "CONNECT_SERVER_FAILED_BY_LINK");
1270
+ }
1271
+ return r;
1272
+ }, vo = (e = new Error()) => {
1273
+ const { code: t, cause: n, message: r } = e, s = Ie(e), o = {};
1274
+ return r && (o.message = r), s && (o.link = s), t && (o.code = t), n && (o.cause = n), o;
1275
+ }, Ao = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1276
+ __proto__: null,
1277
+ EErrorTypes: _n,
1278
+ getLinkError: Ie,
1279
+ getTypeFromError: No,
1280
+ getValuesFromError: vo
1281
+ }, Symbol.toStringTag, { value: "Module" })), po = ({
1282
+ sessionId: e,
1283
+ remoteAddress: t,
1284
+ isMutedAudio: n,
1285
+ isMutedVideo: r,
1286
+ isRegistered: s,
1287
+ isPresentationCall: o
1288
+ }) => {
1289
+ const i = [], a = n ? "0" : "1", u = r ? "0" : "1";
1290
+ return i.push(`X-Vinteo-Mic-State: ${a}`, `X-Vinteo-MainCam-State: ${u}`), s || i.push("X-Vinteo-Purgatory-Call: yes"), e && i.push(`X-Vinteo-Session: ${e}`), o && i.push("X-Vinteo-Presentation-Call: yes"), t && i.push(`X-Vinteo-Remote: ${t}`), i;
1291
+ }, bo = ({
1292
+ appName: e,
1293
+ appVersion: t,
1294
+ browserName: n,
1295
+ browserVersion: r
1296
+ }) => {
1297
+ const s = `${e} ${t}`;
1298
+ return `ChromeNew - ${n ? `${n} ${r}, ${s}` : s}`;
1299
+ }, yo = ({
1300
+ isUnifiedSdpSemantic: e,
1301
+ appVersion: t,
1302
+ browserName: n,
1303
+ browserVersion: r,
1304
+ appName: s
1305
+ }) => e ? bo({ appVersion: t, browserName: n, browserVersion: r, appName: s }) : "Chrome", Io = (e) => async () => {
1306
+ if (e.isCallActive)
1307
+ return _("askPermissionToEnableCam"), e.askPermissionToEnableCam();
1308
+ }, Oo = (e) => (n) => (_("onMustStopPresentation"), e.onSession("mustStopPresentation", n)), Mo = (e) => (n) => (_("onUseLicense"), e.onSession("useLicense", n)), Po = (e) => async ({
1309
+ isEnabledCam: n,
1310
+ isEnabledMic: r
1311
+ }) => {
1312
+ if (e.isCallActive)
1313
+ return _("sendMediaState"), e.sendMediaState({ cam: n, mic: r });
1314
+ }, Do = (e) => async () => {
1315
+ if (e.isCallActive)
1316
+ return _("sendRefusalToTurnOnCam"), e.sendRefusalToTurnOnCam().catch((n) => {
1317
+ _("sendRefusalToTurnOnCam: error", n);
1318
+ });
1319
+ }, wo = (e) => async () => {
1320
+ if (e.isCallActive)
1321
+ return _("sendRefusalToTurnOnMic"), e.sendRefusalToTurnOnMic().catch((n) => {
1322
+ _("sendRefusalToTurnOnMic: error", n);
1323
+ });
1324
+ }, $o = 1e6, Lo = ({
1325
+ maxBitrate: e = $o,
1326
+ sipConnector: t
1327
+ }) => async ({
1328
+ mediaStream: r,
1329
+ isP2P: s = !1
1330
+ }) => (_("startPresentation"), t.startPresentation(r, {
1331
+ isP2P: s,
1332
+ maxBitrate: e
1333
+ })), Uo = ({ sipConnector: e }) => async ({ isP2P: n = !1 } = {}) => (_("stopShareSipConnector"), e.stopPresentation({
1334
+ isP2P: n
1335
+ }).catch(_)), Fo = 1e6, ko = ({
1336
+ sipConnector: e,
1337
+ maxBitrate: t = Fo
1338
+ }) => async ({
1339
+ mediaStream: r,
1340
+ isP2P: s = !1
1341
+ }) => (_("updatePresentation"), e.updatePresentation(r, {
1342
+ isP2P: s,
1343
+ maxBitrate: t
12
1344
  }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
1345
+ var Bo = $, Ge = Object.create, xo = function() {
1346
+ function e() {
1347
+ }
1348
+ return function(t) {
1349
+ if (!Bo(t))
1350
+ return {};
1351
+ if (Ge)
1352
+ return Ge(t);
1353
+ e.prototype = t;
1354
+ var n = new e();
1355
+ return e.prototype = void 0, n;
1356
+ };
1357
+ }(), dn = xo;
1358
+ function Ho() {
1359
+ }
1360
+ var Oe = Ho, Wo = dn, Vo = Oe;
1361
+ function j(e, t) {
1362
+ this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = void 0;
1363
+ }
1364
+ j.prototype = Wo(Vo.prototype);
1365
+ j.prototype.constructor = j;
1366
+ var Me = j;
1367
+ function jo(e, t) {
1368
+ for (var n = -1, r = t.length, s = e.length; ++n < r; )
1369
+ e[s + n] = t[n];
1370
+ return e;
1371
+ }
1372
+ var qo = jo, Go = J, Yo = B, Xo = "[object Arguments]";
1373
+ function zo(e) {
1374
+ return Yo(e) && Go(e) == Xo;
1375
+ }
1376
+ var Jo = zo, Ye = Jo, Ko = B, En = Object.prototype, Qo = En.hasOwnProperty, Zo = En.propertyIsEnumerable, ei = Ye(function() {
1377
+ return arguments;
1378
+ }()) ? Ye : function(e) {
1379
+ return Ko(e) && Qo.call(e, "callee") && !Zo.call(e, "callee");
1380
+ }, ti = ei, ni = Array.isArray, K = ni, Xe = z, ri = ti, si = K, ze = Xe ? Xe.isConcatSpreadable : void 0;
1381
+ function oi(e) {
1382
+ return si(e) || ri(e) || !!(ze && e && e[ze]);
1383
+ }
1384
+ var ii = oi, ai = qo, ci = ii;
1385
+ function hn(e, t, n, r, s) {
1386
+ var o = -1, i = e.length;
1387
+ for (n || (n = ci), s || (s = []); ++o < i; ) {
1388
+ var a = e[o];
1389
+ t > 0 && n(a) ? t > 1 ? hn(a, t - 1, n, r, s) : ai(s, a) : r || (s[s.length] = a);
1390
+ }
1391
+ return s;
1392
+ }
1393
+ var ui = hn, li = ui;
1394
+ function _i(e) {
1395
+ var t = e == null ? 0 : e.length;
1396
+ return t ? li(e, 1) : [];
1397
+ }
1398
+ var di = _i;
1399
+ function Ei(e, t, n) {
1400
+ switch (n.length) {
1401
+ case 0:
1402
+ return e.call(t);
1403
+ case 1:
1404
+ return e.call(t, n[0]);
1405
+ case 2:
1406
+ return e.call(t, n[0], n[1]);
1407
+ case 3:
1408
+ return e.call(t, n[0], n[1], n[2]);
1409
+ }
1410
+ return e.apply(t, n);
1411
+ }
1412
+ var hi = Ei, fi = hi, Je = Math.max;
1413
+ function Si(e, t, n) {
1414
+ return t = Je(t === void 0 ? e.length - 1 : t, 0), function() {
1415
+ for (var r = arguments, s = -1, o = Je(r.length - t, 0), i = Array(o); ++s < o; )
1416
+ i[s] = r[t + s];
1417
+ s = -1;
1418
+ for (var a = Array(t + 1); ++s < t; )
1419
+ a[s] = r[s];
1420
+ return a[t] = n(i), fi(e, this, a);
1421
+ };
1422
+ }
1423
+ var gi = Si;
1424
+ function Ti(e) {
1425
+ return function() {
1426
+ return e;
1427
+ };
1428
+ }
1429
+ var mi = Ti, Ci = J, Ri = $, Ni = "[object AsyncFunction]", vi = "[object Function]", Ai = "[object GeneratorFunction]", pi = "[object Proxy]";
1430
+ function bi(e) {
1431
+ if (!Ri(e))
1432
+ return !1;
1433
+ var t = Ci(e);
1434
+ return t == vi || t == Ai || t == Ni || t == pi;
1435
+ }
1436
+ var fn = bi, yi = X, Ii = yi["__core-js_shared__"], Oi = Ii, ne = Oi, Ke = function() {
1437
+ var e = /[^.]+$/.exec(ne && ne.keys && ne.keys.IE_PROTO || "");
1438
+ return e ? "Symbol(src)_1." + e : "";
1439
+ }();
1440
+ function Mi(e) {
1441
+ return !!Ke && Ke in e;
1442
+ }
1443
+ var Pi = Mi, Di = Function.prototype, wi = Di.toString;
1444
+ function $i(e) {
1445
+ if (e != null) {
1446
+ try {
1447
+ return wi.call(e);
1448
+ } catch {
1449
+ }
1450
+ try {
1451
+ return e + "";
1452
+ } catch {
1453
+ }
1454
+ }
1455
+ return "";
1456
+ }
1457
+ var Li = $i, Ui = fn, Fi = Pi, ki = $, Bi = Li, xi = /[\\^$.*+?()[\]{}|]/g, Hi = /^\[object .+?Constructor\]$/, Wi = Function.prototype, Vi = Object.prototype, ji = Wi.toString, qi = Vi.hasOwnProperty, Gi = RegExp(
1458
+ "^" + ji.call(qi).replace(xi, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
1459
+ );
1460
+ function Yi(e) {
1461
+ if (!ki(e) || Fi(e))
1462
+ return !1;
1463
+ var t = Ui(e) ? Gi : Hi;
1464
+ return t.test(Bi(e));
1465
+ }
1466
+ var Xi = Yi;
1467
+ function zi(e, t) {
1468
+ return e == null ? void 0 : e[t];
1469
+ }
1470
+ var Ji = zi, Ki = Xi, Qi = Ji;
1471
+ function Zi(e, t) {
1472
+ var n = Qi(e, t);
1473
+ return Ki(n) ? n : void 0;
1474
+ }
1475
+ var Sn = Zi, ea = Sn, ta = function() {
1476
+ try {
1477
+ var e = ea(Object, "defineProperty");
1478
+ return e({}, "", {}), e;
1479
+ } catch {
1480
+ }
1481
+ }(), na = ta;
1482
+ function ra(e) {
1483
+ return e;
1484
+ }
1485
+ var sa = ra, oa = mi, Qe = na, ia = sa, aa = Qe ? function(e, t) {
1486
+ return Qe(e, "toString", {
1487
+ configurable: !0,
1488
+ enumerable: !1,
1489
+ value: oa(t),
1490
+ writable: !0
1491
+ });
1492
+ } : ia, ca = aa, ua = 800, la = 16, _a = Date.now;
1493
+ function da(e) {
1494
+ var t = 0, n = 0;
1495
+ return function() {
1496
+ var r = _a(), s = la - (r - n);
1497
+ if (n = r, s > 0) {
1498
+ if (++t >= ua)
1499
+ return arguments[0];
1500
+ } else
1501
+ t = 0;
1502
+ return e.apply(void 0, arguments);
1503
+ };
1504
+ }
1505
+ var Ea = da, ha = ca, fa = Ea, Sa = fa(ha), ga = Sa, Ta = di, ma = gi, Ca = ga;
1506
+ function Ra(e) {
1507
+ return Ca(ma(e, void 0, Ta), e + "");
1508
+ }
1509
+ var Na = Ra, va = Sn, Aa = X, pa = va(Aa, "WeakMap"), ba = pa, Ze = ba, ya = Ze && new Ze(), Ia = ya;
1510
+ function Oa() {
1511
+ }
1512
+ var Ma = Oa, et = Ia, Pa = Ma, Da = et ? function(e) {
1513
+ return et.get(e);
1514
+ } : Pa, gn = Da, wa = {}, $a = wa, tt = $a, La = Object.prototype, Ua = La.hasOwnProperty;
1515
+ function Fa(e) {
1516
+ for (var t = e.name + "", n = tt[t], r = Ua.call(tt, t) ? n.length : 0; r--; ) {
1517
+ var s = n[r], o = s.func;
1518
+ if (o == null || o == e)
1519
+ return s.name;
1520
+ }
1521
+ return t;
1522
+ }
1523
+ var Tn = Fa, ka = dn, Ba = Oe, xa = 4294967295;
1524
+ function q(e) {
1525
+ this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = xa, this.__views__ = [];
1526
+ }
1527
+ q.prototype = ka(Ba.prototype);
1528
+ q.prototype.constructor = q;
1529
+ var Pe = q;
1530
+ function Ha(e, t) {
1531
+ var n = -1, r = e.length;
1532
+ for (t || (t = Array(r)); ++n < r; )
1533
+ t[n] = e[n];
1534
+ return t;
1535
+ }
1536
+ var Wa = Ha, Va = Pe, ja = Me, qa = Wa;
1537
+ function Ga(e) {
1538
+ if (e instanceof Va)
1539
+ return e.clone();
1540
+ var t = new ja(e.__wrapped__, e.__chain__);
1541
+ return t.__actions__ = qa(e.__actions__), t.__index__ = e.__index__, t.__values__ = e.__values__, t;
1542
+ }
1543
+ var Ya = Ga, Xa = Pe, nt = Me, za = Oe, Ja = K, Ka = B, Qa = Ya, Za = Object.prototype, ec = Za.hasOwnProperty;
1544
+ function G(e) {
1545
+ if (Ka(e) && !Ja(e) && !(e instanceof Xa)) {
1546
+ if (e instanceof nt)
1547
+ return e;
1548
+ if (ec.call(e, "__wrapped__"))
1549
+ return Qa(e);
1550
+ }
1551
+ return new nt(e);
1552
+ }
1553
+ G.prototype = za.prototype;
1554
+ G.prototype.constructor = G;
1555
+ var tc = G, nc = Pe, rc = gn, sc = Tn, oc = tc;
1556
+ function ic(e) {
1557
+ var t = sc(e), n = oc[t];
1558
+ if (typeof n != "function" || !(t in nc.prototype))
1559
+ return !1;
1560
+ if (e === n)
1561
+ return !0;
1562
+ var r = rc(n);
1563
+ return !!r && e === r[0];
1564
+ }
1565
+ var ac = ic, rt = Me, cc = Na, uc = gn, re = Tn, lc = K, st = ac, _c = "Expected a function", dc = 8, Ec = 32, hc = 128, fc = 256;
1566
+ function Sc(e) {
1567
+ return cc(function(t) {
1568
+ var n = t.length, r = n, s = rt.prototype.thru;
1569
+ for (e && t.reverse(); r--; ) {
1570
+ var o = t[r];
1571
+ if (typeof o != "function")
1572
+ throw new TypeError(_c);
1573
+ if (s && !i && re(o) == "wrapper")
1574
+ var i = new rt([], !0);
1575
+ }
1576
+ for (r = i ? r : n; ++r < n; ) {
1577
+ o = t[r];
1578
+ var a = re(o), u = a == "wrapper" ? uc(o) : void 0;
1579
+ u && st(u[0]) && u[1] == (hc | dc | Ec | fc) && !u[4].length && u[9] == 1 ? i = i[re(u[0])].apply(i, u[3]) : i = o.length == 1 && st(o) ? i[a]() : i.thru(o);
1580
+ }
1581
+ return function() {
1582
+ var l = arguments, d = l[0];
1583
+ if (i && l.length == 1 && lc(d))
1584
+ return i.plant(d).value();
1585
+ for (var E = 0, h = n ? t[E].apply(this, l) : d; ++E < n; )
1586
+ h = t[E].call(this, h);
1587
+ return h;
1588
+ };
1589
+ });
1590
+ }
1591
+ var gc = Sc, Tc = gc, mc = Tc(), Cc = mc;
1592
+ const Rc = /* @__PURE__ */ be(Cc);
1593
+ function Nc(e, t) {
1594
+ for (var n = -1, r = e == null ? 0 : e.length, s = Array(r); ++n < r; )
1595
+ s[n] = t(e[n], n, e);
1596
+ return s;
1597
+ }
1598
+ var vc = Nc, ot = z, Ac = vc, pc = K, bc = ln, yc = 1 / 0, it = ot ? ot.prototype : void 0, at = it ? it.toString : void 0;
1599
+ function mn(e) {
1600
+ if (typeof e == "string")
1601
+ return e;
1602
+ if (pc(e))
1603
+ return Ac(e, mn) + "";
1604
+ if (bc(e))
1605
+ return at ? at.call(e) : "";
1606
+ var t = e + "";
1607
+ return t == "0" && 1 / e == -yc ? "-0" : t;
1608
+ }
1609
+ var Cn = mn;
1610
+ function Ic(e, t, n) {
1611
+ var r = -1, s = e.length;
1612
+ t < 0 && (t = -t > s ? 0 : s + t), n = n > s ? s : n, n < 0 && (n += s), s = t > n ? 0 : n - t >>> 0, t >>>= 0;
1613
+ for (var o = Array(s); ++r < s; )
1614
+ o[r] = e[r + t];
1615
+ return o;
1616
+ }
1617
+ var Oc = Ic, Mc = Oc;
1618
+ function Pc(e, t, n) {
1619
+ var r = e.length;
1620
+ return n = n === void 0 ? r : n, !t && n >= r ? e : Mc(e, t, n);
1621
+ }
1622
+ var Dc = Pc, wc = "\\ud800-\\udfff", $c = "\\u0300-\\u036f", Lc = "\\ufe20-\\ufe2f", Uc = "\\u20d0-\\u20ff", Fc = $c + Lc + Uc, kc = "\\ufe0e\\ufe0f", Bc = "\\u200d", xc = RegExp("[" + Bc + wc + Fc + kc + "]");
1623
+ function Hc(e) {
1624
+ return xc.test(e);
1625
+ }
1626
+ var Rn = Hc;
1627
+ function Wc(e, t) {
1628
+ return e === t || e !== e && t !== t;
1629
+ }
1630
+ var Vc = Wc, jc = 9007199254740991;
1631
+ function qc(e) {
1632
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= jc;
1633
+ }
1634
+ var Gc = qc, Yc = fn, Xc = Gc;
1635
+ function zc(e) {
1636
+ return e != null && Xc(e.length) && !Yc(e);
1637
+ }
1638
+ var Jc = zc, Kc = 9007199254740991, Qc = /^(?:0|[1-9]\d*)$/;
1639
+ function Zc(e, t) {
1640
+ var n = typeof e;
1641
+ return t = t ?? Kc, !!t && (n == "number" || n != "symbol" && Qc.test(e)) && e > -1 && e % 1 == 0 && e < t;
1642
+ }
1643
+ var eu = Zc, tu = Vc, nu = Jc, ru = eu, su = $;
1644
+ function ou(e, t, n) {
1645
+ if (!su(n))
1646
+ return !1;
1647
+ var r = typeof t;
1648
+ return (r == "number" ? nu(n) && ru(t, n.length) : r == "string" && t in n) ? tu(n[t], e) : !1;
1649
+ }
1650
+ var iu = ou, au = J, cu = B, uu = "[object RegExp]";
1651
+ function lu(e) {
1652
+ return cu(e) && au(e) == uu;
1653
+ }
1654
+ var _u = lu;
1655
+ function du(e) {
1656
+ return function(t) {
1657
+ return e(t);
1658
+ };
1659
+ }
1660
+ var Eu = du, Y = { exports: {} };
1661
+ Y.exports;
1662
+ (function(e, t) {
1663
+ var n = cn, r = t && !t.nodeType && t, s = r && !0 && e && !e.nodeType && e, o = s && s.exports === r, i = o && n.process, a = function() {
1664
+ try {
1665
+ var u = s && s.require && s.require("util").types;
1666
+ return u || i && i.binding && i.binding("util");
1667
+ } catch {
1668
+ }
1669
+ }();
1670
+ e.exports = a;
1671
+ })(Y, Y.exports);
1672
+ var hu = Y.exports, fu = _u, Su = Eu, ct = hu, ut = ct && ct.isRegExp, gu = ut ? Su(ut) : fu, Tu = gu;
1673
+ function mu(e) {
1674
+ return e.split("");
1675
+ }
1676
+ var Cu = mu, Nn = "\\ud800-\\udfff", Ru = "\\u0300-\\u036f", Nu = "\\ufe20-\\ufe2f", vu = "\\u20d0-\\u20ff", Au = Ru + Nu + vu, pu = "\\ufe0e\\ufe0f", bu = "[" + Nn + "]", Se = "[" + Au + "]", ge = "\\ud83c[\\udffb-\\udfff]", yu = "(?:" + Se + "|" + ge + ")", vn = "[^" + Nn + "]", An = "(?:\\ud83c[\\udde6-\\uddff]){2}", pn = "[\\ud800-\\udbff][\\udc00-\\udfff]", Iu = "\\u200d", bn = yu + "?", yn = "[" + pu + "]?", Ou = "(?:" + Iu + "(?:" + [vn, An, pn].join("|") + ")" + yn + bn + ")*", Mu = yn + bn + Ou, Pu = "(?:" + [vn + Se + "?", Se, An, pn, bu].join("|") + ")", Du = RegExp(ge + "(?=" + ge + ")|" + Pu + Mu, "g");
1677
+ function wu(e) {
1678
+ return e.match(Du) || [];
1679
+ }
1680
+ var $u = wu, Lu = Cu, Uu = Rn, Fu = $u;
1681
+ function ku(e) {
1682
+ return Uu(e) ? Fu(e) : Lu(e);
1683
+ }
1684
+ var Bu = ku, xu = Cn;
1685
+ function Hu(e) {
1686
+ return e == null ? "" : xu(e);
1687
+ }
1688
+ var Wu = Hu, Vu = Cn, ju = Dc, qu = Rn, Gu = iu, Yu = Tu, Xu = Bu, zu = Wu, Ju = 4294967295;
1689
+ function Ku(e, t, n) {
1690
+ return n && typeof n != "number" && Gu(e, t, n) && (t = n = void 0), n = n === void 0 ? Ju : n >>> 0, n ? (e = zu(e), e && (typeof t == "string" || t != null && !Yu(t)) && (t = Vu(t), !t && qu(e)) ? ju(Xu(e), 0, n) : e.split(t, n)) : [];
1691
+ }
1692
+ var Qu = Ku;
1693
+ const Zu = /* @__PURE__ */ be(Qu), el = (e) => Rc(
1694
+ (t) => Zu(t, ""),
1695
+ (t) => t.map((n) => async () => e(n))
1696
+ ), tl = async ({
1697
+ accumulatedKeys: e,
1698
+ sendKey: t,
1699
+ canRunTask: n
1700
+ }) => {
1701
+ const s = el(t)(e);
1702
+ return Ln(s, n);
1703
+ }, nl = (e) => (n) => (_("onStartMainCam"), e.onSession("admin-start-main-cam", n)), rl = (e) => (n) => (_("onStartMic"), e.onSession("admin-start-mic", n)), sl = (e) => (n) => (_("onStopMainCam"), e.onSession("admin-stop-main-cam", n)), ol = (e) => (n) => (_("onStopMic"), e.onSession("admin-stop-mic", n)), il = ({ sipConnector: e }) => {
1704
+ const t = (g, m) => ({ isSyncForced: C = !1 }) => {
1705
+ if (C) {
1706
+ g();
1707
+ return;
1708
+ }
1709
+ m();
1710
+ }, n = nl(e), r = sl(e), s = rl(e), o = ol(e);
1711
+ let i = () => {
1712
+ }, a = () => {
1713
+ }, u = () => {
1714
+ }, l = () => {
1715
+ };
1716
+ const d = ({
1717
+ onStartMainCamForced: g,
1718
+ onStartMainCamNotForced: m,
1719
+ onStopMainCamForced: C,
1720
+ onStopMainCamNotForced: A,
1721
+ onStartMicForced: b,
1722
+ onStartMicNotForced: N,
1723
+ onStopMicForced: v,
1724
+ onStopMicNotForced: y
1725
+ }) => {
1726
+ const f = t(
1727
+ g,
1728
+ m
1729
+ );
1730
+ i = n(f);
1731
+ const R = t(
1732
+ C,
1733
+ A
1734
+ );
1735
+ a = r(R);
1736
+ const p = t(b, N);
1737
+ u = s(p);
1738
+ const O = t(v, y);
1739
+ l = o(O);
1740
+ }, E = () => {
1741
+ i(), a(), u(), l();
1742
+ };
1743
+ return {
1744
+ start: (g) => {
1745
+ d(g);
1746
+ },
1747
+ stop: () => {
1748
+ E();
1749
+ }
1750
+ };
1751
+ }, Ll = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1752
+ __proto__: null,
1753
+ PURGATORY_CONFERENCE_NUMBER: on,
1754
+ createSyncMediaState: il,
1755
+ error: Ao,
1756
+ getExtraHeaders: po,
1757
+ getUserAgent: yo,
1758
+ hasPurgatory: F,
1759
+ resolveAnswerIncomingCall: To,
1760
+ resolveAskPermissionToEnableCam: Io,
1761
+ resolveCallToServer: mo,
1762
+ resolveConnectToServer: Co,
1763
+ resolveDisconnectFromServer: Ro,
1764
+ resolveGetRemoteStreams: pe,
1765
+ resolveOnMustStopPresentation: Oo,
1766
+ resolveOnUseLicense: Mo,
1767
+ resolveSendMediaState: Po,
1768
+ resolveSendRefusalToTurnOnCam: Do,
1769
+ resolveSendRefusalToTurnOnMic: wo,
1770
+ resolveStartPresentation: Lo,
1771
+ resolveStopShareSipConnector: Uo,
1772
+ resolveUpdatePresentation: ko,
1773
+ resolveUpdateRemoteStreams: ye,
1774
+ sendDTMFAccumulated: tl
1775
+ }, Symbol.toStringTag, { value: "Module" })), al = (e) => [...e.keys()].map((t) => e.get(t)), cl = (e, t) => al(e).find((n) => n.type === t), ul = async (e) => e.getStats().then((t) => {
1776
+ const n = cl(t, "codec");
1777
+ return n == null ? void 0 : n.mimeType;
1778
+ }), ll = (e) => e.find((t) => {
1779
+ var n;
1780
+ return ((n = t == null ? void 0 : t.track) == null ? void 0 : n.kind) === "video";
1781
+ }), In = (e, t) => e !== void 0 && t !== void 0 && e.toLowerCase().includes(t.toLowerCase()), _l = 1e6, I = (e) => e * _l, On = I(0.06), dl = I(4), El = (e) => e <= 64 ? On : e <= 128 ? I(0.12) : e <= 256 ? I(0.25) : e <= 384 ? I(0.32) : e <= 426 ? I(0.38) : e <= 640 ? I(0.5) : e <= 848 ? I(0.7) : e <= 1280 ? I(1) : e <= 1920 ? I(2) : dl, hl = "av1", fl = (e) => In(e, hl), Sl = 0.6, Mn = (e, t) => fl(t) ? e * Sl : e, gl = (e) => Mn(On, e), Pn = (e, t) => {
1782
+ const n = El(e);
1783
+ return Mn(n, t);
1784
+ }, Dn = Un(), Tl = async () => Dn().catch((e) => {
1785
+ _("videoSendingBalancer: error", e);
1786
+ }), ml = async (e) => (Dn.add(e), Tl()), De = async ({
1787
+ sender: e,
1788
+ scaleResolutionDownBy: t,
1789
+ maxBitrate: n,
1790
+ onSetParameters: r
1791
+ }) => ml(async () => sn(e, { scaleResolutionDownBy: t, maxBitrate: n }, r)), Cl = async ({ sender: e, codec: t }, n) => {
1792
+ const s = gl(t);
1793
+ return De({
1794
+ sender: e,
1795
+ maxBitrate: s,
1796
+ onSetParameters: n,
1797
+ scaleResolutionDownBy: 200
1798
+ });
1799
+ }, se = async ({ sender: e, track: t, codec: n }, r) => {
1800
+ const i = t.getSettings().width, a = Pn(i, n);
1801
+ return De({
1802
+ sender: e,
1803
+ maxBitrate: a,
1804
+ onSetParameters: r,
1805
+ scaleResolutionDownBy: 1
1806
+ });
1807
+ }, Rl = async ({
1808
+ sender: e,
1809
+ track: t,
1810
+ resolution: n,
1811
+ codec: r
1812
+ }, s) => {
1813
+ const o = t.getSettings(), i = o.width, a = o.height, [u, l] = n.split("x"), d = i / Number(u), E = a / Number(l), S = Math.max(d, E, 1), g = Pn(Number(u), r);
1814
+ return De({
1815
+ sender: e,
1816
+ maxBitrate: g,
1817
+ onSetParameters: s,
1818
+ scaleResolutionDownBy: S
1819
+ });
1820
+ }, Nl = async ({
1821
+ mainCam: e,
1822
+ resolutionMainCam: t,
1823
+ sender: n,
1824
+ track: r,
1825
+ codec: s
1826
+ }, o) => {
1827
+ switch (e) {
1828
+ case M.PAUSE_MAIN_CAM:
1829
+ return Cl({ sender: n, codec: s }, o);
1830
+ case M.RESUME_MAIN_CAM:
1831
+ return se({ sender: n, track: r, codec: s }, o);
1832
+ case M.MAX_MAIN_CAM_RESOLUTION:
1833
+ return t !== void 0 ? Rl(
1834
+ { sender: n, track: r, codec: s, resolution: t },
1835
+ o
1836
+ ) : se({ sender: n, track: r, codec: s }, o);
1837
+ default:
1838
+ return se({ sender: n, track: r, codec: s }, o);
1839
+ }
1840
+ }, lt = {
1841
+ isChanged: !1,
1842
+ parameters: {
1843
+ encodings: [{}],
1844
+ transactionId: "0",
1845
+ codecs: [],
1846
+ headerExtensions: [],
1847
+ rtcp: {}
1848
+ }
1849
+ }, _t = async ({
1850
+ mainCam: e,
1851
+ resolutionMainCam: t,
1852
+ connection: n,
1853
+ onSetParameters: r,
1854
+ ignoreForCodec: s
1855
+ }) => {
1856
+ const o = n.getSenders(), i = ll(o);
1857
+ if (!(i != null && i.track))
1858
+ return lt;
1859
+ const a = await ul(i);
1860
+ return In(a, s) ? lt : Nl(
1861
+ { mainCam: e, resolutionMainCam: t, sender: i, codec: a, track: i.track },
1862
+ r
1863
+ );
1864
+ }, Ul = (e, {
1865
+ ignoreForCodec: t,
1866
+ onSetParameters: n
1867
+ } = {}) => {
1868
+ const r = async () => {
1869
+ const { connection: u } = e;
1870
+ if (!u)
1871
+ throw new Error("connection is not exist");
1872
+ return _t({
1873
+ connection: u,
1874
+ onSetParameters: n,
1875
+ ignoreForCodec: t
1876
+ });
1877
+ };
1878
+ let s = r;
1879
+ const o = async (u) => (s = async () => {
1880
+ const { mainCam: l, resolutionMainCam: d } = u, { connection: E } = e;
1881
+ if (!E)
1882
+ throw new Error("connection is not exist");
1883
+ return _t({
1884
+ mainCam: l,
1885
+ resolutionMainCam: d,
1886
+ connection: E,
1887
+ onSetParameters: n,
1888
+ ignoreForCodec: t
1889
+ });
1890
+ }, s());
1891
+ return {
1892
+ subscribe: () => {
1893
+ e.onSession("main-cam-control", o);
1894
+ },
1895
+ unsubscribe: () => {
1896
+ e.offSession("main-cam-control", o);
1897
+ },
1898
+ balanceByTrack: r,
1899
+ resetMainCamControl() {
1900
+ s = r;
1901
+ },
1902
+ async reBalance() {
1903
+ return s();
1904
+ }
1905
+ };
24
1906
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
1907
+ export {
1908
+ M as EEventsMainCAM,
1909
+ Ee as EEventsMic,
1910
+ he as EEventsSyncMediaState,
1911
+ Xr as EUseLicense,
1912
+ Ol as causes,
1913
+ Bl as debug,
1914
+ $l as default,
1915
+ Dl as disableDebug,
1916
+ Pl as enableDebug,
1917
+ Ml as eventNames,
1918
+ ul as getCodecFromSender,
1919
+ wl as hasCanceledCallError,
1920
+ Ul as resolveVideoSendingBalancer,
1921
+ Ll as tools
27
1922
  };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getCodecFromSender = exports.resolveVideoSendingBalancer = exports.EUseLicense = exports.hasCanceledCallError = exports.eventNames = exports.tools = exports.causes = exports.enableDebug = exports.disableDebug = exports.debug = void 0;
30
- const getCodecFromSender_1 = __importDefault(require("./utils/getCodecFromSender"));
31
- exports.getCodecFromSender = getCodecFromSender_1.default;
32
- const SipConnector_1 = __importStar(require("./SipConnector"));
33
- Object.defineProperty(exports, "hasCanceledCallError", { enumerable: true, get: function () { return SipConnector_1.hasCanceledCallError; } });
34
- Object.defineProperty(exports, "EUseLicense", { enumerable: true, get: function () { return SipConnector_1.EUseLicense; } });
35
- const videoSendingBalancer_1 = __importDefault(require("./videoSendingBalancer"));
36
- exports.resolveVideoSendingBalancer = videoSendingBalancer_1.default;
37
- const causes = __importStar(require("./causes"));
38
- exports.causes = causes;
39
- const tools = __importStar(require("./tools"));
40
- exports.tools = tools;
41
- const eventNames = __importStar(require("./eventNames"));
42
- exports.eventNames = eventNames;
43
- var logger_1 = require("./logger");
44
- Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return logger_1.debug; } });
45
- Object.defineProperty(exports, "disableDebug", { enumerable: true, get: function () { return logger_1.disableDebug; } });
46
- Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return logger_1.enableDebug; } });
47
- exports.default = SipConnector_1.default;
48
- //# sourceMappingURL=index.js.map