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
@@ -4,35 +4,8 @@ import type { IncomingInfoEvent, OutgoingInfoEvent } from '@krivega/jssip/lib/RT
4
4
  import type { IncomingRequest } from '@krivega/jssip/lib/SIPMessage';
5
5
  import type { IncomingRTCSessionEvent, RegisteredEvent, UnRegisteredEvent } from '@krivega/jssip/lib/UA';
6
6
  import type { TEventSession, TEventUA } from './eventNames';
7
- export declare enum EEventsMainCAM {
8
- PAUSE_MAIN_CAM = "PAUSEMAINCAM",
9
- RESUME_MAIN_CAM = "RESUMEMAINCAM",
10
- MAX_MAIN_CAM_RESOLUTION = "MAXMAINCAMRESOLUTION",
11
- ADMIN_STOP_MAIN_CAM = "ADMINSTOPMAINCAM",
12
- ADMIN_START_MAIN_CAM = "ADMINSTARTMAINCAM"
13
- }
14
- export declare enum EEventsMic {
15
- ADMIN_STOP_MIC = "ADMINSTOPMIC",
16
- ADMIN_START_MIC = "ADMINSTARTMIC"
17
- }
18
- export declare enum EEventsSyncMediaState {
19
- ADMIN_SYNC_FORCED = "1",
20
- ADMIN_SYNC_NOT_FORCED = "0"
21
- }
22
- export declare enum EUseLicense {
23
- AUDIO = "AUDIO",
24
- VIDEO = "VIDEO",
25
- AUDIOPLUSPRESENTATION = "AUDIOPLUSPRESENTATION"
26
- }
27
- export interface ICustomError extends Error {
28
- originator?: string;
29
- cause?: unknown;
30
- message: any;
31
- socket?: any;
32
- url?: string;
33
- code?: string;
34
- }
35
- export declare const hasCanceledCallError: (error?: ICustomError) => boolean;
7
+ import type { TCustomError } from './types';
8
+ export declare const hasCanceledCallError: (error?: TCustomError) => boolean;
36
9
  export type TJsSIP = {
37
10
  UA: typeof UA;
38
11
  WebSocketInterface: typeof WebSocketInterface;
@@ -46,7 +19,7 @@ type TMediaState = {
46
19
  mic: boolean;
47
20
  };
48
21
  type TOptionsInfoMediaState = {
49
- noTerminateWhenError: boolean;
22
+ noTerminateWhenError?: boolean;
50
23
  };
51
24
  declare const CMD_CHANNELS: "channels";
52
25
  declare const CMD_WEBCAST_STARTED: "WebcastStarted";
@@ -102,14 +75,14 @@ type TChannelsInfoNotify = {
102
75
  input: string;
103
76
  output: string;
104
77
  };
105
- type TInfoNotify = Omit<TChannelsInfoNotify | TAddedToListModeratorsInfoNotify | TRemovedFromListModeratorsInfoNotify, 'cmd'> & {
78
+ type TInfoNotify = Omit<TAddedToListModeratorsInfoNotify | TChannelsInfoNotify | TRemovedFromListModeratorsInfoNotify, 'cmd'> & {
106
79
  cmd: string;
107
80
  };
108
81
  type TOptionsExtraHeaders = {
109
82
  extraHeaders?: string[];
110
83
  };
111
84
  type TOntrack = (track: RTCTrackEvent) => void;
112
- type TParametersConnection = {
85
+ type TParametersConnection = TOptionsExtraHeaders & {
113
86
  displayName?: string;
114
87
  user?: string;
115
88
  password?: string;
@@ -123,7 +96,7 @@ type TParametersConnection = {
123
96
  connectionRecoveryMinInterval?: number;
124
97
  connectionRecoveryMaxInterval?: number;
125
98
  userAgent?: string;
126
- } & TOptionsExtraHeaders;
99
+ };
127
100
  type TConnect = (parameters: TParametersConnection) => Promise<UA>;
128
101
  type TCreateUa = (parameters: TParametersConnection) => Promise<UA>;
129
102
  type TStart = () => Promise<UA>;
@@ -131,15 +104,15 @@ type TSet = ({ displayName, password, }: {
131
104
  displayName?: string;
132
105
  password?: string;
133
106
  }) => Promise<boolean>;
134
- type TDegradationPreference = 'maintain-framerate' | 'maintain-resolution' | 'balanced';
107
+ type TDegradationPreference = 'balanced' | 'maintain-framerate' | 'maintain-resolution';
135
108
  type TCall = ({ number, mediaStream, extraHeaders, ontrack, iceServers, videoMode, audioMode, offerToReceiveAudio, offerToReceiveVideo, degradationPreference, }: {
136
109
  number: string;
137
- mediaStream?: MediaStream;
110
+ mediaStream: MediaStream;
138
111
  extraHeaders?: TOptionsExtraHeaders['extraHeaders'];
139
112
  ontrack?: TOntrack;
140
113
  iceServers?: RTCIceServer[];
141
- videoMode?: 'sendrecv' | 'sendonly' | 'recvonly';
142
- audioMode?: 'sendrecv' | 'sendonly' | 'recvonly';
114
+ videoMode?: 'recvonly' | 'sendonly' | 'sendrecv';
115
+ audioMode?: 'recvonly' | 'sendonly' | 'sendrecv';
143
116
  offerToReceiveAudio?: boolean;
144
117
  offerToReceiveVideo?: boolean;
145
118
  degradationPreference?: TDegradationPreference;
@@ -150,8 +123,8 @@ type TParametersAnswerToIncomingCall = {
150
123
  extraHeaders?: TOptionsExtraHeaders['extraHeaders'];
151
124
  ontrack?: TOntrack;
152
125
  iceServers?: RTCIceServer[];
153
- videoMode?: 'sendrecv' | 'sendonly' | 'recvonly';
154
- audioMode?: 'sendrecv' | 'sendonly' | 'recvonly';
126
+ videoMode?: 'recvonly' | 'sendonly' | 'sendrecv';
127
+ audioMode?: 'recvonly' | 'sendonly' | 'sendrecv';
155
128
  degradationPreference?: TDegradationPreference;
156
129
  };
157
130
  type TAnswerToIncomingCall = (parameters: TParametersAnswerToIncomingCall) => Promise<RTCPeerConnection>;
@@ -161,19 +134,19 @@ export default class SipConnector {
161
134
  private _isRegisterConfig;
162
135
  private _connectionConfiguration;
163
136
  private _remoteStreams;
164
- private JsSIP;
165
- private _sessionEvents;
166
- private _uaEvents;
167
- private _cancelableConnect;
168
- private _cancelableCreateUa;
169
- private _cancelableDisconnect;
170
- private _cancelableSet;
171
- private _cancelableCall;
172
- private _cancelableAnswer;
173
- private _cancelableSendDTMF;
137
+ private readonly JsSIP;
138
+ private readonly _sessionEvents;
139
+ private readonly _uaEvents;
140
+ private readonly _cancelableConnect;
141
+ private readonly _cancelableCreateUa;
142
+ private readonly _cancelableDisconnect;
143
+ private readonly _cancelableSet;
144
+ private readonly _cancelableCall;
145
+ private readonly _cancelableAnswer;
146
+ private readonly _cancelableSendDTMF;
174
147
  private getSipServerUrl;
175
148
  promisePendingStartPresentation?: Promise<MediaStream>;
176
- promisePendingStopPresentation?: Promise<void | MediaStream>;
149
+ promisePendingStopPresentation?: Promise<MediaStream | void>;
177
150
  ua?: UA;
178
151
  session?: RTCSession;
179
152
  incomingSession?: RTCSession;
@@ -192,8 +165,8 @@ export default class SipConnector {
192
165
  hangUp: THangUp;
193
166
  register(): Promise<RegisteredEvent>;
194
167
  unregister(): Promise<UnRegisteredEvent>;
195
- tryRegister: () => Promise<UnRegisteredEvent>;
196
- sendOptions(target: string | URI, body?: string, extraHeaders?: string[]): Promise<void>;
168
+ tryRegister: () => Promise<RegisteredEvent>;
169
+ sendOptions(target: URI | string, body?: string, extraHeaders?: string[]): Promise<void>;
197
170
  ping(body?: string, extraHeaders?: string[]): Promise<void>;
198
171
  replaceMediaStream(mediaStream: MediaStream, options?: {
199
172
  deleteExisting: boolean;
@@ -214,7 +187,7 @@ export default class SipConnector {
214
187
  isP2P?: boolean;
215
188
  maxBitrate?: number;
216
189
  degradationPreference?: TDegradationPreference;
217
- }): Promise<void | MediaStream>;
190
+ }): Promise<MediaStream>;
218
191
  stopPresentation({ isP2P, }?: {
219
192
  isP2P?: boolean;
220
193
  }): Promise<MediaStream | void>;
@@ -222,19 +195,19 @@ export default class SipConnector {
222
195
  isP2P?: boolean;
223
196
  maxBitrate?: number;
224
197
  degradationPreference?: TDegradationPreference;
225
- }): Promise<void | MediaStream>;
198
+ }): Promise<MediaStream | void>;
226
199
  _resetPresentation(): void;
227
200
  handleNewRTCSession: ({ originator, session }: IncomingRTCSessionEvent) => void;
228
- on(eventName: TEventUA, handler: any): () => void;
229
- once(eventName: TEventUA, handler: any): () => void;
230
- onceRace(eventNames: TEventUA[], handler: any): () => void;
231
- wait(eventName: TEventUA): Promise<any>;
232
- off(eventName: TEventUA, handler: any): void;
233
- onSession(eventName: TEventSession, handler: any): () => void;
234
- onceSession(eventName: TEventSession, handler: any): () => void;
235
- onceRaceSession(eventNames: TEventSession[], handler: any): () => void;
236
- waitSession(eventName: TEventSession): Promise<any>;
237
- offSession(eventName: TEventSession, handler: any): void;
201
+ on<T = void>(eventName: TEventUA, handler: (data: T) => void): () => void;
202
+ once<T>(eventName: TEventUA, handler: (data: T) => void): () => void;
203
+ onceRace<T>(eventNames: TEventUA[], handler: (data: T) => void): () => void;
204
+ wait<T>(eventName: TEventUA): Promise<T>;
205
+ off<T>(eventName: TEventUA, handler: (data: T) => void): void;
206
+ onSession<T>(eventName: TEventSession, handler: (data: T) => void): () => void;
207
+ onceSession<T>(eventName: TEventSession, handler: (data: T) => void): () => void;
208
+ onceRaceSession<T>(eventNames: TEventSession[], handler: (data: T) => void): () => void;
209
+ waitSession<T>(eventName: TEventSession): Promise<T>;
210
+ offSession<T>(eventName: TEventSession, handler: (data: T) => void): void;
238
211
  isConfigured(): boolean;
239
212
  getConnectionConfiguration(): {
240
213
  sipServerUrl?: string | undefined;
@@ -248,22 +221,22 @@ export default class SipConnector {
248
221
  getRemoteStreams(): MediaStream[] | undefined;
249
222
  get connection(): RTCPeerConnection | undefined;
250
223
  get remoteCallerData(): {
251
- displayName: any;
252
- host: any;
253
- incomingNumber: any;
224
+ displayName: string | undefined;
225
+ host: string | undefined;
226
+ incomingNumber: string | undefined;
254
227
  session: RTCSession | undefined;
255
228
  };
256
229
  get requested(): boolean;
257
230
  get establishedSession(): RTCSession | undefined;
258
- get isRegistered(): any;
231
+ get isRegistered(): boolean;
259
232
  get isRegisterConfig(): boolean;
260
233
  get isCallActive(): boolean;
261
234
  get isAvailableIncomingCall(): boolean;
262
235
  _connect: TConnect;
263
236
  _createUa: TCreateUa;
264
- _init({ sipServerUrl, sipWebSocketServerURL }: {
265
- sipServerUrl: any;
266
- sipWebSocketServerURL: any;
237
+ _init({ sipServerUrl, sipWebSocketServerURL, }: {
238
+ sipServerUrl: string;
239
+ sipWebSocketServerURL: string;
267
240
  }): void;
268
241
  _start: TStart;
269
242
  _set: TSet;
@@ -285,7 +258,7 @@ export default class SipConnector {
285
258
  _cancelConnectRequests(): void;
286
259
  _cancelCallRequests(): void;
287
260
  _cancelActionsRequests(): void;
288
- _handleShareState: (eventName: any) => void;
261
+ _handleShareState: (eventName: string) => void;
289
262
  _maybeTriggerChannels: (request: IncomingRequest) => void;
290
263
  _handleNotify: (header: TInfoNotify) => void;
291
264
  _triggerRemovedFromListModeratorsNotify: ({ conference, }: TRemovedFromListModeratorsInfoNotify) => void;
@@ -318,7 +291,6 @@ export default class SipConnector {
318
291
  _sendRefusalToTurnOn(type: 'cam' | 'mic', options?: TOptionsInfoMediaState): Promise<void>;
319
292
  sendRefusalToTurnOnMic(options?: TOptionsInfoMediaState): Promise<void>;
320
293
  sendRefusalToTurnOnCam(options?: TOptionsInfoMediaState): Promise<void>;
321
- _handleEnded: (error: ICustomError) => void;
294
+ _handleEnded: (error: TCustomError) => void;
322
295
  }
323
296
  export {};
324
- //# sourceMappingURL=SipConnector.d.ts.map
package/dist/causes.d.ts CHANGED
@@ -21,4 +21,3 @@ export declare const DIALOG_ERROR = "Dialog Error";
21
21
  export declare const USER_DENIED_MEDIA_ACCESS = "User Denied Media Access";
22
22
  export declare const BAD_MEDIA_DESCRIPTION = "Bad Media Description";
23
23
  export declare const RTP_TIMEOUT = "RTP Timeout";
24
- //# sourceMappingURL=causes.d.ts.map
@@ -67,4 +67,3 @@ export declare const PRESENTATION_STARTED = "presentation:started";
67
67
  export declare const PRESENTATION_END = "presentation:end";
68
68
  export declare const PRESENTATION_ENDED = "presentation:ended";
69
69
  export declare const PRESENTATION_FAILED = "presentation:failed";
70
- //# sourceMappingURL=constants.d.ts.map
@@ -6,4 +6,3 @@ export declare const UA_EVENT_NAMES: ("incomingCall" | "declinedIncomingCall" |
6
6
  export declare const SESSION_EVENT_NAMES: readonly ["ended", "connecting", "sending", "reinvite", "replaces", "refer", "progress", "accepted", "confirmed", "peerconnection", "failed", "muted", "unmuted", "newDTMF", "newInfo", "hold", "unhold", "update", "sdp", "icecandidate", "getusermediafailed", "peerconnection:createofferfailed", "peerconnection:createanswerfailed", "peerconnection:setlocaldescriptionfailed", "peerconnection:setremotedescriptionfailed", "presentation:start", "presentation:started", "presentation:end", "presentation:ended", "presentation:failed", "availableSecondRemoteStream", "notAvailableSecondRemoteStream", "mustStopPresentation", "shareState", "enterRoom", "useLicense", "peerconnection:confirmed", "peerconnection:ontrack", "channels", "ended:fromserver", "main-cam-control", "admin-start-main-cam", "admin-stop-main-cam", "admin-stop-mic", "admin-start-mic", "admin-force-sync-media-state"];
7
7
  export type TEventUA = (typeof UA_EVENT_NAMES)[number];
8
8
  export type TEventSession = (typeof SESSION_EVENT_NAMES)[number];
9
- //# sourceMappingURL=eventNames.d.ts.map
@@ -1,3 +1,2 @@
1
1
  declare const getExtraHeadersRegistration: (remoteAddress?: string) => string[];
2
2
  export default getExtraHeadersRegistration;
3
- //# sourceMappingURL=getExtraHeadersRemoteAddress.d.ts.map
package/dist/headers.d.ts CHANGED
@@ -31,4 +31,3 @@ export declare const HEADER_START_PRESENTATION_P2P = "x-webrtc-share-state: YOUC
31
31
  export declare const HEADER_STOP_PRESENTATION_P2P = "x-webrtc-share-state: CONTENTEND";
32
32
  export declare const HEADER_CONTENT_ENABLE_MEDIA_DEVICE = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE";
33
33
  export declare const HEADER_ENABLE_MAIN_CAM = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE: LETMESTARTMAINCAM";
34
- //# sourceMappingURL=headers.d.ts.map
package/dist/index.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";var $n=Object.defineProperty;var Ln=(e,t,n)=>t in e?$n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var c=(e,t,n)=>(Ln(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const O=require("@krivega/cancelable-promise"),we=require("events-constructor"),J=require("debug"),Un=require("sequent-promises"),Fn=require("stack-promises"),kn="Connection Error",dt="Request Timeout",Bn="SIP Failure Code",Hn="Internal Error",xn="Busy",Et="Rejected",Wn="Redirected",qn="Unavailable",Ce="Not Found",Vn="Address Incomplete",jn="Incompatible SDP",Gn="Missing SDP",Yn="Authentication Error",ht="Terminated",Xn="WebRTC Error",ft="Canceled",zn="No Answer",Jn="Expires",Kn="No ACK",Qn="Dialog Error",Zn="User Denied Media Access",me="Bad Media Description",er="RTP Timeout",tr=Object.freeze(Object.defineProperty({__proto__:null,ADDRESS_INCOMPLETE:Vn,AUTHENTICATION_ERROR:Yn,BAD_MEDIA_DESCRIPTION:me,BUSY:xn,BYE:ht,CANCELED:ft,CONNECTION_ERROR:kn,DIALOG_ERROR:Qn,EXPIRES:Jn,INCOMPATIBLE_SDP:jn,INTERNAL_ERROR:Hn,MISSING_SDP:Gn,NOT_FOUND:Ce,NO_ACK:Kn,NO_ANSWER:zn,REDIRECTED:Wn,REJECTED:Et,REQUEST_TIMEOUT:dt,RTP_TIMEOUT:er,SIP_FAILURE_CODE:Bn,UNAVAILABLE:qn,USER_DENIED_MEDIA_ACCESS:Zn,WEBRTC_ERROR:Xn},Symbol.toStringTag,{value:"Module"})),St="incomingCall",gt="declinedIncomingCall",Tt="failedIncomingCall",Ct="terminatedIncomingCall",Re="connecting",ce="connected",w="disconnected",ue="newRTCSession",x="registered",mt="unregistered",W="registrationFailed",nr="newMessage",Rt="sipEvent",Nt="availableSecondRemoteStream",vt="notAvailableSecondRemoteStream",At="mustStopPresentation",le="shareState",pt="enterRoom",bt="useLicense",yt="peerconnection:confirmed",It="peerconnection:ontrack",_e="channels",Ot="channels:notify",Mt="ended:fromserver",Pt="main-cam-control",Dt="admin-stop-main-cam",wt="admin-start-main-cam",$t="admin-stop-mic",Lt="admin-start-mic",de="admin-force-sync-media-state",Ut="participant:added-to-list-moderators",Ft="participant:removed-from-list-moderators",kt="participant:move-request-to-conference",Bt="participant:move-request-to-stream",Ht="participant:canceling-word-request",xt="webcast:started",Wt="webcast:stopped",qt="account:changed",Vt="account:deleted",jt="conference:participant-token-issued",q="ended",rr="sending",sr="reinvite",or="replaces",ir="refer",ar="progress",cr="accepted",Ee="confirmed",he="peerconnection",U="failed",ur="muted",lr="unmuted",Gt="newDTMF",Yt="newInfo",_r="hold",dr="unhold",Er="update",hr="sdp",fr="icecandidate",Sr="getusermediafailed",gr="peerconnection:createofferfailed",Tr="peerconnection:createanswerfailed",Cr="peerconnection:setlocaldescriptionfailed",mr="peerconnection:setremotedescriptionfailed",Rr="presentation:start",Nr="presentation:started",vr="presentation:end",Xt="presentation:ended",fe="presentation:failed",zt=[St,gt,Ct,Tt,Ht,Bt,kt,Ot,jt,qt,Vt,xt,Wt,Ut,Ft],Ne=[Re,ce,w,ue,x,mt,W,nr,Rt],Jt=[Nt,vt,At,le,pt,bt,yt,It,_e,Mt,Pt,wt,Dt,$t,Lt,de],ve=[q,Re,rr,sr,or,ir,ar,cr,Ee,he,U,ur,lr,Gt,Yt,_r,dr,Er,hr,fr,Sr,gr,Tr,Cr,mr,Rr,Nr,vr,Xt,fe],Kt=[...Ne,...zt],Qt=[...ve,...Jt],Ar=Object.freeze(Object.defineProperty({__proto__:null,SESSION_EVENT_NAMES:Qt,SESSION_JSSIP_EVENT_NAMES:ve,SESSION_SYNTHETICS_EVENT_NAMES:Jt,UA_EVENT_NAMES:Kt,UA_JSSIP_EVENT_NAMES:Ne,UA_SYNTHETICS_EVENT_NAMES:zt},Symbol.toStringTag,{value:"Module"})),pr=e=>{const t=[];return e&&t.push(`X-Vinteo-Remote: ${e}`),t},br="content-type",yr="x-webrtc-enter-room",te="application/vinteo.webrtc.sharedesktop",Ir="application/vinteo.webrtc.roomname",Or="application/vinteo.webrtc.channels",Mr="application/vinteo.webrtc.mediastate",Pr="application/vinteo.webrtc.refusal",$e="application/vinteo.webrtc.maincam",Dr="application/vinteo.webrtc.mic",wr="application/vinteo.webrtc.uselic",$r="X-WEBRTC-USE-LICENSE",Le="X-WEBRTC-INPUT-CHANNELS",Ue="X-WEBRTC-OUTPUT-CHANNELS",Lr="X-WEBRTC-MAINCAM",Ur="X-WEBRTC-MIC",Fe="X-WEBRTC-SYNC",Fr="X-WEBRTC-MAINCAM-RESOLUTION",kr="X-WEBRTC-MEDIA-STATE",Br="X-Vinteo-Media-Type",Hr="X-Vinteo-MainCam-State",xr="X-Vinteo-Mic-State",Wr="application/vinteo.webrtc.notify",qr="X-VINTEO-NOTIFY",k="x-webrtc-share-state",Vr=`${k}: LETMESTARTPRESENTATION`,jr=`${k}: STOPPRESENTATION`,Zt="YOUCANRECEIVECONTENT",en="CONTENTEND",Gr="YOUMUSTSTOPSENDCONTENT",Yr=`${k}: ${Zt}`,Xr=`${k}: ${en}`,zr="X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE",Jr=`${zr}: LETMESTARTMAINCAM`,Ae="sip-connector",_=J(Ae),Kr=()=>{J.enable(`${Ae}`)},Qr=()=>{J.enable(`-${Ae}`)};var M=(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||{}),V=(e=>(e.ADMIN_STOP_MIC="ADMINSTOPMIC",e.ADMIN_START_MIC="ADMINSTARTMIC",e))(V||{}),j=(e=>(e.ADMIN_SYNC_FORCED="1",e.ADMIN_SYNC_NOT_FORCED="0",e))(j||{}),tn=(e=>(e.AUDIO="AUDIO",e.VIDEO="VIDEO",e.AUDIOPLUSPRESENTATION="AUDIOPLUSPRESENTATION",e))(tn||{});function Zr(e){return t=>`sip:${t}@${e}`}const es=(e,t)=>()=>Math.floor(Math.random()*(t-e))+e,ke=e=>e.trim().replaceAll(" ","_"),ts=es(1e5,99999999),ne=(e,{videoMode:t,audioMode:n}={})=>{if(!e||t==="recvonly"&&n==="recvonly")return;const r=n==="recvonly"?[]:e.getAudioTracks(),s=t==="recvonly"?[]:e.getVideoTracks(),o=[...r,...s],i=new MediaStream(o);return i.getTracks=()=>[...i.getAudioTracks(),...i.getVideoTracks()],i},ns=e=>e.some(n=>{const{kind:r}=n;return r==="video"}),rs="Error decline with 603",ss=e=>e.message===rs,os=(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,is=rn(nn),as=(e,t)=>{const n=e===void 0?void 0:Math.max(e,nn);if(n!==void 0&&is(n,t))return n},cs=rn(),us=(e,t)=>{if(cs(e,t))return e},sn=async(e,t,n)=>{const r=e.getParameters();(r.encodings===void 0||r.encodings.length===0)&&(r.encodings=[{}]);const[s]=r.encodings,o=s.scaleResolutionDownBy,i=as(t.scaleResolutionDownBy,o);let a=!1;i!==void 0&&(r.encodings[0].scaleResolutionDownBy=i,a=!0);const u=s.maxBitrate,l=us(t.maxBitrate,u);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}},ls=async(e,t,n)=>{const r=os(e,t);if(r)return sn(r,{maxBitrate:n})},_s=486,ds=487,Se="local",Be="remote",Es=(e=new Error)=>{const{originator:t,cause:n}=e;return O.isCanceledError(e)?!0:typeof n=="string"?n===dt||n===Et||t===Se&&(n===ft||n===ht):!1},D="SipConnector",hs="channels",fs="WebcastStarted",Ss="WebcastStopped",gs="accountChanged",Ts="accountDeleted",Cs="addedToListModerators",ms="removedFromListModerators",Rs="WebcastParticipationAccepted",Ns="WebcastParticipationRejected",vs="ParticipantMovedToWebcast",As="ConferenceParticipantTokenIssued";class ps{constructor({JsSIP:t}){c(this,"_isRegisterConfig",!1);c(this,"_connectionConfiguration",{});c(this,"_remoteStreams",{});c(this,"JsSIP");c(this,"_sessionEvents");c(this,"_uaEvents");c(this,"_cancelableConnect");c(this,"_cancelableCreateUa");c(this,"_cancelableDisconnect");c(this,"_cancelableSet");c(this,"_cancelableCall");c(this,"_cancelableAnswer");c(this,"_cancelableSendDTMF");c(this,"getSipServerUrl",t=>t);c(this,"promisePendingStartPresentation");c(this,"promisePendingStopPresentation");c(this,"ua");c(this,"session");c(this,"incomingSession");c(this,"_streamPresentationCurrent");c(this,"socket");c(this,"connect",async t=>(this._cancelRequests(),this._cancelableConnect.request(t)));c(this,"createUa",async t=>this._cancelableCreateUa.request(t));c(this,"set",async t=>this._cancelableSet.request(t));c(this,"call",async t=>this._cancelableCall.request(t));c(this,"disconnect",async()=>(this._cancelRequests(),this._disconnectWithoutCancelRequests()));c(this,"answerToIncomingCall",async t=>this._cancelableAnswer.request(t));c(this,"sendDTMF",async t=>this._cancelableSendDTMF.request(t));c(this,"hangUp",async()=>(this._cancelRequests(),this._hangUpWithoutCancelRequests()));c(this,"tryRegister",async()=>{if(!this.isRegisterConfig)throw new Error("Config is not registered");this._uaEvents.trigger(Re,void 0);try{await this.unregister()}catch(t){_("tryRegister",t)}return this.register()});c(this,"declineToIncomingCall",async({statusCode:t=ds}={})=>new Promise((n,r)=>{if(!this.isAvailableIncomingCall){r(new Error("no incomingSession"));return}const s=this.incomingSession,o=this.remoteCallerData;this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest(),this.removeIncomingSession(),this._uaEvents.trigger(gt,o),n(s.terminate({status_code:t}))}));c(this,"busyIncomingCall",async()=>this.declineToIncomingCall({statusCode:_s}));c(this,"removeIncomingSession",()=>{delete this.incomingSession});c(this,"handleNewRTCSession",({originator:t,session:n})=>{if(t===Be){this.incomingSession=n;const r=this.remoteCallerData;n.on(U,s=>{this.removeIncomingSession(),s.originator===Se?this._uaEvents.trigger(Ct,r):this._uaEvents.trigger(Tt,r)}),this._uaEvents.trigger(St,r)}});c(this,"_connect",async t=>this.createUa(t).then(async()=>this._start()));c(this,"_createUa",async({displayName:t="",user:n,password:r,register:s=!1,sipServerUrl:o,sipWebSocketServerURL:i,remoteAddress:a,extraHeaders:u=[],sdpSemantics:l="plan-b",sessionTimers:d=!1,registerExpires:E=60*5,connectionRecoveryMinInterval:h=2,connectionRecoveryMaxInterval:S=6,userAgent:g})=>{if(!o)throw new Error("sipServerUrl is required");if(!i)throw new Error("sipWebSocketServerURL is required");if(s&&!n)throw new Error("user is required for authorized connection");if(s&&!r)throw new Error("password is required for authorized connection");this._connectionConfiguration={sipServerUrl:o,displayName:t,register:s,user:n,password:r},this._init({sipServerUrl:o,sipWebSocketServerURL:i});const C=s&&n?n.trim():`${ts()}`,m={password:r,register:s,display_name:ke(t),user_agent:g,sdp_semantics:l,sockets:[this.socket],uri:this.getSipServerUrl(C),session_timers:d,register_expires:E,connection_recovery_min_interval:h,connection_recovery_max_interval:S};this.ua&&await this._disconnectWithoutCancelRequests(),this._isRegisterConfig=!!m.register,this.ua=new this.JsSIP.UA(m),this._uaEvents.eachTriggers((N,v)=>{const y=Ne.find(f=>f===v);y&&this.ua&&this.ua.on(y,N)});const b=[...pr(a),...u];return this.ua.registrator().setExtraHeaders(b),this.ua});c(this,"_start",async()=>new Promise((t,n)=>{const{ua:r}=this;if(!r){n(new Error("this.ua is not initialized"));return}const s=()=>{a(),t(r)},o=u=>{a(),n(u)},i=()=>{this.isRegisterConfig?(this.on(x,s),this.on(W,o)):this.on(ce,s),this.on(w,o)},a=()=>{this.off(x,s),this.off(W,o),this.off(ce,s),this.off(w,o)};i(),this.on(ue,this.handleNewRTCSession),r.start()}));c(this,"_set",async({displayName:t,password:n})=>new Promise((r,s)=>{const{ua:o}=this;if(!o){s(new Error("this.ua is not initialized"));return}let i=!1,a=!1;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);const u=i||a;a&&this.isRegisterConfig?this.register().then(()=>{r(u)}).catch(s):u?r(u):s(u)}));c(this,"_disconnectWithoutCancelRequests",async()=>this._cancelableDisconnect.request());c(this,"_disconnect",async()=>{this.off(ue,this.handleNewRTCSession);const t=new Promise(n=>{this.once(w,()=>{delete this.ua,n()})});return this.ua?(await this._hangUpWithoutCancelRequests(),this.ua?this.ua.stop():this._uaEvents.trigger(w,void 0)):this._uaEvents.trigger(w,void 0),t});c(this,"_call",async({number:t,mediaStream:n,extraHeaders:r=[],ontrack:s,iceServers:o,videoMode:i,audioMode:a,degradationPreference:u,offerToReceiveAudio:l=!0,offerToReceiveVideo:d=!0})=>new Promise((E,h)=>{const{ua:S}=this;if(!S){h(new Error("this.ua is not initialized"));return}this._connectionConfiguration.number=t,this._connectionConfiguration.answer=!1,this._handleCall({ontrack:s}).then(E).catch(h),this.session=S.call(this.getSipServerUrl(t),{extraHeaders:r,mediaStream:ne(n,{videoMode:i,audioMode:a}),eventHandlers:this._sessionEvents.triggers,videoMode:i,audioMode:a,degradationPreference:u,pcConfig:{iceServers:o},rtcOfferConstraints:{offerToReceiveAudio:l,offerToReceiveVideo:d}})}));c(this,"_answer",async({mediaStream:t,ontrack:n,extraHeaders:r=[],iceServers:s,videoMode:o,audioMode:i,degradationPreference:a})=>new Promise((u,l)=>{if(!this.isAvailableIncomingCall){l(new Error("no incomingSession"));return}this.session=this.incomingSession,this.removeIncomingSession();const{session:d}=this;if(!d){l(new Error("No session established"));return}this._sessionEvents.eachTriggers((h,S)=>{const g=ve.find(C=>C===S);g&&d.on(g,h)}),this._connectionConfiguration.answer=!0,this._connectionConfiguration.number=d.remote_identity.uri.user,this._handleCall({ontrack:n}).then(u).catch(l);const E=ne(t,{videoMode:o,audioMode:i});d.answer({extraHeaders:r,videoMode:o,audioMode:i,degradationPreference:a,mediaStream:E,pcConfig:{iceServers:s}})}));c(this,"_handleCall",async({ontrack:t})=>new Promise((n,r)=>{const s=()=>{this.onSession(he,d),this.onSession(Ee,E)},o=()=>{this.offSession(he,d),this.offSession(Ee,E)},i=()=>{this.onSession(U,u),this.onSession(q,u)},a=()=>{this.offSession(U,u),this.offSession(q,u)},u=h=>{o(),a(),r(h)};let l;const d=({peerconnection:h})=>{l=h,l.ontrack=S=>{this._sessionEvents.trigger(It,l),t&&t(S)}},E=()=>{l&&this._sessionEvents.trigger(yt,l),o(),a(),n(l)};s(),i()}));c(this,"_restoreSession",()=>{this._resetPresentation(),delete this._connectionConfiguration.number,delete this.session,this._remoteStreams={}});c(this,"_sendDTMF",async t=>new Promise((n,r)=>{const{session:s}=this;if(!s){r(new Error("No session established"));return}this.onceSession(Gt,({originator:o})=>{o===Se&&n()}),s.sendDTMF(t,{duration:120,interToneGap:600})}));c(this,"_hangUpWithoutCancelRequests",async()=>{if(this.ua&&this.session){const{session:t}=this;this._streamPresentationCurrent&&await this.stopPresentation(),this._restoreSession(),t.isEnded()||t.terminate()}});c(this,"_handleShareState",t=>{switch(t){case Zt:{this._sessionEvents.trigger(Nt,void 0);break}case en:{this._sessionEvents.trigger(vt,void 0);break}case Gr:{this._sessionEvents.trigger(At,void 0);break}}});c(this,"_maybeTriggerChannels",t=>{const n=t.getHeader(Le),r=t.getHeader(Ue);if(n&&r){const s={inputChannels:n,outputChannels:r};this._sessionEvents.trigger(_e,s)}});c(this,"_handleNotify",t=>{switch(t.cmd){case hs:{const n=t;this._triggerChannelsNotify(n);break}case fs:{const n=t;this._triggerWebcastStartedNotify(n);break}case Ss:{const n=t;this._triggerWebcastStoppedNotify(n);break}case Cs:{const n=t;this._triggerAddedToListModeratorsNotify(n);break}case ms:{const n=t;this._triggerRemovedFromListModeratorsNotify(n);break}case Rs:{const n=t;this._triggerParticipantMoveRequestToConference(n);break}case Ns:{const n=t;this._triggerParticipantCancelingWordRequest(n);break}case vs:{const n=t;this._triggerParticipantMoveRequestToStream(n);break}case gs:{this._triggerAccountChangedNotify();break}case Ts:{this._triggerAccountDeletedNotify();break}case As:{const n=t;this._triggerConferenceParticipantTokenIssued(n);break}default:_("unknown cmd",t.cmd)}});c(this,"_triggerRemovedFromListModeratorsNotify",({conference:t})=>{const n={conference:t};this._uaEvents.trigger(Ft,n)});c(this,"_triggerAddedToListModeratorsNotify",({conference:t})=>{const n={conference:t};this._uaEvents.trigger(Ut,n)});c(this,"_triggerWebcastStartedNotify",({body:{conference:t,type:n}})=>{const r={conference:t,type:n};this._uaEvents.trigger(xt,r)});c(this,"_triggerWebcastStoppedNotify",({body:{conference:t,type:n}})=>{const r={conference:t,type:n};this._uaEvents.trigger(Wt,r)});c(this,"_triggerAccountChangedNotify",()=>{this._uaEvents.trigger(qt,void 0)});c(this,"_triggerAccountDeletedNotify",()=>{this._uaEvents.trigger(Vt,void 0)});c(this,"_triggerConferenceParticipantTokenIssued",({body:{conference:t,participant:n,jwt:r}})=>{const s={conference:t,participant:n,jwt:r};this._uaEvents.trigger(jt,s)});c(this,"_triggerChannelsNotify",t=>{const n=t.input,r=t.output,s={inputChannels:n,outputChannels:r};this._uaEvents.trigger(Ot,s)});c(this,"_triggerParticipantMoveRequestToConference",({body:{conference:t}})=>{const n={conference:t};this._uaEvents.trigger(kt,n)});c(this,"_triggerParticipantCancelingWordRequest",({body:{conference:t}})=>{const n={conference:t};this._uaEvents.trigger(Ht,n)});c(this,"_triggerParticipantMoveRequestToStream",({body:{conference:t}})=>{const n={conference:t};this._uaEvents.trigger(Bt,n)});c(this,"_triggerEnterRoom",t=>{const n=t.getHeader(yr);this._sessionEvents.trigger(pt,n)});c(this,"_triggerShareState",t=>{const n=t.getHeader(k);this._sessionEvents.trigger(le,n)});c(this,"_triggerMainCamControl",t=>{const n=t.getHeader(Lr),r=t.getHeader(Fe),s=r===j.ADMIN_SYNC_FORCED;if(n===M.ADMIN_START_MAIN_CAM)this._sessionEvents.trigger(wt,{isSyncForced:s});else if(n===M.ADMIN_STOP_MAIN_CAM)this._sessionEvents.trigger(Dt,{isSyncForced:s});else if((n===M.RESUME_MAIN_CAM||n===M.PAUSE_MAIN_CAM)&&r)this._sessionEvents.trigger(de,{isSyncForced:s});else{const o=t.getHeader(Fr);this._sessionEvents.trigger(Pt,{mainCam:n,resolutionMainCam:o})}});c(this,"_triggerMicControl",t=>{const n=t.getHeader(Ur),s=t.getHeader(Fe)===j.ADMIN_SYNC_FORCED;n===V.ADMIN_START_MIC?this._sessionEvents.trigger(Lt,{isSyncForced:s}):n===V.ADMIN_STOP_MIC&&this._sessionEvents.trigger($t,{isSyncForced:s})});c(this,"_triggerUseLicense",t=>{const n=t.getHeader($r);this._sessionEvents.trigger(bt,n)});c(this,"_handleNewInfo",t=>{const{originator:n}=t;if(n!=="remote")return;const{request:r}=t,s=r.getHeader(br);if(s)switch(s){case Ir:{this._triggerEnterRoom(r),this._maybeTriggerChannels(r);break}case Wr:{this._maybeHandleNotify(r);break}case te:{this._triggerShareState(r);break}case $e:{this._triggerMainCamControl(r);break}case Dr:{this._triggerMicControl(r);break}case wr:{this._triggerUseLicense(r);break}}});c(this,"_handleSipEvent",({request:t})=>{this._maybeHandleNotify(t)});c(this,"_maybeHandleNotify",t=>{const n=t.getHeader(qr);if(n){const r=JSON.parse(n);this._handleNotify(r)}});c(this,"_handleEnded",t=>{const{originator:n}=t;n===Be&&this._sessionEvents.trigger(Mt,t),this._restoreSession()});this.JsSIP=t,this._sessionEvents=new we(Qt),this._uaEvents=new we(Kt),this._cancelableConnect=new O.CancelableRequest(this._connect,{moduleName:D,afterCancelRequest:()=>{this._cancelableCreateUa.cancelRequest(),this._cancelableDisconnect.cancelRequest()}}),this._cancelableCreateUa=new O.CancelableRequest(this._createUa,{moduleName:D}),this._cancelableDisconnect=new O.CancelableRequest(this._disconnect,{moduleName:D}),this._cancelableSet=new O.CancelableRequest(this._set,{moduleName:D}),this._cancelableCall=new O.CancelableRequest(this._call,{moduleName:D}),this._cancelableAnswer=new O.CancelableRequest(this._answer,{moduleName:D}),this._cancelableSendDTMF=new O.CancelableRequest(this._sendDTMF,{moduleName:D}),this.onSession(le,this._handleShareState),this.onSession(Yt,this._handleNewInfo),this.on(Rt,this._handleSipEvent),this.onSession(U,this._handleEnded),this.onSession(q,this._handleEnded)}async register(){return new Promise((t,n)=>{this.isRegisterConfig&&this.ua?(this.ua.on(x,t),this.ua.on(W,n),this.ua.register()):n(new Error("Config is not registered"))})}async unregister(){return new Promise((t,n)=>{this.isRegistered&&this.ua?(this.ua.on(mt,t),this.ua.unregister()):n(new Error("ua is not registered"))})}async sendOptions(t,n,r){if(!this.ua)throw new Error("is not connected");return new Promise((s,o)=>{try{this.ua.sendOptions(t,n,{extraHeaders:r,eventHandlers:{succeeded:()=>{s()},failed:o}})}catch(i){o(i)}})}async ping(t,n){var s;if(!((s=this.ua)!=null&&s.configuration.uri))throw new Error("is not connected");const r=this.ua.configuration.uri;return this.sendOptions(r,t,n)}async replaceMediaStream(t,n){if(!this.session)throw new Error("No session established");return this.session.replaceMediaStream(t,n)}async askPermissionToEnableCam(t={}){if(!this.session)throw new Error("No session established");const n=[Jr];return this.session.sendInfo($e,void 0,{noTerminateWhenError:!0,...t,extraHeaders:n}).catch(r=>{if(ss(r))throw r})}get isPendingPresentation(){return!!this.promisePendingStartPresentation||!!this.promisePendingStopPresentation}async _sendPresentation(t,n,{maxBitrate:r,degradationPreference:s,isNeedReinvite:o=!0,isP2P:i=!1}){const a=ne(n);this._streamPresentationCurrent=a;const u=i?[Yr]:[Vr],l=t.sendInfo(te,void 0,{extraHeaders:u}).then(async()=>t.startPresentation(a,o,s)).then(async()=>{const{connection:d}=this;if(!d||r===void 0)return;const E=d.getSenders();return ls(E,n,r)}).then(()=>n).catch(d=>{throw this._sessionEvents.trigger(fe,d),d});return this.promisePendingStartPresentation=l,l.finally(()=>{this.promisePendingStartPresentation=void 0})}async startPresentation(t,{isNeedReinvite:n=!0,isP2P:r=!1,maxBitrate:s,degradationPreference:o}={}){const i=this.establishedSession;if(!i)throw new Error("No session established");if(this._streamPresentationCurrent)throw new Error("Presentation is already started");return this._sendPresentation(i,t,{isNeedReinvite:n,isP2P:r,maxBitrate:s,degradationPreference:o})}async stopPresentation({isP2P:t=!1}={}){const n=this._streamPresentationCurrent;let r=this.promisePendingStartPresentation??Promise.resolve();const s=t?[Xr]:[jr],o=this.establishedSession;return o&&n&&(r=r.then(async()=>o.sendInfo(te,void 0,{extraHeaders:s})).then(async()=>o.stopPresentation(n)).catch(i=>{throw this._sessionEvents.trigger(fe,i),i})),!o&&n&&this._sessionEvents.trigger(Xt,n),this.promisePendingStopPresentation=r,r.finally(()=>{this._resetPresentation()})}async updatePresentation(t,{isP2P:n=!1,maxBitrate:r,degradationPreference:s}={}){const o=this.establishedSession;if(!o)throw new Error("No session established");if(!this._streamPresentationCurrent)throw new Error("Presentation has not started yet");return this.promisePendingStartPresentation&&await this.promisePendingStartPresentation,this._sendPresentation(o,t,{isP2P:n,maxBitrate:r,degradationPreference:s,isNeedReinvite:!1})}_resetPresentation(){delete this._streamPresentationCurrent,this.promisePendingStartPresentation=void 0,this.promisePendingStopPresentation=void 0}on(t,n){return this._uaEvents.on(t,n)}once(t,n){return this._uaEvents.once(t,n)}onceRace(t,n){return this._uaEvents.onceRace(t,n)}async wait(t){return this._uaEvents.wait(t)}off(t,n){this._uaEvents.off(t,n)}onSession(t,n){return this._sessionEvents.on(t,n)}onceSession(t,n){return this._sessionEvents.once(t,n)}onceRaceSession(t,n){return this._sessionEvents.onceRace(t,n)}async waitSession(t){return this._sessionEvents.wait(t)}offSession(t,n){this._sessionEvents.off(t,n)}isConfigured(){return!!this.ua}getConnectionConfiguration(){return{...this._connectionConfiguration}}getRemoteStreams(){if(!this.connection)return;const n=this.connection.getReceivers().map(({track:r})=>r);return ns(n)?this._generateStreams(n):this._generateAudioStreams(n)}get connection(){var n;return(n=this.session)==null?void 0:n.connection}get remoteCallerData(){var t,n,r,s,o,i;return{displayName:(n=(t=this.incomingSession)==null?void 0:t.remote_identity)==null?void 0:n.display_name,host:(s=(r=this.incomingSession)==null?void 0:r.remote_identity)==null?void 0:s.uri.host,incomingNumber:(i=(o=this.incomingSession)==null?void 0:o.remote_identity)==null?void 0:i.uri.user,session:this.incomingSession}}get requested(){return this._cancelableConnect.requested||this._cancelableCreateUa.requested||this._cancelableCall.requested||this._cancelableAnswer.requested}get establishedSession(){return this.session&&this.session.isEstablished()?this.session:void 0}get isRegistered(){return!!this.ua&&this.ua.isRegistered()}get isRegisterConfig(){return!!this.ua&&this._isRegisterConfig}get isCallActive(){return!!(this.ua&&this.session)}get isAvailableIncomingCall(){return!!this.incomingSession}_init({sipServerUrl:t,sipWebSocketServerURL:n}){this.getSipServerUrl=Zr(t),this.socket=new this.JsSIP.WebSocketInterface(n)}_generateStream(t,n){const{id:r}=t,s=this._remoteStreams[r]||new MediaStream;return n&&s.addTrack(n),s.addTrack(t),this._remoteStreams[r]=s,s}_generateAudioStream(t){const{id:n}=t,r=this._remoteStreams[n]||new MediaStream;return r.addTrack(t),this._remoteStreams[n]=r,r}_generateStreams(t){const n=[];return t.forEach((r,s)=>{if(r.kind==="audio")return;const o=r,i=t[s-1];let a;i&&i.kind==="audio"&&(a=i);const u=this._generateStream(o,a);n.push(u)}),n}_generateAudioStreams(t){return t.map(r=>this._generateAudioStream(r))}_cancelRequests(){this._cancelActionsRequests(),this._cancelCallRequests(),this._cancelConnectRequests()}_cancelConnectRequests(){this._cancelableConnect.cancelRequest()}_cancelCallRequests(){this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest()}_cancelActionsRequests(){this._cancelableAnswer.cancelRequest(),this._cancelableSendDTMF.cancelRequest()}async waitChannels(){return this.waitSession(_e)}async waitSyncMediaState(){return this.waitSession(de)}async sendChannels({inputChannels:t,outputChannels:n}){if(!this.session)throw new Error("No session established");const r=`${Le}: ${t}`,s=`${Ue}: ${n}`,o=[r,s];return this.session.sendInfo(Or,void 0,{extraHeaders:o})}async sendMediaState({cam:t,mic:n},r={}){if(!this.session)throw new Error("No session established");const s=`${kr}: currentstate`,o=`${Hr}: ${Number(t)}`,i=`${xr}: ${Number(n)}`,a=[s,o,i];return this.session.sendInfo(Mr,void 0,{noTerminateWhenError:!0,...r,extraHeaders:a})}async _sendRefusalToTurnOn(t,n={}){if(!this.session)throw new Error("No session established");const a=[`${Br}: ${t==="mic"?0:1}`];return this.session.sendInfo(Pr,void 0,{noTerminateWhenError:!0,...n,extraHeaders:a})}async sendRefusalToTurnOnMic(t={}){if(!this.session)throw new Error("No session established");return this._sendRefusalToTurnOn("mic",{noTerminateWhenError:!0,...t})}async sendRefusalToTurnOnCam(t={}){if(!this.session)throw new Error("No session established");return this._sendRefusalToTurnOn("cam",{noTerminateWhenError:!0,...t})}}const on="purgatory",F=e=>e===on,pe=e=>()=>(_("getRemoteStreams"),e.getRemoteStreams()),bs=({kind:e,readyState:t})=>e==="video"&&t==="live",an=e=>({track:t})=>{bs(t)&&e()};var H=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ys(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var $=ys,Is=typeof H=="object"&&H&&H.Object===Object&&H,cn=Is,Os=cn,Ms=typeof self=="object"&&self&&self.Object===Object&&self,Ps=Os||Ms||Function("return this")(),K=Ps,Ds=K,ws=function(){return Ds.Date.now()},$s=ws,Ls=/\s/;function Us(e){for(var t=e.length;t--&&Ls.test(e.charAt(t)););return t}var Fs=Us,ks=Fs,Bs=/^\s+/;function Hs(e){return e&&e.slice(0,ks(e)+1).replace(Bs,"")}var xs=Hs,Ws=K,qs=Ws.Symbol,Q=qs,He=Q,un=Object.prototype,Vs=un.hasOwnProperty,js=un.toString,L=He?He.toStringTag:void 0;function Gs(e){var t=Vs.call(e,L),n=e[L];try{e[L]=void 0;var r=!0}catch{}var s=js.call(e);return r&&(t?e[L]=n:delete e[L]),s}var Ys=Gs,Xs=Object.prototype,zs=Xs.toString;function Js(e){return zs.call(e)}var Ks=Js,xe=Q,Qs=Ys,Zs=Ks,eo="[object Null]",to="[object Undefined]",We=xe?xe.toStringTag:void 0;function no(e){return e==null?e===void 0?to:eo:We&&We in Object(e)?Qs(e):Zs(e)}var Z=no;function ro(e){return e!=null&&typeof e=="object"}var B=ro,so=Z,oo=B,io="[object Symbol]";function ao(e){return typeof e=="symbol"||oo(e)&&so(e)==io}var ln=ao,co=xs,qe=$,uo=ln,Ve=0/0,lo=/^[-+]0x[0-9a-f]+$/i,_o=/^0b[01]+$/i,Eo=/^0o[0-7]+$/i,ho=parseInt;function fo(e){if(typeof e=="number")return e;if(uo(e))return Ve;if(qe(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=qe(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=co(e);var n=_o.test(e);return n||Eo.test(e)?ho(e.slice(2),n?2:8):lo.test(e)?Ve:+e}var So=fo,go=$,re=$s,je=So,To="Expected a function",Co=Math.max,mo=Math.min;function Ro(e,t,n){var r,s,o,i,a,u,l=0,d=!1,E=!1,h=!0;if(typeof e!="function")throw new TypeError(To);t=je(t)||0,go(n)&&(d=!!n.leading,E="maxWait"in n,o=E?Co(je(n.maxWait)||0,t):o,h="trailing"in n?!!n.trailing:h);function S(f){var R=r,p=s;return r=s=void 0,l=f,i=e.apply(p,R),i}function g(f){return l=f,a=setTimeout(A,t),d?S(f):i}function C(f){var R=f-u,p=f-l,P=t-R;return E?mo(P,o-p):P}function m(f){var R=f-u,p=f-l;return u===void 0||R>=t||R<0||E&&p>=o}function A(){var f=re();if(m(f))return b(f);a=setTimeout(A,C(f))}function b(f){return a=void 0,h&&r?S(f):(r=s=void 0,i)}function N(){a!==void 0&&clearTimeout(a),l=0,r=u=s=a=void 0}function v(){return a===void 0?i:b(re())}function y(){var f=re(),R=m(f);if(r=arguments,s=this,u=f,R){if(a===void 0)return g(u);if(E)return clearTimeout(a),a=setTimeout(A,t),S(u)}return a===void 0&&(a=setTimeout(A,t)),i}return y.cancel=N,y.flush=v,y}var No=Ro;const vo=be(No),ye=({getRemoteStreams:e,setRemoteStreams:t})=>vo(()=>{const n=e();_("remoteStreams",n),n&&t(n)},200),Ao=e=>async n=>{const{mediaStream:r,extraHeaders:s,iceServers:o,degradationPreference:i,setRemoteStreams:a,onBeforeProgressCall:u,onSuccessProgressCall:l,onEnterPurgatory:d,onEnterConference:E,onFailProgressCall:h,onFinishProgressCall:S,onEndedCall:g}=n,C=ye({setRemoteStreams:a,getRemoteStreams:pe(e)}),m=an(C);_("answerIncomingCall",n);const A=async()=>e.answerToIncomingCall({mediaStream:r,extraHeaders:s,iceServers:o,degradationPreference:i,ontrack:m}),b=()=>{const{remoteCallerData:T}=e;return T.incomingNumber};let N=!1,v;const f=(()=>(_("subscribeEnterConference: onEnterConference",E),d??E?e.onSession("enterRoom",T=>{_("enterRoom",{_room:T,isSuccessProgressCall:N}),v=T,F(v)?d&&d():E&&E({isSuccessProgressCall:N})}):()=>{}))(),R=T=>(_("onSuccess"),N=!0,C(),l&&l({isPurgatory:F(v)}),e.onceRaceSession(["ended","failed"],()=>{f(),g&&g()}),T),p=T=>{throw _("onFail"),h&&h(),f(),T},P=()=>{_("onFinish"),S&&S()};if(_("onBeforeProgressCall"),u){const T=b();u(T)}return A().then(R).catch(p).finally(P)},po=e=>async n=>{const{conference:r,mediaStream:s,extraHeaders:o,iceServers:i,degradationPreference:a,setRemoteStreams:u,onBeforeProgressCall:l,onSuccessProgressCall:d,onEnterPurgatory:E,onEnterConference:h,onFailProgressCall:S,onFinishProgressCall:g,onEndedCall:C}=n,m=ye({setRemoteStreams:u,getRemoteStreams:pe(e)}),A=an(m);_("callToServer",n);const b=async()=>(_("startCall"),e.call({mediaStream:s,extraHeaders:o,iceServers:i,degradationPreference:a,number:r,ontrack:A}));let N=!1,v;const f=(()=>(_("subscribeEnterConference: onEnterConference",h),E??h?e.onSession("enterRoom",T=>{_("enterRoom",{_room:T,isSuccessProgressCall:N}),v=T,F(v)?E&&E():h&&h({isSuccessProgressCall:N})}):()=>{}))(),R=T=>(_("onSuccess"),N=!0,m(),d&&d({isPurgatory:F(v)}),e.onceRaceSession(["ended","failed"],()=>{f(),C&&C()}),T),p=T=>{throw _("onFail"),S&&S(),f(),T},P=()=>{_("onFinish"),g&&g()};return _("onBeforeProgressCall"),l&&l(r),b().then(R).catch(p).finally(P)},se=e=>{if(!O.isCanceledError(e))throw e;return!1},bo=e=>async n=>{const{userAgent:r,sipWebSocketServerURL:s,sipServerUrl:o,remoteAddress:i,displayName:a,name:u,password:l,isRegisteredUser:d,sdpSemantics:E,isDisconnectOnFail:h}=n;return _("connectToServer",n),e.connect({userAgent:r,sdpSemantics:E,sipWebSocketServerURL:s,sipServerUrl:o,remoteAddress:i,displayName:a,password:l,user:u,register:d}).then(()=>(_("connectToServer then"),!0)).catch(async S=>(_("connectToServer catch: error",S),h===!0?e.disconnect().then(()=>se(S)).catch(()=>se(S)):se(S)))},yo=e=>async()=>(_("disconnectFromServer"),e.disconnect().then(()=>(_("disconnectFromServer: then"),!1)).catch(t=>(_("disconnectFromServer: catch",t),!1))),Ie=e=>{const{url:t,cause:n}=e;let r=t;return(n===me||n===Ce)&&(r=`${e.message.to.uri.user}@${e.message.to.uri.host}`),r};var _n=(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||{});const Io=(e=new Error)=>{var s;const{cause:t,socket:n}=e;let r="CONNECT_SERVER_FAILED";switch(t){case"Forbidden":{r="WRONG_USER_OR_PASSWORD";break}case me:{r="BAD_MEDIA_ERROR";break}case Ce:{r="NOT_FOUND_ERROR";break}default: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")}return r},Oo=(e=new Error)=>{const{code:t,cause:n,message:r}=e,s=Ie(e),o={};return r&&(o.message=r),s&&(o.link=s),t&&(o.code=t),n&&(o.cause=n),o},Mo=Object.freeze(Object.defineProperty({__proto__:null,EErrorTypes:_n,getLinkError:Ie,getTypeFromError:Io,getValuesFromError:Oo},Symbol.toStringTag,{value:"Module"})),Po=({sessionId:e,remoteAddress:t,isMutedAudio:n,isMutedVideo:r,isRegistered:s,isPresentationCall:o})=>{const i=[],a=n?"0":"1",u=r?"0":"1";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},Do=({appName:e,appVersion:t,browserName:n,browserVersion:r})=>{const s=`${e} ${t}`;return`ChromeNew - ${n?`${n} ${r}, ${s}`:s}`},wo=({isUnifiedSdpSemantic:e,appVersion:t,browserName:n,browserVersion:r,appName:s})=>e?Do({appVersion:t,browserName:n,browserVersion:r,appName:s}):"Chrome",$o=e=>async()=>{if(e.isCallActive)return _("askPermissionToEnableCam"),e.askPermissionToEnableCam()},Lo=e=>n=>(_("onMustStopPresentation"),e.onSession("mustStopPresentation",n)),Uo=e=>n=>(_("onUseLicense"),e.onSession("useLicense",n)),Fo=e=>async({isEnabledCam:n,isEnabledMic:r})=>{if(e.isCallActive)return _("sendMediaState"),e.sendMediaState({cam:n,mic:r})},ko=e=>async()=>{if(e.isCallActive)return _("sendRefusalToTurnOnCam"),e.sendRefusalToTurnOnCam().catch(n=>{_("sendRefusalToTurnOnCam: error",n)})},Bo=e=>async()=>{if(e.isCallActive)return _("sendRefusalToTurnOnMic"),e.sendRefusalToTurnOnMic().catch(n=>{_("sendRefusalToTurnOnMic: error",n)})},Ho=1e6,xo=({maxBitrate:e=Ho,sipConnector:t})=>async({mediaStream:r,isP2P:s=!1})=>(_("startPresentation"),t.startPresentation(r,{isP2P:s,maxBitrate:e})),Wo=({sipConnector:e})=>async({isP2P:n=!1}={})=>(_("stopShareSipConnector"),e.stopPresentation({isP2P:n}).catch(_)),qo=1e6,Vo=({sipConnector:e,maxBitrate:t=qo})=>async({mediaStream:r,isP2P:s=!1})=>(_("updatePresentation"),e.updatePresentation(r,{isP2P:s,maxBitrate:t}));var jo=$,Ge=Object.create,Go=function(){function e(){}return function(t){if(!jo(t))return{};if(Ge)return Ge(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),dn=Go;function Yo(){}var Oe=Yo,Xo=dn,zo=Oe;function G(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}G.prototype=Xo(zo.prototype);G.prototype.constructor=G;var Me=G;function Jo(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e}var Ko=Jo,Qo=Z,Zo=B,ei="[object Arguments]";function ti(e){return Zo(e)&&Qo(e)==ei}var ni=ti,Ye=ni,ri=B,En=Object.prototype,si=En.hasOwnProperty,oi=En.propertyIsEnumerable,ii=Ye(function(){return arguments}())?Ye:function(e){return ri(e)&&si.call(e,"callee")&&!oi.call(e,"callee")},ai=ii,ci=Array.isArray,ee=ci,Xe=Q,ui=ai,li=ee,ze=Xe?Xe.isConcatSpreadable:void 0;function _i(e){return li(e)||ui(e)||!!(ze&&e&&e[ze])}var di=_i,Ei=Ko,hi=di;function hn(e,t,n,r,s){var o=-1,i=e.length;for(n||(n=hi),s||(s=[]);++o<i;){var a=e[o];t>0&&n(a)?t>1?hn(a,t-1,n,r,s):Ei(s,a):r||(s[s.length]=a)}return s}var fi=hn,Si=fi;function gi(e){var t=e==null?0:e.length;return t?Si(e,1):[]}var Ti=gi;function Ci(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var mi=Ci,Ri=mi,Je=Math.max;function Ni(e,t,n){return t=Je(t===void 0?e.length-1:t,0),function(){for(var r=arguments,s=-1,o=Je(r.length-t,0),i=Array(o);++s<o;)i[s]=r[t+s];s=-1;for(var a=Array(t+1);++s<t;)a[s]=r[s];return a[t]=n(i),Ri(e,this,a)}}var vi=Ni;function Ai(e){return function(){return e}}var pi=Ai,bi=Z,yi=$,Ii="[object AsyncFunction]",Oi="[object Function]",Mi="[object GeneratorFunction]",Pi="[object Proxy]";function Di(e){if(!yi(e))return!1;var t=bi(e);return t==Oi||t==Mi||t==Ii||t==Pi}var fn=Di,wi=K,$i=wi["__core-js_shared__"],Li=$i,oe=Li,Ke=function(){var e=/[^.]+$/.exec(oe&&oe.keys&&oe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ui(e){return!!Ke&&Ke in e}var Fi=Ui,ki=Function.prototype,Bi=ki.toString;function Hi(e){if(e!=null){try{return Bi.call(e)}catch{}try{return e+""}catch{}}return""}var xi=Hi,Wi=fn,qi=Fi,Vi=$,ji=xi,Gi=/[\\^$.*+?()[\]{}|]/g,Yi=/^\[object .+?Constructor\]$/,Xi=Function.prototype,zi=Object.prototype,Ji=Xi.toString,Ki=zi.hasOwnProperty,Qi=RegExp("^"+Ji.call(Ki).replace(Gi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Zi(e){if(!Vi(e)||qi(e))return!1;var t=Wi(e)?Qi:Yi;return t.test(ji(e))}var ea=Zi;function ta(e,t){return e==null?void 0:e[t]}var na=ta,ra=ea,sa=na;function oa(e,t){var n=sa(e,t);return ra(n)?n:void 0}var Sn=oa,ia=Sn,aa=function(){try{var e=ia(Object,"defineProperty");return e({},"",{}),e}catch{}}(),ca=aa;function ua(e){return e}var la=ua,_a=pi,Qe=ca,da=la,Ea=Qe?function(e,t){return Qe(e,"toString",{configurable:!0,enumerable:!1,value:_a(t),writable:!0})}:da,ha=Ea,fa=800,Sa=16,ga=Date.now;function Ta(e){var t=0,n=0;return function(){var r=ga(),s=Sa-(r-n);if(n=r,s>0){if(++t>=fa)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Ca=Ta,ma=ha,Ra=Ca,Na=Ra(ma),va=Na,Aa=Ti,pa=vi,ba=va;function ya(e){return ba(pa(e,void 0,Aa),e+"")}var Ia=ya,Oa=Sn,Ma=K,Pa=Oa(Ma,"WeakMap"),Da=Pa,Ze=Da,wa=Ze&&new Ze,$a=wa;function La(){}var Ua=La,et=$a,Fa=Ua,ka=et?function(e){return et.get(e)}:Fa,gn=ka,Ba={},Ha=Ba,tt=Ha,xa=Object.prototype,Wa=xa.hasOwnProperty;function qa(e){for(var t=e.name+"",n=tt[t],r=Wa.call(tt,t)?n.length:0;r--;){var s=n[r],o=s.func;if(o==null||o==e)return s.name}return t}var Tn=qa,Va=dn,ja=Oe,Ga=4294967295;function Y(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ga,this.__views__=[]}Y.prototype=Va(ja.prototype);Y.prototype.constructor=Y;var Pe=Y;function Ya(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}var Xa=Ya,za=Pe,Ja=Me,Ka=Xa;function Qa(e){if(e instanceof za)return e.clone();var t=new Ja(e.__wrapped__,e.__chain__);return t.__actions__=Ka(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Za=Qa,ec=Pe,nt=Me,tc=Oe,nc=ee,rc=B,sc=Za,oc=Object.prototype,ic=oc.hasOwnProperty;function X(e){if(rc(e)&&!nc(e)&&!(e instanceof ec)){if(e instanceof nt)return e;if(ic.call(e,"__wrapped__"))return sc(e)}return new nt(e)}X.prototype=tc.prototype;X.prototype.constructor=X;var ac=X,cc=Pe,uc=gn,lc=Tn,_c=ac;function dc(e){var t=lc(e),n=_c[t];if(typeof n!="function"||!(t in cc.prototype))return!1;if(e===n)return!0;var r=uc(n);return!!r&&e===r[0]}var Ec=dc,rt=Me,hc=Ia,fc=gn,ie=Tn,Sc=ee,st=Ec,gc="Expected a function",Tc=8,Cc=32,mc=128,Rc=256;function Nc(e){return hc(function(t){var n=t.length,r=n,s=rt.prototype.thru;for(e&&t.reverse();r--;){var o=t[r];if(typeof o!="function")throw new TypeError(gc);if(s&&!i&&ie(o)=="wrapper")var i=new rt([],!0)}for(r=i?r:n;++r<n;){o=t[r];var a=ie(o),u=a=="wrapper"?fc(o):void 0;u&&st(u[0])&&u[1]==(mc|Tc|Cc|Rc)&&!u[4].length&&u[9]==1?i=i[ie(u[0])].apply(i,u[3]):i=o.length==1&&st(o)?i[a]():i.thru(o)}return function(){var l=arguments,d=l[0];if(i&&l.length==1&&Sc(d))return i.plant(d).value();for(var E=0,h=n?t[E].apply(this,l):d;++E<n;)h=t[E].call(this,h);return h}})}var vc=Nc,Ac=vc,pc=Ac(),bc=pc;const yc=be(bc);function Ic(e,t){for(var n=-1,r=e==null?0:e.length,s=Array(r);++n<r;)s[n]=t(e[n],n,e);return s}var Oc=Ic,ot=Q,Mc=Oc,Pc=ee,Dc=ln,wc=1/0,it=ot?ot.prototype:void 0,at=it?it.toString:void 0;function Cn(e){if(typeof e=="string")return e;if(Pc(e))return Mc(e,Cn)+"";if(Dc(e))return at?at.call(e):"";var t=e+"";return t=="0"&&1/e==-wc?"-0":t}var mn=Cn;function $c(e,t,n){var r=-1,s=e.length;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;for(var o=Array(s);++r<s;)o[r]=e[r+t];return o}var Lc=$c,Uc=Lc;function Fc(e,t,n){var r=e.length;return n=n===void 0?r:n,!t&&n>=r?e:Uc(e,t,n)}var kc=Fc,Bc="\\ud800-\\udfff",Hc="\\u0300-\\u036f",xc="\\ufe20-\\ufe2f",Wc="\\u20d0-\\u20ff",qc=Hc+xc+Wc,Vc="\\ufe0e\\ufe0f",jc="\\u200d",Gc=RegExp("["+jc+Bc+qc+Vc+"]");function Yc(e){return Gc.test(e)}var Rn=Yc;function Xc(e,t){return e===t||e!==e&&t!==t}var zc=Xc,Jc=9007199254740991;function Kc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Jc}var Qc=Kc,Zc=fn,eu=Qc;function tu(e){return e!=null&&eu(e.length)&&!Zc(e)}var nu=tu,ru=9007199254740991,su=/^(?:0|[1-9]\d*)$/;function ou(e,t){var n=typeof e;return t=t??ru,!!t&&(n=="number"||n!="symbol"&&su.test(e))&&e>-1&&e%1==0&&e<t}var iu=ou,au=zc,cu=nu,uu=iu,lu=$;function _u(e,t,n){if(!lu(n))return!1;var r=typeof t;return(r=="number"?cu(n)&&uu(t,n.length):r=="string"&&t in n)?au(n[t],e):!1}var du=_u,Eu=Z,hu=B,fu="[object RegExp]";function Su(e){return hu(e)&&Eu(e)==fu}var gu=Su;function Tu(e){return function(t){return e(t)}}var Cu=Tu,z={exports:{}};z.exports;(function(e,t){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(){try{var u=s&&s.require&&s.require("util").types;return u||i&&i.binding&&i.binding("util")}catch{}}();e.exports=a})(z,z.exports);var mu=z.exports,Ru=gu,Nu=Cu,ct=mu,ut=ct&&ct.isRegExp,vu=ut?Nu(ut):Ru,Au=vu;function pu(e){return e.split("")}var bu=pu,Nn="\\ud800-\\udfff",yu="\\u0300-\\u036f",Iu="\\ufe20-\\ufe2f",Ou="\\u20d0-\\u20ff",Mu=yu+Iu+Ou,Pu="\\ufe0e\\ufe0f",Du="["+Nn+"]",ge="["+Mu+"]",Te="\\ud83c[\\udffb-\\udfff]",wu="(?:"+ge+"|"+Te+")",vn="[^"+Nn+"]",An="(?:\\ud83c[\\udde6-\\uddff]){2}",pn="[\\ud800-\\udbff][\\udc00-\\udfff]",$u="\\u200d",bn=wu+"?",yn="["+Pu+"]?",Lu="(?:"+$u+"(?:"+[vn,An,pn].join("|")+")"+yn+bn+")*",Uu=yn+bn+Lu,Fu="(?:"+[vn+ge+"?",ge,An,pn,Du].join("|")+")",ku=RegExp(Te+"(?="+Te+")|"+Fu+Uu,"g");function Bu(e){return e.match(ku)||[]}var Hu=Bu,xu=bu,Wu=Rn,qu=Hu;function Vu(e){return Wu(e)?qu(e):xu(e)}var ju=Vu,Gu=mn;function Yu(e){return e==null?"":Gu(e)}var Xu=Yu,zu=mn,Ju=kc,Ku=Rn,Qu=du,Zu=Au,el=ju,tl=Xu,nl=4294967295;function rl(e,t,n){return n&&typeof n!="number"&&Qu(e,t,n)&&(t=n=void 0),n=n===void 0?nl:n>>>0,n?(e=tl(e),e&&(typeof t=="string"||t!=null&&!Zu(t))&&(t=zu(t),!t&&Ku(e))?Ju(el(e),0,n):e.split(t,n)):[]}var sl=rl;const ol=be(sl),il=e=>yc(t=>ol(t,""),t=>t.map(n=>async()=>e(n))),al=async({accumulatedKeys:e,sendKey:t,canRunTask:n})=>{const s=il(t)(e);return Un(s,n)},cl=e=>n=>(_("onStartMainCam"),e.onSession("admin-start-main-cam",n)),ul=e=>n=>(_("onStartMic"),e.onSession("admin-start-mic",n)),ll=e=>n=>(_("onStopMainCam"),e.onSession("admin-stop-main-cam",n)),_l=e=>n=>(_("onStopMic"),e.onSession("admin-stop-mic",n)),dl=({sipConnector:e})=>{const t=(g,C)=>({isSyncForced:m=!1})=>{if(m){g();return}C()},n=cl(e),r=ll(e),s=ul(e),o=_l(e);let i=()=>{},a=()=>{},u=()=>{},l=()=>{};const d=({onStartMainCamForced:g,onStartMainCamNotForced:C,onStopMainCamForced:m,onStopMainCamNotForced:A,onStartMicForced:b,onStartMicNotForced:N,onStopMicForced:v,onStopMicNotForced:y})=>{const f=t(g,C);i=n(f);const R=t(m,A);a=r(R);const p=t(b,N);u=s(p);const P=t(v,y);l=o(P)},E=()=>{i(),a(),u(),l()};return{start:g=>{d(g)},stop:()=>{E()}}},El=Object.freeze(Object.defineProperty({__proto__:null,PURGATORY_CONFERENCE_NUMBER:on,createSyncMediaState:dl,error:Mo,getExtraHeaders:Po,getUserAgent:wo,hasPurgatory:F,resolveAnswerIncomingCall:Ao,resolveAskPermissionToEnableCam:$o,resolveCallToServer:po,resolveConnectToServer:bo,resolveDisconnectFromServer:yo,resolveGetRemoteStreams:pe,resolveOnMustStopPresentation:Lo,resolveOnUseLicense:Uo,resolveSendMediaState:Fo,resolveSendRefusalToTurnOnCam:ko,resolveSendRefusalToTurnOnMic:Bo,resolveStartPresentation:xo,resolveStopShareSipConnector:Wo,resolveUpdatePresentation:Vo,resolveUpdateRemoteStreams:ye,sendDTMFAccumulated:al},Symbol.toStringTag,{value:"Module"})),hl=e=>[...e.keys()].map(t=>e.get(t)),fl=(e,t)=>hl(e).find(n=>n.type===t),In=async e=>e.getStats().then(t=>{const n=fl(t,"codec");return n==null?void 0:n.mimeType}),Sl=e=>e.find(t=>{var n;return((n=t==null?void 0:t.track)==null?void 0:n.kind)==="video"}),On=(e,t)=>e!==void 0&&t!==void 0&&e.toLowerCase().includes(t.toLowerCase()),gl=1e6,I=e=>e*gl,Mn=I(.06),Tl=I(4),Cl=e=>e<=64?Mn:e<=128?I(.12):e<=256?I(.25):e<=384?I(.32):e<=426?I(.38):e<=640?I(.5):e<=848?I(.7):e<=1280?I(1):e<=1920?I(2):Tl,ml="av1",Rl=e=>On(e,ml),Nl=.6,Pn=(e,t)=>Rl(t)?e*Nl:e,vl=e=>Pn(Mn,e),Dn=(e,t)=>{const n=Cl(e);return Pn(n,t)},wn=Fn(),Al=async()=>wn().catch(e=>{_("videoSendingBalancer: error",e)}),pl=async e=>(wn.add(e),Al()),De=async({sender:e,scaleResolutionDownBy:t,maxBitrate:n,onSetParameters:r})=>pl(async()=>sn(e,{scaleResolutionDownBy:t,maxBitrate:n},r)),bl=async({sender:e,codec:t},n)=>{const s=vl(t);return De({sender:e,maxBitrate:s,onSetParameters:n,scaleResolutionDownBy:200})},ae=async({sender:e,track:t,codec:n},r)=>{const i=t.getSettings().width,a=Dn(i,n);return De({sender:e,maxBitrate:a,onSetParameters:r,scaleResolutionDownBy:1})},yl=async({sender:e,track:t,resolution:n,codec:r},s)=>{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=Dn(Number(u),r);return De({sender:e,maxBitrate:g,onSetParameters:s,scaleResolutionDownBy:S})},Il=async({mainCam:e,resolutionMainCam:t,sender:n,track:r,codec:s},o)=>{switch(e){case M.PAUSE_MAIN_CAM:return bl({sender:n,codec:s},o);case M.RESUME_MAIN_CAM:return ae({sender:n,track:r,codec:s},o);case M.MAX_MAIN_CAM_RESOLUTION:return t!==void 0?yl({sender:n,track:r,codec:s,resolution:t},o):ae({sender:n,track:r,codec:s},o);default:return ae({sender:n,track:r,codec:s},o)}},lt={isChanged:!1,parameters:{encodings:[{}],transactionId:"0",codecs:[],headerExtensions:[],rtcp:{}}},_t=async({mainCam:e,resolutionMainCam:t,connection:n,onSetParameters:r,ignoreForCodec:s})=>{const o=n.getSenders(),i=Sl(o);if(!(i!=null&&i.track))return lt;const a=await In(i);return On(a,s)?lt:Il({mainCam:e,resolutionMainCam:t,sender:i,codec:a,track:i.track},r)},Ol=(e,{ignoreForCodec:t,onSetParameters:n}={})=>{const r=async()=>{const{connection:u}=e;if(!u)throw new Error("connection is not exist");return _t({connection:u,onSetParameters:n,ignoreForCodec:t})};let s=r;const o=async u=>(s=async()=>{const{mainCam:l,resolutionMainCam:d}=u,{connection:E}=e;if(!E)throw new Error("connection is not exist");return _t({mainCam:l,resolutionMainCam:d,connection:E,onSetParameters:n,ignoreForCodec:t})},s());return{subscribe:()=>{e.onSession("main-cam-control",o)},unsubscribe:()=>{e.offSession("main-cam-control",o)},balanceByTrack:r,resetMainCamControl(){s=r},async reBalance(){return s()}}};exports.debug=J;exports.EEventsMainCAM=M;exports.EEventsMic=V;exports.EEventsSyncMediaState=j;exports.EUseLicense=tn;exports.causes=tr;exports.default=ps;exports.disableDebug=Qr;exports.enableDebug=Kr;exports.eventNames=Ar;exports.getCodecFromSender=In;exports.hasCanceledCallError=Es;exports.resolveVideoSendingBalancer=Ol;exports.tools=El;
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import getCodecFromSender from './utils/getCodecFromSender';
2
- import SipConnector, { hasCanceledCallError, EUseLicense } from './SipConnector';
3
- import resolveVideoSendingBalancer from './videoSendingBalancer';
4
- import * as causes from './causes';
5
- import * as tools from './tools';
6
- import * as eventNames from './eventNames';
1
+ import SipConnector from './SipConnector';
2
+ export { hasCanceledCallError } from './SipConnector';
3
+ export * as causes from './causes';
4
+ export * as eventNames from './eventNames';
7
5
  export { debug, disableDebug, enableDebug } from './logger';
8
- export { causes, tools, eventNames, hasCanceledCallError, EUseLicense, resolveVideoSendingBalancer, getCodecFromSender, };
6
+ export * as tools from './tools';
7
+ export * from './types';
8
+ export { default as getCodecFromSender } from './utils/getCodecFromSender';
9
+ export { default as resolveVideoSendingBalancer } from './videoSendingBalancer';
9
10
  export default SipConnector;
10
- //# sourceMappingURL=index.d.ts.map