@ale-rainbow/web-sdk 5.1.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 (556) hide show
  1. package/README.md +44 -0
  2. package/lib/index.d.ts +8 -0
  3. package/lib/index.d.ts.map +1 -0
  4. package/lib/index.js +501 -0
  5. package/lib/index.js.map +7 -0
  6. package/lib/libs/index.d.ts +3 -0
  7. package/lib/libs/index.d.ts.map +1 -0
  8. package/lib/libs/strophe/strophe-plugin.d.ts +13 -0
  9. package/lib/libs/strophe/strophe-plugin.d.ts.map +1 -0
  10. package/lib/libs/strophe/strophe.jingle.d.ts +35 -0
  11. package/lib/libs/strophe/strophe.jingle.d.ts.map +1 -0
  12. package/lib/libs/strophe/strophe.jingle.sdp.d.ts +44 -0
  13. package/lib/libs/strophe/strophe.jingle.sdp.d.ts.map +1 -0
  14. package/lib/libs/strophe/strophe.jingle.session.d.ts +624 -0
  15. package/lib/libs/strophe/strophe.jingle.session.d.ts.map +1 -0
  16. package/lib/libs/strophe/strophe.jingle.session.stats.d.ts +791 -0
  17. package/lib/libs/strophe/strophe.jingle.session.stats.d.ts.map +1 -0
  18. package/lib/libs/strophe/strophe.lastactivity.d.ts +9 -0
  19. package/lib/libs/strophe/strophe.lastactivity.d.ts.map +1 -0
  20. package/lib/libs/strophe/strophe.mam.d.ts +11 -0
  21. package/lib/libs/strophe/strophe.mam.d.ts.map +1 -0
  22. package/lib/libs/strophe/strophe.ping.d.ts +39 -0
  23. package/lib/libs/strophe/strophe.ping.d.ts.map +1 -0
  24. package/lib/libs/strophe/strophe.rsm.d.ts +24 -0
  25. package/lib/libs/strophe/strophe.rsm.d.ts.map +1 -0
  26. package/lib/libs/strophe/types.d.ts +23 -0
  27. package/lib/libs/strophe/types.d.ts.map +1 -0
  28. package/lib/models/authSettings.model.d.ts +38 -0
  29. package/lib/models/authSettings.model.d.ts.map +1 -0
  30. package/lib/models/bubble.model.d.ts +1114 -0
  31. package/lib/models/bubble.model.d.ts.map +1 -0
  32. package/lib/models/bubbleConferenceRecap.model.d.ts +532 -0
  33. package/lib/models/bubbleConferenceRecap.model.d.ts.map +1 -0
  34. package/lib/models/call.model.d.ts +1271 -0
  35. package/lib/models/call.model.d.ts.map +1 -0
  36. package/lib/models/callLog.model.d.ts +361 -0
  37. package/lib/models/callLog.model.d.ts.map +1 -0
  38. package/lib/models/channel.model.d.ts +692 -0
  39. package/lib/models/channel.model.d.ts.map +1 -0
  40. package/lib/models/channelMessage.model.d.ts +300 -0
  41. package/lib/models/channelMessage.model.d.ts.map +1 -0
  42. package/lib/models/cli.model.d.ts +59 -0
  43. package/lib/models/cli.model.d.ts.map +1 -0
  44. package/lib/models/common/context.d.ts +37 -0
  45. package/lib/models/common/context.d.ts.map +1 -0
  46. package/lib/models/common/error.d.ts +26 -0
  47. package/lib/models/common/error.d.ts.map +1 -0
  48. package/lib/models/common/fileDescriptor.d.ts +317 -0
  49. package/lib/models/common/fileDescriptor.d.ts.map +1 -0
  50. package/lib/models/common/filePublicDownload.d.ts +26 -0
  51. package/lib/models/common/filePublicDownload.d.ts.map +1 -0
  52. package/lib/models/common/fileViewer.d.ts +20 -0
  53. package/lib/models/common/fileViewer.d.ts.map +1 -0
  54. package/lib/models/common/index.d.ts +9 -0
  55. package/lib/models/common/index.d.ts.map +1 -0
  56. package/lib/models/common/theme.d.ts +185 -0
  57. package/lib/models/common/theme.d.ts.map +1 -0
  58. package/lib/models/common/themeColor.d.ts +47 -0
  59. package/lib/models/common/themeColor.d.ts.map +1 -0
  60. package/lib/models/common/userTheme.d.ts +42 -0
  61. package/lib/models/common/userTheme.d.ts.map +1 -0
  62. package/lib/models/company-invitation.model.d.ts +42 -0
  63. package/lib/models/company-invitation.model.d.ts.map +1 -0
  64. package/lib/models/company.model.d.ts +639 -0
  65. package/lib/models/company.model.d.ts.map +1 -0
  66. package/lib/models/contact.model.d.ts +1208 -0
  67. package/lib/models/contact.model.d.ts.map +1 -0
  68. package/lib/models/conversation.model.d.ts +768 -0
  69. package/lib/models/conversation.model.d.ts.map +1 -0
  70. package/lib/models/customManifest.model.d.ts +82 -0
  71. package/lib/models/customManifest.model.d.ts.map +1 -0
  72. package/lib/models/dataChannel.model.d.ts +178 -0
  73. package/lib/models/dataChannel.model.d.ts.map +1 -0
  74. package/lib/models/dial-in-phone-numbers.model.d.ts +18 -0
  75. package/lib/models/dial-in-phone-numbers.model.d.ts.map +1 -0
  76. package/lib/models/directoryContact.model.d.ts +205 -0
  77. package/lib/models/directoryContact.model.d.ts.map +1 -0
  78. package/lib/models/event.model.d.ts +14 -0
  79. package/lib/models/event.model.d.ts.map +1 -0
  80. package/lib/models/favorite.model.d.ts +94 -0
  81. package/lib/models/favorite.model.d.ts.map +1 -0
  82. package/lib/models/fileDocument.model.d.ts +345 -0
  83. package/lib/models/fileDocument.model.d.ts.map +1 -0
  84. package/lib/models/geoLoc.model.d.ts +6 -0
  85. package/lib/models/geoLoc.model.d.ts.map +1 -0
  86. package/lib/models/index.d.ts +46 -0
  87. package/lib/models/index.d.ts.map +1 -0
  88. package/lib/models/invitation.model.d.ts +88 -0
  89. package/lib/models/invitation.model.d.ts.map +1 -0
  90. package/lib/models/invoices.model.d.ts +76 -0
  91. package/lib/models/invoices.model.d.ts.map +1 -0
  92. package/lib/models/logEntry.model.d.ts +23 -0
  93. package/lib/models/logEntry.model.d.ts.map +1 -0
  94. package/lib/models/message.model.d.ts +400 -0
  95. package/lib/models/message.model.d.ts.map +1 -0
  96. package/lib/models/messageAdditionalContent.parsers.d.ts +32 -0
  97. package/lib/models/messageAdditionalContent.parsers.d.ts.map +1 -0
  98. package/lib/models/offer.model.d.ts +16 -0
  99. package/lib/models/offer.model.d.ts.map +1 -0
  100. package/lib/models/p2pRecap.model.d.ts +372 -0
  101. package/lib/models/p2pRecap.model.d.ts.map +1 -0
  102. package/lib/models/paymentMethods.model.d.ts +98 -0
  103. package/lib/models/paymentMethods.model.d.ts.map +1 -0
  104. package/lib/models/personalRoutine.model.d.ts +173 -0
  105. package/lib/models/personalRoutine.model.d.ts.map +1 -0
  106. package/lib/models/poll.model.d.ts +139 -0
  107. package/lib/models/poll.model.d.ts.map +1 -0
  108. package/lib/models/rainbow-auth.model.d.ts +137 -0
  109. package/lib/models/rainbow-auth.model.d.ts.map +1 -0
  110. package/lib/models/searchTextConvResults.model.d.ts +30 -0
  111. package/lib/models/searchTextConvResults.model.d.ts.map +1 -0
  112. package/lib/models/site.model.d.ts +165 -0
  113. package/lib/models/site.model.d.ts.map +1 -0
  114. package/lib/models/subscription.model.d.ts +592 -0
  115. package/lib/models/subscription.model.d.ts.map +1 -0
  116. package/lib/models/telephonyConfig.model.d.ts +144 -0
  117. package/lib/models/telephonyConfig.model.d.ts.map +1 -0
  118. package/lib/models/telephonyForward.model.d.ts +47 -0
  119. package/lib/models/telephonyForward.model.d.ts.map +1 -0
  120. package/lib/models/todo.model.d.ts +103 -0
  121. package/lib/models/todo.model.d.ts.map +1 -0
  122. package/lib/models/transcription.model.d.ts +59 -0
  123. package/lib/models/transcription.model.d.ts.map +1 -0
  124. package/lib/models/user.model.d.ts +1008 -0
  125. package/lib/models/user.model.d.ts.map +1 -0
  126. package/lib/models/userProfileTemplate.model.d.ts +735 -0
  127. package/lib/models/userProfileTemplate.model.d.ts.map +1 -0
  128. package/lib/models/usersList.model.d.ts +117 -0
  129. package/lib/models/usersList.model.d.ts.map +1 -0
  130. package/lib/models/webConferenceParticipant.model.d.ts +135 -0
  131. package/lib/models/webConferenceParticipant.model.d.ts.map +1 -0
  132. package/lib/models/webConferenceSession.model.d.ts +658 -0
  133. package/lib/models/webConferenceSession.model.d.ts.map +1 -0
  134. package/lib/models/webinar.model.d.ts +738 -0
  135. package/lib/models/webinar.model.d.ts.map +1 -0
  136. package/lib/models/webinarRecap.model.d.ts +118 -0
  137. package/lib/models/webinarRecap.model.d.ts.map +1 -0
  138. package/lib/node.d.ts +3 -0
  139. package/lib/node.d.ts.map +1 -0
  140. package/lib/node.js +423 -0
  141. package/lib/node.js.map +7 -0
  142. package/lib/node.sdk.d.ts +41 -0
  143. package/lib/node.sdk.d.ts.map +1 -0
  144. package/lib/plugins/admin.plugin.d.ts +6 -0
  145. package/lib/plugins/admin.plugin.d.ts.map +1 -0
  146. package/lib/plugins/bubbleConference.plugin.d.ts +6 -0
  147. package/lib/plugins/bubbleConference.plugin.d.ts.map +1 -0
  148. package/lib/plugins/bubbleTag.plugin.d.ts +6 -0
  149. package/lib/plugins/bubbleTag.plugin.d.ts.map +1 -0
  150. package/lib/plugins/bubbles.plugin.d.ts +6 -0
  151. package/lib/plugins/bubbles.plugin.d.ts.map +1 -0
  152. package/lib/plugins/businessDirectory.plugin.d.ts +6 -0
  153. package/lib/plugins/businessDirectory.plugin.d.ts.map +1 -0
  154. package/lib/plugins/callRecorder.plugin.d.ts +6 -0
  155. package/lib/plugins/callRecorder.plugin.d.ts.map +1 -0
  156. package/lib/plugins/calllog.plugin.d.ts +6 -0
  157. package/lib/plugins/calllog.plugin.d.ts.map +1 -0
  158. package/lib/plugins/calls.plugin.d.ts +6 -0
  159. package/lib/plugins/calls.plugin.d.ts.map +1 -0
  160. package/lib/plugins/channels.plugin.d.ts +6 -0
  161. package/lib/plugins/channels.plugin.d.ts.map +1 -0
  162. package/lib/plugins/dataChannel.plugin.d.ts +6 -0
  163. package/lib/plugins/dataChannel.plugin.d.ts.map +1 -0
  164. package/lib/plugins/deviceManagement.plugin.d.ts +6 -0
  165. package/lib/plugins/deviceManagement.plugin.d.ts.map +1 -0
  166. package/lib/plugins/favorites.plugin.d.ts +6 -0
  167. package/lib/plugins/favorites.plugin.d.ts.map +1 -0
  168. package/lib/plugins/fileDocument.plugin.d.ts +6 -0
  169. package/lib/plugins/fileDocument.plugin.d.ts.map +1 -0
  170. package/lib/plugins/helpCenter.plugin.d.ts +6 -0
  171. package/lib/plugins/helpCenter.plugin.d.ts.map +1 -0
  172. package/lib/plugins/index.d.ts +27 -0
  173. package/lib/plugins/index.d.ts.map +1 -0
  174. package/lib/plugins/microsoft0365Ad.plugin.d.ts +6 -0
  175. package/lib/plugins/microsoft0365Ad.plugin.d.ts.map +1 -0
  176. package/lib/plugins/pbxUsers.plugin.d.ts +6 -0
  177. package/lib/plugins/pbxUsers.plugin.d.ts.map +1 -0
  178. package/lib/plugins/personalDirectory.plugin.d.ts +6 -0
  179. package/lib/plugins/personalDirectory.plugin.d.ts.map +1 -0
  180. package/lib/plugins/plugin.d.ts +8 -0
  181. package/lib/plugins/plugin.d.ts.map +1 -0
  182. package/lib/plugins/polls.plugin.d.ts +6 -0
  183. package/lib/plugins/polls.plugin.d.ts.map +1 -0
  184. package/lib/plugins/rpc.plugin.d.ts +6 -0
  185. package/lib/plugins/rpc.plugin.d.ts.map +1 -0
  186. package/lib/plugins/telemetry.plugin.d.ts +6 -0
  187. package/lib/plugins/telemetry.plugin.d.ts.map +1 -0
  188. package/lib/plugins/telephony.plugin.d.ts +6 -0
  189. package/lib/plugins/telephony.plugin.d.ts.map +1 -0
  190. package/lib/plugins/telephonyConfig.plugin.d.ts +6 -0
  191. package/lib/plugins/telephonyConfig.plugin.d.ts.map +1 -0
  192. package/lib/plugins/transcription.plugin.d.ts +6 -0
  193. package/lib/plugins/transcription.plugin.d.ts.map +1 -0
  194. package/lib/plugins/usersList.plugin.d.ts +6 -0
  195. package/lib/plugins/usersList.plugin.d.ts.map +1 -0
  196. package/lib/plugins/virtualBackground.plugin.d.ts +6 -0
  197. package/lib/plugins/virtualBackground.plugin.d.ts.map +1 -0
  198. package/lib/plugins/webinar.plugin.d.ts +6 -0
  199. package/lib/plugins/webinar.plugin.d.ts.map +1 -0
  200. package/lib/rainbow.sdk.d.ts +309 -0
  201. package/lib/rainbow.sdk.d.ts.map +1 -0
  202. package/lib/services/admin/admin-alarm.service.d.ts +42 -0
  203. package/lib/services/admin/admin-alarm.service.d.ts.map +1 -0
  204. package/lib/services/admin/admin-company.service.d.ts +167 -0
  205. package/lib/services/admin/admin-company.service.d.ts.map +1 -0
  206. package/lib/services/admin/admin-department.service.d.ts +39 -0
  207. package/lib/services/admin/admin-department.service.d.ts.map +1 -0
  208. package/lib/services/admin/admin-invitation.service.d.ts +114 -0
  209. package/lib/services/admin/admin-invitation.service.d.ts.map +1 -0
  210. package/lib/services/admin/admin-management.service.d.ts +100 -0
  211. package/lib/services/admin/admin-management.service.d.ts.map +1 -0
  212. package/lib/services/admin/admin-rvcp.service.d.ts +43 -0
  213. package/lib/services/admin/admin-rvcp.service.d.ts.map +1 -0
  214. package/lib/services/admin/admin-site.service.d.ts +64 -0
  215. package/lib/services/admin/admin-site.service.d.ts.map +1 -0
  216. package/lib/services/admin/admin-subscription.service.d.ts +135 -0
  217. package/lib/services/admin/admin-subscription.service.d.ts.map +1 -0
  218. package/lib/services/admin/admin-tag.service.d.ts +79 -0
  219. package/lib/services/admin/admin-tag.service.d.ts.map +1 -0
  220. package/lib/services/admin/admin-user-profile.service.d.ts +76 -0
  221. package/lib/services/admin/admin-user-profile.service.d.ts.map +1 -0
  222. package/lib/services/admin/admin-user.service.d.ts +338 -0
  223. package/lib/services/admin/admin-user.service.d.ts.map +1 -0
  224. package/lib/services/admin/admin.common.d.ts +40 -0
  225. package/lib/services/admin/admin.common.d.ts.map +1 -0
  226. package/lib/services/admin/admin.service.d.ts +138 -0
  227. package/lib/services/admin/admin.service.d.ts.map +1 -0
  228. package/lib/services/admin/index.d.ts +14 -0
  229. package/lib/services/admin/index.d.ts.map +1 -0
  230. package/lib/services/bot/bot.service.d.ts +121 -0
  231. package/lib/services/bot/bot.service.d.ts.map +1 -0
  232. package/lib/services/bubbles/bubble.service.d.ts +889 -0
  233. package/lib/services/bubbles/bubble.service.d.ts.map +1 -0
  234. package/lib/services/bubbles/bubbleTag.service.d.ts +132 -0
  235. package/lib/services/bubbles/bubbleTag.service.d.ts.map +1 -0
  236. package/lib/services/bubbles/index.d.ts +3 -0
  237. package/lib/services/bubbles/index.d.ts.map +1 -0
  238. package/lib/services/call/call.service.d.ts +297 -0
  239. package/lib/services/call/call.service.d.ts.map +1 -0
  240. package/lib/services/call/callRecorder.service.d.ts +358 -0
  241. package/lib/services/call/callRecorder.service.d.ts.map +1 -0
  242. package/lib/services/call/index.d.ts +3 -0
  243. package/lib/services/call/index.d.ts.map +1 -0
  244. package/lib/services/callLog/callLog.service.d.ts +563 -0
  245. package/lib/services/callLog/callLog.service.d.ts.map +1 -0
  246. package/lib/services/callLog/index.d.ts +5 -0
  247. package/lib/services/callLog/index.d.ts.map +1 -0
  248. package/lib/services/callLog/p2pRecap.service.d.ts +206 -0
  249. package/lib/services/callLog/p2pRecap.service.d.ts.map +1 -0
  250. package/lib/services/channels/channel.service.d.ts +626 -0
  251. package/lib/services/channels/channel.service.d.ts.map +1 -0
  252. package/lib/services/channels/index.d.ts +3 -0
  253. package/lib/services/channels/index.d.ts.map +1 -0
  254. package/lib/services/citrix/citrix.service.d.ts +30 -0
  255. package/lib/services/citrix/citrix.service.d.ts.map +1 -0
  256. package/lib/services/citrix/index.d.ts +3 -0
  257. package/lib/services/citrix/index.d.ts.map +1 -0
  258. package/lib/services/company/company-directory.service.d.ts +222 -0
  259. package/lib/services/company/company-directory.service.d.ts.map +1 -0
  260. package/lib/services/conference/bubbleConference.service.d.ts +1237 -0
  261. package/lib/services/conference/bubbleConference.service.d.ts.map +1 -0
  262. package/lib/services/conference/bubbleConferenceRecap.service.d.ts +159 -0
  263. package/lib/services/conference/bubbleConferenceRecap.service.d.ts.map +1 -0
  264. package/lib/services/conference/index.d.ts +5 -0
  265. package/lib/services/conference/index.d.ts.map +1 -0
  266. package/lib/services/conference/webConferenceHelper.d.ts +25 -0
  267. package/lib/services/conference/webConferenceHelper.d.ts.map +1 -0
  268. package/lib/services/conversation/conversation.service.d.ts +723 -0
  269. package/lib/services/conversation/conversation.service.d.ts.map +1 -0
  270. package/lib/services/conversation/conversationServiceBulkHistoryHandler.d.ts +39 -0
  271. package/lib/services/conversation/conversationServiceBulkHistoryHandler.d.ts.map +1 -0
  272. package/lib/services/conversation/conversationServiceEventHandler.d.ts +78 -0
  273. package/lib/services/conversation/conversationServiceEventHandler.d.ts.map +1 -0
  274. package/lib/services/conversation/index.d.ts +3 -0
  275. package/lib/services/conversation/index.d.ts.map +1 -0
  276. package/lib/services/core/account.service.d.ts +98 -0
  277. package/lib/services/core/account.service.d.ts.map +1 -0
  278. package/lib/services/core/auth.service.d.ts +303 -0
  279. package/lib/services/core/auth.service.d.ts.map +1 -0
  280. package/lib/services/core/company.service.d.ts +30 -0
  281. package/lib/services/core/company.service.d.ts.map +1 -0
  282. package/lib/services/core/connection.service.d.ts +209 -0
  283. package/lib/services/core/connection.service.d.ts.map +1 -0
  284. package/lib/services/core/contact.service.d.ts +617 -0
  285. package/lib/services/core/contact.service.d.ts.map +1 -0
  286. package/lib/services/core/country.service.d.ts +66 -0
  287. package/lib/services/core/country.service.d.ts.map +1 -0
  288. package/lib/services/core/directorySearch.service.d.ts +305 -0
  289. package/lib/services/core/directorySearch.service.d.ts.map +1 -0
  290. package/lib/services/core/event.service.d.ts +31 -0
  291. package/lib/services/core/event.service.d.ts.map +1 -0
  292. package/lib/services/core/i18n.service.d.ts +19 -0
  293. package/lib/services/core/i18n.service.d.ts.map +1 -0
  294. package/lib/services/core/imageUtils.service.d.ts +15 -0
  295. package/lib/services/core/imageUtils.service.d.ts.map +1 -0
  296. package/lib/services/core/index.d.ts +19 -0
  297. package/lib/services/core/index.d.ts.map +1 -0
  298. package/lib/services/core/logger.service.d.ts +143 -0
  299. package/lib/services/core/logger.service.d.ts.map +1 -0
  300. package/lib/services/core/logging.service.d.ts +51 -0
  301. package/lib/services/core/logging.service.d.ts.map +1 -0
  302. package/lib/services/core/main.service.d.ts +124 -0
  303. package/lib/services/core/main.service.d.ts.map +1 -0
  304. package/lib/services/core/presenceHelper.service.d.ts +73 -0
  305. package/lib/services/core/presenceHelper.service.d.ts.map +1 -0
  306. package/lib/services/core/profile.service.d.ts +453 -0
  307. package/lib/services/core/profile.service.d.ts.map +1 -0
  308. package/lib/services/core/settings.service.d.ts +82 -0
  309. package/lib/services/core/settings.service.d.ts.map +1 -0
  310. package/lib/services/core/userInfo.service.d.ts +25 -0
  311. package/lib/services/core/userInfo.service.d.ts.map +1 -0
  312. package/lib/services/core/userNetwork.service.d.ts +171 -0
  313. package/lib/services/core/userNetwork.service.d.ts.map +1 -0
  314. package/lib/services/core/xmpp.service.d.ts +99 -0
  315. package/lib/services/core/xmpp.service.d.ts.map +1 -0
  316. package/lib/services/dataChannel/dataChannel.service.d.ts +102 -0
  317. package/lib/services/dataChannel/dataChannel.service.d.ts.map +1 -0
  318. package/lib/services/dataChannel/index.d.ts +3 -0
  319. package/lib/services/dataChannel/index.d.ts.map +1 -0
  320. package/lib/services/deviceManagement/deviceEchoFilter.d.ts +86 -0
  321. package/lib/services/deviceManagement/deviceEchoFilter.d.ts.map +1 -0
  322. package/lib/services/deviceManagement/deviceManagement.service.d.ts +290 -0
  323. package/lib/services/deviceManagement/deviceManagement.service.d.ts.map +1 -0
  324. package/lib/services/deviceManagement/index.d.ts +2 -0
  325. package/lib/services/deviceManagement/index.d.ts.map +1 -0
  326. package/lib/services/deviceManagement/webHidManager.service.d.ts +616 -0
  327. package/lib/services/deviceManagement/webHidManager.service.d.ts.map +1 -0
  328. package/lib/services/directory/directory.service.d.ts +108 -0
  329. package/lib/services/directory/directory.service.d.ts.map +1 -0
  330. package/lib/services/directory/index.d.ts +3 -0
  331. package/lib/services/directory/index.d.ts.map +1 -0
  332. package/lib/services/directory/office365ad.service.d.ts +74 -0
  333. package/lib/services/directory/office365ad.service.d.ts.map +1 -0
  334. package/lib/services/directory/personal-directory.service.d.ts +425 -0
  335. package/lib/services/directory/personal-directory.service.d.ts.map +1 -0
  336. package/lib/services/directory/phonebook.service.d.ts +43 -0
  337. package/lib/services/directory/phonebook.service.d.ts.map +1 -0
  338. package/lib/services/event-mixin.d.ts +75 -0
  339. package/lib/services/event-mixin.d.ts.map +1 -0
  340. package/lib/services/favorites/favorites.service.d.ts +313 -0
  341. package/lib/services/favorites/favorites.service.d.ts.map +1 -0
  342. package/lib/services/favorites/index.d.ts +3 -0
  343. package/lib/services/favorites/index.d.ts.map +1 -0
  344. package/lib/services/fileDocument/fileDocument.service.d.ts +229 -0
  345. package/lib/services/fileDocument/fileDocument.service.d.ts.map +1 -0
  346. package/lib/services/fileDocument/index.d.ts +5 -0
  347. package/lib/services/fileDocument/index.d.ts.map +1 -0
  348. package/lib/services/files/fileDescriptorEventHandler.service.d.ts +18 -0
  349. package/lib/services/files/fileDescriptorEventHandler.service.d.ts.map +1 -0
  350. package/lib/services/files/fileServer.service.d.ts +268 -0
  351. package/lib/services/files/fileServer.service.d.ts.map +1 -0
  352. package/lib/services/files/fileStorage.service.d.ts +426 -0
  353. package/lib/services/files/fileStorage.service.d.ts.map +1 -0
  354. package/lib/services/helpcenter/helpCenter.service.d.ts +207 -0
  355. package/lib/services/helpcenter/helpCenter.service.d.ts.map +1 -0
  356. package/lib/services/helpcenter/index.d.ts +4 -0
  357. package/lib/services/helpcenter/index.d.ts.map +1 -0
  358. package/lib/services/helpcenter/whatsNew.service.d.ts +47 -0
  359. package/lib/services/helpcenter/whatsNew.service.d.ts.map +1 -0
  360. package/lib/services/horizon/horizon.service.d.ts +31 -0
  361. package/lib/services/horizon/horizon.service.d.ts.map +1 -0
  362. package/lib/services/horizon/index.d.ts +3 -0
  363. package/lib/services/horizon/index.d.ts.map +1 -0
  364. package/lib/services/index.d.ts +35 -0
  365. package/lib/services/index.d.ts.map +1 -0
  366. package/lib/services/launcher/config/sdkLaunchConfig.d.ts +8 -0
  367. package/lib/services/launcher/config/sdkLaunchConfig.d.ts.map +1 -0
  368. package/lib/services/localTranslation/chromeTranslation.engine.d.ts +79 -0
  369. package/lib/services/localTranslation/chromeTranslation.engine.d.ts.map +1 -0
  370. package/lib/services/localTranslation/index.d.ts +6 -0
  371. package/lib/services/localTranslation/index.d.ts.map +1 -0
  372. package/lib/services/localTranslation/localTranslation.service.d.ts +129 -0
  373. package/lib/services/localTranslation/localTranslation.service.d.ts.map +1 -0
  374. package/lib/services/localTranslation/translationEngine.d.ts +81 -0
  375. package/lib/services/localTranslation/translationEngine.d.ts.map +1 -0
  376. package/lib/services/metrics/analytics.service.d.ts +63 -0
  377. package/lib/services/metrics/analytics.service.d.ts.map +1 -0
  378. package/lib/services/metrics/index.d.ts +2 -0
  379. package/lib/services/metrics/index.d.ts.map +1 -0
  380. package/lib/services/notifications/index.d.ts +2 -0
  381. package/lib/services/notifications/index.d.ts.map +1 -0
  382. package/lib/services/notifications/notificationCenter.service.d.ts +178 -0
  383. package/lib/services/notifications/notificationCenter.service.d.ts.map +1 -0
  384. package/lib/services/notifications/notificationsViewer.service.d.ts +46 -0
  385. package/lib/services/notifications/notificationsViewer.service.d.ts.map +1 -0
  386. package/lib/services/personalRoutines/personal-routines.service.d.ts +159 -0
  387. package/lib/services/personalRoutines/personal-routines.service.d.ts.map +1 -0
  388. package/lib/services/polls/index.d.ts +2 -0
  389. package/lib/services/polls/index.d.ts.map +1 -0
  390. package/lib/services/polls/polls.service.d.ts +139 -0
  391. package/lib/services/polls/polls.service.d.ts.map +1 -0
  392. package/lib/services/ringing/index.d.ts +2 -0
  393. package/lib/services/ringing/index.d.ts.map +1 -0
  394. package/lib/services/ringing/ringing.service.d.ts +535 -0
  395. package/lib/services/ringing/ringing.service.d.ts.map +1 -0
  396. package/lib/services/rpc/index.d.ts +2 -0
  397. package/lib/services/rpc/index.d.ts.map +1 -0
  398. package/lib/services/rpc/rpc.service.d.ts +75 -0
  399. package/lib/services/rpc/rpc.service.d.ts.map +1 -0
  400. package/lib/services/service.d.ts +9 -0
  401. package/lib/services/service.d.ts.map +1 -0
  402. package/lib/services/speechRecognitionService/speechRecognition.service.d.ts +87 -0
  403. package/lib/services/speechRecognitionService/speechRecognition.service.d.ts.map +1 -0
  404. package/lib/services/subscription/index.d.ts +4 -0
  405. package/lib/services/subscription/index.d.ts.map +1 -0
  406. package/lib/services/subscription/invoices.service.d.ts +78 -0
  407. package/lib/services/subscription/invoices.service.d.ts.map +1 -0
  408. package/lib/services/subscription/paymentMethods.service.d.ts +164 -0
  409. package/lib/services/subscription/paymentMethods.service.d.ts.map +1 -0
  410. package/lib/services/subscription/subscription.service.d.ts +510 -0
  411. package/lib/services/subscription/subscription.service.d.ts.map +1 -0
  412. package/lib/services/support/index.d.ts +2 -0
  413. package/lib/services/support/index.d.ts.map +1 -0
  414. package/lib/services/support/support.model.d.ts +143 -0
  415. package/lib/services/support/support.model.d.ts.map +1 -0
  416. package/lib/services/support/support.service.d.ts +162 -0
  417. package/lib/services/support/support.service.d.ts.map +1 -0
  418. package/lib/services/telemetry/index.d.ts +3 -0
  419. package/lib/services/telemetry/index.d.ts.map +1 -0
  420. package/lib/services/telemetry/jsonRPC.service.d.ts +25 -0
  421. package/lib/services/telemetry/jsonRPC.service.d.ts.map +1 -0
  422. package/lib/services/telemetry/telemetry.service.d.ts +22 -0
  423. package/lib/services/telemetry/telemetry.service.d.ts.map +1 -0
  424. package/lib/services/telephony/index.d.ts +4 -0
  425. package/lib/services/telephony/index.d.ts.map +1 -0
  426. package/lib/services/telephony/supervision.service.d.ts +277 -0
  427. package/lib/services/telephony/supervision.service.d.ts.map +1 -0
  428. package/lib/services/telephony/telephony.service.d.ts +1476 -0
  429. package/lib/services/telephony/telephony.service.d.ts.map +1 -0
  430. package/lib/services/telephony/telephonyCcdAgent.service.d.ts +63 -0
  431. package/lib/services/telephony/telephonyCcdAgent.service.d.ts.map +1 -0
  432. package/lib/services/telephony/telephonyHybridEventHandler.d.ts +360 -0
  433. package/lib/services/telephony/telephonyHybridEventHandler.d.ts.map +1 -0
  434. package/lib/services/telephony/telephonyKeys.service.d.ts +86 -0
  435. package/lib/services/telephony/telephonyKeys.service.d.ts.map +1 -0
  436. package/lib/services/telephony/telephonySipWise.service.d.ts +543 -0
  437. package/lib/services/telephony/telephonySipWise.service.d.ts.map +1 -0
  438. package/lib/services/telephony/telephonySipWiseEventHandler.d.ts +462 -0
  439. package/lib/services/telephony/telephonySipWiseEventHandler.d.ts.map +1 -0
  440. package/lib/services/telephonyConfig/index.d.ts +3 -0
  441. package/lib/services/telephonyConfig/index.d.ts.map +1 -0
  442. package/lib/services/telephonyConfig/telephonyConfig.service.d.ts +150 -0
  443. package/lib/services/telephonyConfig/telephonyConfig.service.d.ts.map +1 -0
  444. package/lib/services/todo/todo.service.d.ts +358 -0
  445. package/lib/services/todo/todo.service.d.ts.map +1 -0
  446. package/lib/services/transcription/index.d.ts +2 -0
  447. package/lib/services/transcription/index.d.ts.map +1 -0
  448. package/lib/services/transcription/liveTranscription.service.d.ts +94 -0
  449. package/lib/services/transcription/liveTranscription.service.d.ts.map +1 -0
  450. package/lib/services/ulrMetadata/urlMetadata.service.d.ts +51 -0
  451. package/lib/services/ulrMetadata/urlMetadata.service.d.ts.map +1 -0
  452. package/lib/services/users/index.d.ts +3 -0
  453. package/lib/services/users/index.d.ts.map +1 -0
  454. package/lib/services/users/user.service.d.ts +146 -0
  455. package/lib/services/users/user.service.d.ts.map +1 -0
  456. package/lib/services/users/usersLists.service.d.ts +239 -0
  457. package/lib/services/users/usersLists.service.d.ts.map +1 -0
  458. package/lib/services/utilities/browserDatabase.service.d.ts +69 -0
  459. package/lib/services/utilities/browserDatabase.service.d.ts.map +1 -0
  460. package/lib/services/utilities/errorHelper.service.d.ts +24 -0
  461. package/lib/services/utilities/errorHelper.service.d.ts.map +1 -0
  462. package/lib/services/utilities/index.d.ts +4 -0
  463. package/lib/services/utilities/index.d.ts.map +1 -0
  464. package/lib/services/utilities/utilities.service.d.ts +74 -0
  465. package/lib/services/utilities/utilities.service.d.ts.map +1 -0
  466. package/lib/services/virtualBackground/RBVirtualBackground.service.d.ts +228 -0
  467. package/lib/services/virtualBackground/RBVirtualBackground.service.d.ts.map +1 -0
  468. package/lib/services/virtualBackground/index.d.ts +4 -0
  469. package/lib/services/virtualBackground/index.d.ts.map +1 -0
  470. package/lib/services/virtualBackground/personalVideoBackground.d.ts +190 -0
  471. package/lib/services/virtualBackground/personalVideoBackground.d.ts.map +1 -0
  472. package/lib/services/virtualBackground/pipeline/canvas2D/canvas2DPipeline.d.ts +66 -0
  473. package/lib/services/virtualBackground/pipeline/canvas2D/canvas2DPipeline.d.ts.map +1 -0
  474. package/lib/services/virtualBackground/pipeline/webgl2/blurStage.d.ts +88 -0
  475. package/lib/services/virtualBackground/pipeline/webgl2/blurStage.d.ts.map +1 -0
  476. package/lib/services/virtualBackground/pipeline/webgl2/imageStage.d.ts +69 -0
  477. package/lib/services/virtualBackground/pipeline/webgl2/imageStage.d.ts.map +1 -0
  478. package/lib/services/virtualBackground/pipeline/webgl2/jointBilateralFilter.d.ts +55 -0
  479. package/lib/services/virtualBackground/pipeline/webgl2/jointBilateralFilter.d.ts.map +1 -0
  480. package/lib/services/virtualBackground/pipeline/webgl2/resizingStage.d.ts +59 -0
  481. package/lib/services/virtualBackground/pipeline/webgl2/resizingStage.d.ts.map +1 -0
  482. package/lib/services/virtualBackground/pipeline/webgl2/softMax.d.ts +34 -0
  483. package/lib/services/virtualBackground/pipeline/webgl2/softMax.d.ts.map +1 -0
  484. package/lib/services/virtualBackground/pipeline/webgl2/webgl2Pipeline.d.ts +62 -0
  485. package/lib/services/virtualBackground/pipeline/webgl2/webgl2Pipeline.d.ts.map +1 -0
  486. package/lib/services/virtualBackground/pipeline/webgl2/webglHelper.d.ts +56 -0
  487. package/lib/services/virtualBackground/pipeline/webgl2/webglHelper.d.ts.map +1 -0
  488. package/lib/services/virtualBackground/virtualBackground.service.d.ts +399 -0
  489. package/lib/services/virtualBackground/virtualBackground.service.d.ts.map +1 -0
  490. package/lib/services/webinars/index.d.ts +10 -0
  491. package/lib/services/webinars/index.d.ts.map +1 -0
  492. package/lib/services/webinars/telemetry/webinarTelemetry.model.d.ts +71 -0
  493. package/lib/services/webinars/telemetry/webinarTelemetry.model.d.ts.map +1 -0
  494. package/lib/services/webinars/telemetry/webinarTelemetry.service.d.ts +86 -0
  495. package/lib/services/webinars/telemetry/webinarTelemetry.service.d.ts.map +1 -0
  496. package/lib/services/webinars/telemetry/webinarTelemetryDatabase.d.ts +31 -0
  497. package/lib/services/webinars/telemetry/webinarTelemetryDatabase.d.ts.map +1 -0
  498. package/lib/services/webinars/webinarAudioMixer.d.ts +45 -0
  499. package/lib/services/webinars/webinarAudioMixer.d.ts.map +1 -0
  500. package/lib/services/webinars/webinarConference.service.d.ts +323 -0
  501. package/lib/services/webinars/webinarConference.service.d.ts.map +1 -0
  502. package/lib/services/webinars/webinarConference.utils.d.ts +24 -0
  503. package/lib/services/webinars/webinarConference.utils.d.ts.map +1 -0
  504. package/lib/services/webinars/webinarParticipants.service.d.ts +43 -0
  505. package/lib/services/webinars/webinarParticipants.service.d.ts.map +1 -0
  506. package/lib/services/webinars/webinarSpeakers.service.d.ts +25 -0
  507. package/lib/services/webinars/webinarSpeakers.service.d.ts.map +1 -0
  508. package/lib/services/webinars/webinarStoryLine.service.d.ts +117 -0
  509. package/lib/services/webinars/webinarStoryLine.service.d.ts.map +1 -0
  510. package/lib/services/webinars/webinars.service.d.ts +600 -0
  511. package/lib/services/webinars/webinars.service.d.ts.map +1 -0
  512. package/lib/services/webrtc/index.d.ts +5 -0
  513. package/lib/services/webrtc/index.d.ts.map +1 -0
  514. package/lib/services/webrtc/webrtcConfigAndUtils.d.ts +170 -0
  515. package/lib/services/webrtc/webrtcConfigAndUtils.d.ts.map +1 -0
  516. package/lib/services/webrtc/webrtcP2P.service.d.ts +521 -0
  517. package/lib/services/webrtc/webrtcP2P.service.d.ts.map +1 -0
  518. package/lib/services/webrtc/webrtcP2PEventHandler.d.ts +55 -0
  519. package/lib/services/webrtc/webrtcP2PEventHandler.d.ts.map +1 -0
  520. package/lib/services/webrtcGateway/webrtcGateway.service.d.ts +605 -0
  521. package/lib/services/webrtcGateway/webrtcGateway.service.d.ts.map +1 -0
  522. package/lib/strophejs.d.ts +3 -0
  523. package/lib/strophejs.d.ts.map +1 -0
  524. package/lib/typings/helpers.d.ts +3 -0
  525. package/lib/typings/helpers.d.ts.map +1 -0
  526. package/lib/utils/allSettled.d.ts +2 -0
  527. package/lib/utils/allSettled.d.ts.map +1 -0
  528. package/lib/utils/anonymizer.d.ts +28 -0
  529. package/lib/utils/anonymizer.d.ts.map +1 -0
  530. package/lib/utils/branded.d.ts +4 -0
  531. package/lib/utils/branded.d.ts.map +1 -0
  532. package/lib/utils/browser.d.ts +231 -0
  533. package/lib/utils/browser.d.ts.map +1 -0
  534. package/lib/utils/index.d.ts +12 -0
  535. package/lib/utils/index.d.ts.map +1 -0
  536. package/lib/utils/mediaPermissionError.d.ts +2 -0
  537. package/lib/utils/mediaPermissionError.d.ts.map +1 -0
  538. package/lib/utils/promiseQueue.d.ts +10 -0
  539. package/lib/utils/promiseQueue.d.ts.map +1 -0
  540. package/lib/utils/randomString.d.ts +3 -0
  541. package/lib/utils/randomString.d.ts.map +1 -0
  542. package/lib/utils/recordingArchiveName.d.ts +13 -0
  543. package/lib/utils/recordingArchiveName.d.ts.map +1 -0
  544. package/lib/utils/serverTimestamp.d.ts +15 -0
  545. package/lib/utils/serverTimestamp.d.ts.map +1 -0
  546. package/lib/utils/stringifyError.d.ts +2 -0
  547. package/lib/utils/stringifyError.d.ts.map +1 -0
  548. package/lib/utils/video.d.ts +27 -0
  549. package/lib/utils/video.d.ts.map +1 -0
  550. package/lib/utils/wait.d.ts +2 -0
  551. package/lib/utils/wait.d.ts.map +1 -0
  552. package/lib/utils/xmlParser.d.ts +102 -0
  553. package/lib/utils/xmlParser.d.ts.map +1 -0
  554. package/lib/utils/xmlValidation.d.ts +119 -0
  555. package/lib/utils/xmlValidation.d.ts.map +1 -0
  556. package/package.json +58 -0
@@ -0,0 +1,1237 @@
1
+ /**
2
+ * @module BubbleConferences
3
+ */
4
+ import type { Subscription } from "rxjs";
5
+ import type { Bubble } from "../../models/bubble.model";
6
+ import type { BubbleConference, BubbleConferenceJoinParameters, BubbleConferenceVideoQuality } from "../../models/webConferenceSession.model";
7
+ import { BubbleConferenceMedia, BubbleConferenceMediaAction, BubbleConferenceStatus, WebConferenceSession } from "../../models/webConferenceSession.model";
8
+ import { BubbleConferenceParticipant } from "../../models/webConferenceParticipant.model";
9
+ import { Contact } from "../../models/contact.model";
10
+ import { WebConferenceHelper } from "./webConferenceHelper";
11
+ import { WebrtcConfigAndUtils } from "../../services/webrtc/webrtcConfigAndUtils";
12
+ import type { EventableService } from "../../services/service";
13
+ import { BubbleConferenceRecapParams } from "./bubbleConferenceRecap.service";
14
+ import type { BubbleConferenceRecap } from "../../models/bubbleConferenceRecap.model";
15
+ import type { WebrtcStatisticsData } from "../../libs/strophe/strophe.jingle.session.stats";
16
+ /**
17
+ * @internal
18
+ */
19
+ export declare const BUBBLE_CONFERENCE_SVC = "BubbleConferenceService";
20
+ export interface IBubbleConferenceServiceEvents {
21
+ ON_CONFERENCE_ENDED: {
22
+ /** The ended conference session */
23
+ bubbleConference: WebConferenceSession;
24
+ };
25
+ /** @eventProperty Fired when a new recap recording is created. */
26
+ ON_CONFERENCE_RECAP_CREATED: {
27
+ /** DB ID of the bubble where the recording was created */
28
+ roomDbId: string;
29
+ /** The newly created recap */
30
+ recap: BubbleConferenceRecap;
31
+ };
32
+ /** @eventProperty Fired when a recap recording is ready to be displayed. */
33
+ ON_CONFERENCE_RECAP_READY: {
34
+ /** DB ID of the bubble */
35
+ roomDbId: string;
36
+ /** The ready recap */
37
+ recap: BubbleConferenceRecap;
38
+ };
39
+ /** @eventProperty Fired when a recap is removed. */
40
+ ON_CONFERENCE_RECAP_REMOVED: {
41
+ /** DB ID of the bubble */
42
+ roomDbId: string;
43
+ /** The removed recap */
44
+ recap: BubbleConferenceRecap;
45
+ };
46
+ /** @eventProperty Fired when a recap is shared. */
47
+ ON_CONFERENCE_RECAP_SHARED: {
48
+ /** DB ID of the bubble */
49
+ roomDbId: string;
50
+ /** The shared recap */
51
+ recap: BubbleConferenceRecap;
52
+ };
53
+ /** @eventProperty Fired when the status of the current conference changes. */
54
+ ON_CONFERENCE_STATUS_UPDATE: {
55
+ /** The conference session */
56
+ bubbleConference: WebConferenceSession;
57
+ /** New status — "connecting" | "connected" | "reconnecting" | "onhold" | "ended" */
58
+ status: BubbleConferenceStatus;
59
+ /** Recording config, present only when conference started with record */
60
+ recordConfig?: {
61
+ params: BubbleConferenceRecapParams;
62
+ saveConfig: boolean;
63
+ };
64
+ };
65
+ /** @eventProperty @internal Fired when the participant list is modified (participant added or removed). */
66
+ ON_WEBCONFERENCE_PARTICIPANT_LIST_UPDATE: {
67
+ /** DB ID of the bubble related to the conference */
68
+ roomDbId: string;
69
+ };
70
+ /** @eventProperty @internal Fired when a new participant is added to the conference. */
71
+ ON_WEBCONFERENCE_PARTICIPANT_ADD: {
72
+ /** DB ID of the bubble */
73
+ roomDbId: string;
74
+ /** DB ID of the added participant (the phone number for a PSTN participant) */
75
+ participantId: string;
76
+ /** SIP Call-ID of the call that brought the participant in, when the server provides it */
77
+ callId?: string;
78
+ };
79
+ /** @eventProperty @internal Fired when a participant is removed from the conference. */
80
+ ON_WEBCONFERENCE_PARTICIPANT_REMOVE: {
81
+ /** DB ID of the bubble */
82
+ roomDbId: string;
83
+ /** DB ID of the removed participant */
84
+ participantId: string;
85
+ };
86
+ /** @eventProperty @internal Fired when a new video or sharing media is available in the conference. */
87
+ ON_WEBCONFERENCE_PUBLISHER_ADD: {
88
+ /** DB ID of the bubble */
89
+ roomDbId: string;
90
+ };
91
+ /** @eventProperty @internal Fired when a video or sharing media is removed from the conference. */
92
+ ON_WEBCONFERENCE_PUBLISHER_REMOVE: {
93
+ /** DB ID of the bubble */
94
+ roomDbId: string;
95
+ };
96
+ /** @eventProperty @internal Fired when the lock state of the conference changes. */
97
+ ON_WEBCONFERENCE_LOCKSTATE_UPDATE: {
98
+ /** DB ID of the bubble */
99
+ roomDbId: string;
100
+ /** Whether the conference is now locked */
101
+ isLock: boolean;
102
+ /** DB ID of the user that locked/unlocked the conference */
103
+ lockedById: string;
104
+ };
105
+ /** @eventProperty @internal Fired when the local user is asked to unmute by a remote party. */
106
+ ON_WEBCONFERENCE_UNMUTE_DEMAND_RECEIVED: {
107
+ /** DB ID of the bubble */
108
+ roomDbId: string;
109
+ /** DB ID of the user that requested unmute */
110
+ askedBy: string;
111
+ };
112
+ /** @eventProperty @internal Fired when a local media (video or sharing) is added or removed. */
113
+ ON_WEBCONFERENCE_LOCALMEDIA_UPDATE: {
114
+ /** DB ID of the bubble */
115
+ roomDbId: string;
116
+ /** Type of media updated — video | sharing */
117
+ mediaType: BubbleConferenceMedia;
118
+ /** Whether the media was added or removed */
119
+ action: BubbleConferenceMediaAction;
120
+ };
121
+ /** @eventProperty @internal Fired when the local participant is updated (mute, delegation, etc.). */
122
+ ON_WEBCONFERENCE_LOCAL_PARTICIPANT_UPDATE: {
123
+ /** DB ID of the bubble */
124
+ roomDbId: string;
125
+ };
126
+ /** @eventProperty @internal Fired when a remote media session is subscribed (video, sharing, mozaic, or dynamic feed). */
127
+ ON_WEBCONFERENCE_REMOTEMEDIA_UPDATE: {
128
+ /** DB ID of the bubble */
129
+ roomDbId: string;
130
+ /** Type of media — video | sharing | mozaic | dynamicFeed */
131
+ mediaType: BubbleConferenceMedia;
132
+ /** Whether the media was added, removed, or put on hold */
133
+ action: BubbleConferenceMediaAction;
134
+ };
135
+ /** @eventProperty @internal Fired when a participant is updated (mute, role, raise-hand, delegation…). */
136
+ ON_WEBCONFERENCE_PARTICIPANT_UPDATE: {
137
+ /** DB ID of the bubble */
138
+ roomDbId: string;
139
+ /** DB ID of the specific participant that was updated (when applicable) */
140
+ participantId?: string;
141
+ /** Type of update (e.g. "askToUnmute", "raise-hand", "lower-hand") */
142
+ action?: string;
143
+ /** The updated participant object (for hand events) */
144
+ participant?: BubbleConferenceParticipant;
145
+ };
146
+ /** @eventProperty @internal Fired when the active talker changes. */
147
+ ON_WEBCONFERENCE_TALKER_UPDATE: {
148
+ /** DB ID of the bubble */
149
+ roomDbId: string;
150
+ };
151
+ /** @eventProperty @internal Fired when the conference is delegated (ownership transferred). */
152
+ ON_WEBCONFERENCE_DELEGATE: {
153
+ /** DB ID of the bubble */
154
+ roomDbId: string;
155
+ /** DB ID of the new conference owner */
156
+ userDbId: string;
157
+ /** True if the previous owner was the local user */
158
+ gaveOwnership: boolean;
159
+ };
160
+ /** @eventProperty @internal Fired when a conference service state changes (Grid49, etc.). */
161
+ ON_WEBCONFERENCE_SERVICE_UPDATE: {
162
+ /** DB ID of the bubble */
163
+ roomDbId: string;
164
+ };
165
+ /** @eventProperty @internal Fired when a conference starts in a bubble (not started by the local user). */
166
+ ON_WEBCONFERENCE_STARTED_EVENT_IN_BUBBLE: {
167
+ /** DB ID of the bubble */
168
+ roomDbId: string;
169
+ };
170
+ /** @eventProperty @internal Fired to instruct the UI to stop the current call-area highlight animation. No payload. */
171
+ ON_WEBCONFERENCE_STOP_HIGHLIGHTING: unknown;
172
+ /** @eventProperty @internal Fired when echo-test statistics are available. */
173
+ ON_WEBCONFERENCE_ECHOTEST_STATS_UPDATE: {
174
+ /** DB ID of the bubble */
175
+ roomDbId: string;
176
+ /** WebRTC statistics snapshot */
177
+ stats: WebrtcStatisticsData;
178
+ };
179
+ /** @eventProperty @internal Fired when a Jingle session is fully established and media is flowing. */
180
+ ON_SESSION_ESTABLISHED: {
181
+ /** SID of the established JingleSession */
182
+ sessionId: string;
183
+ };
184
+ /** @eventProperty @internal Fired to instruct the UI to start highlighting the sharing participant. No payload. */
185
+ ON_WEBCONFERENCE_START_HIGHLIGHTING: unknown;
186
+ /** @eventProperty @internal Fired when getUserMedia fails, prompting the caller to join without audio. No payload. */
187
+ ON_JOIN_WITHOUT_AUDIO: unknown;
188
+ /** @eventProperty Fired when a conference has started in a bubble. */
189
+ ON_CONFERENCE_STARTED: {
190
+ /** The started conference session */
191
+ bubbleConference: WebConferenceSession;
192
+ };
193
+ /**
194
+ * @eventProperty @internal This RB event is fired when the local sharing is aborted because another participant
195
+ * started sharing while the local user was still selecting the screen to share
196
+ */
197
+ ON_WEBCONFERENCE_SHARING_CONFLICT: {
198
+ /** DB ID of the bubble related to the web conference */
199
+ roomDbId: string;
200
+ };
201
+ }
202
+ /**
203
+ * This service manages web conferences in Rainbow (web conferences that take place in bubbles).
204
+ * Any Rainbow user in the bubble can take part of the conference (the maximum number of participants is based on the licence of the organiser of the conference)
205
+ * In each conference, there's only one "organizer" (the user that has started the conference), but every administrator in the bubble is allowed to make additional actions on all other participants (like drop, mute, etc)
206
+ * Only the organizer of the conference can stop the conference, or delegate it to another user.
207
+ *
208
+ * By default, the web conference service is going to use a web conference helper service that will manage
209
+ * an automatic subscription to all available videos, the management of the dynamic feed.
210
+ * This service configuration can be managed by setHelperServiceConfiguration API
211
+ *
212
+ * NB !! The CPU and bandwidth consumption should/can be managed via additionnal APIs that can be used so that the application is adapted;
213
+ * As all incoming videos are available in 3 sublayers (high HD, medium VGA and low QVGA) the user can change the sublayer he wants to receive from the server (managed by the Method updateParticipant)
214
+ * In addition, some session can be put on hold / unhold so that the user can "pause" all incoming videos that are not needed at the moment (managed by putRemoteVideoSessionOnHold)
215
+ */
216
+ export interface BubbleConferenceService extends EventableService<IBubbleConferenceServiceEvents> {
217
+ /**
218
+ * Subscribe to updates from the service (all events are of RBEvent type {name: string, data:any});
219
+ * @deprecated Use `events()` instead, which returns a typed RxJS Observable.
220
+ * @example
221
+ * ```typescript
222
+ * service.events('ON_CONFERENCE_STARTED').subscribe(event => {
223
+ * console.log(event.data.bubbleConference);
224
+ * });
225
+ * ```
226
+ *
227
+ * @param handler - The call-back function that will be subscribed to the RxJS subject
228
+ * @param eventNames - array of event to listen
229
+ * @returns Returns RxJS Subscription
230
+ */
231
+ subscribe: (handler: any, eventNames?: string | string[]) => Subscription;
232
+ /**
233
+ * Create a web conference in the given bubble
234
+ * @param bubble - The bubble associated with this conference
235
+ */
236
+ startConference: (bubble: Bubble) => Promise<BubbleConference>;
237
+ /**
238
+ * Get bubble web conference if exists
239
+ * @param bubble - The bubble associated with this conference
240
+ */
241
+ getConference: (bubble: Bubble) => BubbleConference | undefined;
242
+ /**
243
+ * API used to update the bubble conferences configuration
244
+ * @param disableDynamicFeed - If true, this will disable the subscription mecanisme for the dynamic feed
245
+ * In case the subscription is already done, this will not effect the current session;
246
+ * NB The default value is FALSE for all conferences (i.e. by default, dynamic feed is activated)
247
+ * @param disableAutoSubscriptions - If true, this will disable the auto subscription mecanisme for all incoming publishers (except sharing)
248
+ * In case the subscription is already done, this will not effect the current session;
249
+ * NB The default value is FALSE for all conferences (i.e. by default, subscription is done for all publsihers)
250
+ */
251
+ setBubbleConferencesConfiguration: (disableDynamicFeed: boolean, disableAutoSubscriptions: boolean) => void;
252
+ /**
253
+ * Add media (video or sharing) to an existing web conference
254
+ * @internal
255
+ * @param webConference - the WebConference object where we want to add the media
256
+ * @param mediaType - the type of the media to be added. Accepted values are 'video' or 'sharing';
257
+ * @param existingStream - if we want to use an already existing stream
258
+ * @param getAudioForSharing - if we want to add audio from system to sharing
259
+ */
260
+ addMediaToWebConference: (webConference: BubbleConference, mediaType: BubbleConferenceMedia, existingStream?: MediaStream, getAudioForSharing?: boolean) => Promise<void>;
261
+ /**
262
+ * Remove Media from the current web conference. It could be either 'video' or 'sharing'
263
+ * @internal
264
+ * @param webConference - The Web conference
265
+ * @param mediaType - the media to be removed 'video' or 'sharing'
266
+ */
267
+ removeMediaFromWebConference: (webConference: BubbleConference, mediaType: BubbleConferenceMedia) => void;
268
+ /**
269
+ * Update a conference participant (ourself, or any other participant if the user is a moderator of the conference)
270
+ * @internal
271
+ * @param webConference -The Web Conference
272
+ * @param participantId -ID of participant to update
273
+ * @param option -update data ( could be on of: mute, unmute, hold, retrieve, plug, unplug, update);
274
+ * With 'update' option we can :
275
+ * - Update media bandwidth as publisher. Two parameters must be present: media and bitRate
276
+ * - Update substream level as subscriber. One parameter must be present: subStreamLevel. Parameter publisherId is optional.
277
+ * @param media - type of media to be updated (video/sharing)
278
+ * @param bitRate - the max bitrate to be set (0 is unlimited)
279
+ * @param subStreamLevel - set new sub-stream level. Only available for publishers and in simulcast mode (0 - low, 1 - medium, 2 - high)
280
+ * @param publisherId - the publisher id related to the update
281
+ * @returns a promise that resolve when particpant state is updated
282
+ */
283
+ updateParticipant: (webConference: BubbleConference, participantId: string, option: string, media?: string, bitRate?: string, subStreamLevel?: string, publisherId?: string) => Promise<void>;
284
+ /**
285
+ * Method askToAddSharingToWebConferenceSession
286
+ * Used only on desktop application : choose which screen to share
287
+ * FIX SIGNATURE
288
+ * @internal
289
+ */
290
+ askToAddSharingToWebConferenceSession: (conversation: any, conferenceSession: any, shouldAskForAudio?: boolean) => void;
291
+ /**
292
+ * Returns WebConferenceSession if the user has an active web conference session (that he has joined)
293
+ * @returns {WebConferenceSession} Returns WebConferenceSession or null instead
294
+ * @internal
295
+ * FIX SIGNATURE
296
+ */
297
+ getActiveWebConferenceSession: () => WebConferenceSession | null;
298
+ /**
299
+ * Returns WebConferenceSession if the user has an unjoined web conference session owned by the user identified by displayname
300
+ * @returns {WebConferenceSession} Returns WebConferenceSession or null instead
301
+ * @internal
302
+ * FIX SIGNATURE
303
+ */
304
+ getUnjoinedWebConferenceSessionByOwnerName: (name: string) => Promise<WebConferenceSession | null>;
305
+ /**
306
+ * Decline incoming invitation to join a web conference. This API will send update to all other connected devices to the user to notify;
307
+ * @param bubble - The bubble to decline the web conference invitation
308
+ * @internal
309
+ * Returns on API call success
310
+ */
311
+ declineInvitationToJoinConference: (bubble: Bubble) => Promise<void>;
312
+ /**
313
+ * Removes a user from the web conference in the given bubble; This API can be used by
314
+ * the moderators of the bubble to remove other participants too
315
+ * @param webConferenceSession - The current web conference session
316
+ * @param participantId - The participant ID that should be removed from the conference
317
+ * @internal
318
+ * @returns Return promise
319
+ */
320
+ disconnectUserFromWebConference: (webConferenceSession: WebConferenceSession, participantId: string) => Promise<void>;
321
+ /**
322
+ * Add audio to an existing web conference session (ONLY IN CASE THE JOIN IS DONE VIA NOAUDIO OPTION)
323
+ * @param webConferenceSession - the WebConferenceSession object where we want to add the media
324
+ * @internal
325
+ */
326
+ addAudioToWebConferenceSession: (webConferenceSession: WebConferenceSession) => void;
327
+ /**
328
+ * API used to update the conference parameters (can be used by the conference moderator)
329
+ * @param webConferenceSession - The Web Conference session
330
+ * @param option - could be one of:
331
+ * - mute (Mutes all participants, except requester.)
332
+ * - unmute (Unmutes all participants)
333
+ * - lock (Disables any future participant from joining conference)
334
+ * - unlock (Unlocks the conference)
335
+ * @returns a promise that resolve when conference parameters are updated
336
+ * @internal
337
+ */
338
+ updateConferenceParameters: (webConferenceSession: WebConferenceSession, option: string) => Promise<void>;
339
+ /**
340
+ * Method used to stop the echo test
341
+ * @param roomDbId - the DB Id of the room where we want to get the stats
342
+ * @internal
343
+ */
344
+ getConferenceTalkingTimeStats: (roomDbId: string) => Promise<any>;
345
+ /**
346
+ * Raise your hand in the concerned Conference
347
+ * @param session - The conference session where the user is going to lower their hand
348
+ * @returns Returns WebConferenceSession object that is related to the web conference session in that bubble
349
+ * @internal
350
+ */
351
+ raiseHand: (session: WebConferenceSession) => Promise<WebConferenceSession>;
352
+ /** @internal */
353
+ putActiveConferenceOnHold: (call?: any) => any;
354
+ /** @internal */
355
+ retrieveConferenceOnHold: () => any;
356
+ /**
357
+ * Method used to remove all incoming video sessions; Also the dynamic feed / active talker video is removed
358
+ * @param webConferenceSession - The Web conference participant
359
+ * @returns returns when it's done
360
+ * @internal
361
+ */
362
+ removeAllRemoteVideoSessions: (webConferenceSession: WebConferenceSession) => void;
363
+ /**
364
+ * Method used to start the echo test
365
+ * @internal
366
+ */
367
+ startMediaEchoTest: () => Promise<void>;
368
+ /**
369
+ * Method used to stop the echo test
370
+ * @internal
371
+ */
372
+ stopMediaEchoTest: () => Promise<void>;
373
+ /**
374
+ * Method used to start a pilot test conference.
375
+ * @returns the identifyer of the bubble used for the test
376
+ * @internal
377
+ */
378
+ startMediaEchoTestV2: () => Promise<string>;
379
+ /** @internal */
380
+ hasActiveWebConferenceSession: () => boolean;
381
+ /** @internal */
382
+ waitWebConferenceConnection: (session: BubbleConference) => Promise<void>;
383
+ /**
384
+ * Lower your hand in the concerned conference (you can also lower the hand of someone else if you are a Bubble Organizer)
385
+ * @param session - The conference session where the user is going to lower their hand
386
+ * @param user - The user lowering their hand
387
+ * @returns Returns WebConferenceSession object that is related to the web conference session in that bubble
388
+ * @internal
389
+ */
390
+ lowerHand: (session: WebConferenceSession, user: BubbleConferenceParticipant) => Promise<WebConferenceSession>;
391
+ /**
392
+ * Get all conference recaps that belong to the connected user
393
+ */
394
+ getRecaps: (bubble?: Bubble) => Promise<BubbleConferenceRecap[]>;
395
+ /**
396
+ * Get conference recaps shared with the connected user
397
+ */
398
+ getSharedWithMeRecaps: (bubble?: Bubble) => Promise<BubbleConferenceRecap[]>;
399
+ /** @internal */
400
+ sendInnerEvent: (name: string, data?: any) => void;
401
+ /** @internal */
402
+ subscribeToInnerEvents: (handler: any) => Subscription;
403
+ }
404
+ /**
405
+ * @deprecated Use {@link BubbleConferenceServiceRB.events} directly instead, which returns a typed RxJS Observable.
406
+ */
407
+ export declare enum BubbleConferenceServiceEvents {
408
+ /**
409
+ * @eventProperty ON_CONFERENCE_STARTED
410
+ * This RB event is fired when a conference has started in a bubble
411
+ *
412
+ * **Event Data**
413
+ * - **bubbleConference** : The newly started webConference
414
+ */
415
+ ON_CONFERENCE_STARTED = "ON_CONFERENCE_STARTED",
416
+ /**
417
+ * @eventProperty ON_CONFERENCE_ENDED
418
+ * This event is send when the conference in the given bubble is no longer active. This event is received after the owner has
419
+ * stopped the conference (it could also be us)
420
+ *
421
+ * **Event Data**
422
+ * - **bubbleConference** : The webConference
423
+ */
424
+ ON_CONFERENCE_ENDED = "ON_CONFERENCE_ENDED",
425
+ /**
426
+ * @eventProperty ON_CONFERENCE_RECAP_CREATED
427
+ * @internal
428
+ * This RB event is fired when a new recap recording is created
429
+ */
430
+ ON_CONFERENCE_RECAP_CREATED = "ON_CONFERENCE_RECAP_CREATED",
431
+ /**
432
+ * @eventProperty ON_CONFERENCE_RECAP_READY
433
+ * @internal
434
+ * This RB event is fired when a new recap recording is ready to be displayed
435
+ */
436
+ ON_CONFERENCE_RECAP_READY = "ON_CONFERENCE_RECAP_READY",
437
+ /**
438
+ * @eventProperty ON_CONFERENCE_RECAP_REMOVED
439
+ * @internal
440
+ * This RB event is fired when a new recap is removed
441
+ */
442
+ ON_CONFERENCE_RECAP_REMOVED = "ON_CONFERENCE_RECAP_REMOVED",
443
+ /**
444
+ * @eventProperty ON_CONFERENCE_RECAP_SHARED
445
+ * @internal
446
+ * This RB event is fired when a recap is shared
447
+ */
448
+ ON_CONFERENCE_RECAP_SHARED = "ON_CONFERENCE_RECAP_SHARED",
449
+ /**
450
+ * @eventProperty ON_CONFERENCE_STATUS_UPDATE
451
+ * This RB event is send when the status of the current conference has changed.
452
+ *
453
+ * **Event Data**
454
+ * - **bubbleConference** : The DB ID of the bubble related to the bubble conference
455
+ * - **status** : The new status for the web conference;It could be "connecting", "connected", "reconnecting", "onhold", "ended"s
456
+ */
457
+ ON_CONFERENCE_STATUS_UPDATE = "ON_CONFERENCE_STATUS_UPDATE",
458
+ /**
459
+ * @eventProperty ON_WEBCONFERENCE_PARTICIPANT_LIST_UPDATE
460
+ * @internal
461
+ * This RB event is when there's a modification in the list of the participants (participants are added or removed)
462
+ *
463
+ * **Event Data**
464
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
465
+ */
466
+ ON_WEBCONFERENCE_PARTICIPANT_LIST_UPDATE = "ON_WEBCONFERENCE_PARTICIPANT_LIST_UPDATE",
467
+ /**
468
+ * @eventProperty ON_WEBCONFERENCE_PARTICIPANT_ADD
469
+ * @internal
470
+ * This RB event is when there's a new participant that has been added in the participant list / conference
471
+ *
472
+ * **Event Data**
473
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
474
+ * - **participantId** : The DB ID of the participant that is added in the conference
475
+ */
476
+ ON_WEBCONFERENCE_PARTICIPANT_ADD = "ON_WEBCONFERENCE_PARTICIPANT_ADD",
477
+ /**
478
+ * @eventProperty ON_WEBCONFERENCE_PARTICIPANT_REMOVE
479
+ * @internal
480
+ * This RB event is when there's a participant that has been removed in the participant list / conference
481
+ *
482
+ * **Event Data**
483
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
484
+ * - **participantId** : The DB ID of the participant that have been removed from the conference
485
+ */
486
+ ON_WEBCONFERENCE_PARTICIPANT_REMOVE = "ON_WEBCONFERENCE_PARTICIPANT_REMOVE",
487
+ /**
488
+ * @eventProperty ON_WEBCONFERENCE_PUBLISHER_ADD
489
+ * @internal
490
+ * This RB event is when there's a new video or sharing media available in the conference.
491
+ * This could be in the list of the participants (participants have now video available)
492
+ * Or this could be an update on the sharing session (added)
493
+ * This event is also fired when the current user adds sharing or video
494
+ *
495
+ * **Event Data**
496
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
497
+ */
498
+ ON_WEBCONFERENCE_PUBLISHER_ADD = "ON_WEBCONFERENCE_PUBLISHER_ADD",
499
+ /**
500
+ * @eventProperty ON_WEBCONFERENCE_PUBLISHER_REMOVE
501
+ * @internal
502
+ * This RB event is when there's a video or sharing media removed from the conference.
503
+ * This could be in the list of the participants (participants have no longer video available)
504
+ * Or this could be an update on the sharing session (removed)
505
+ * This event is also fired when the current user removes sharing or video
506
+ *
507
+ * **Event Data**
508
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
509
+ */
510
+ ON_WEBCONFERENCE_PUBLISHER_REMOVE = "ON_WEBCONFERENCE_PUBLISHER_REMOVE",
511
+ /**
512
+ * @eventProperty ON_WEBCONFERENCE_LOCKSTATE_UPDATE
513
+ * @internal
514
+ * This RB event is when there's an update in the lock state of the conference
515
+ * If a conference is locked, no other user can join it (the JOIN is rejected)
516
+ * Conference can be locked or unlocked by any moderator of the bubble / room
517
+ *
518
+ * **Event Data**
519
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
520
+ * - **isLock** : Boolean indicating whether the conference is locked
521
+ * - **lockedById** : The DB ID of the user that locked / unlocked the conference
522
+ */
523
+ ON_WEBCONFERENCE_LOCKSTATE_UPDATE = "ON_WEBCONFERENCE_LOCKSTATE_UPDATE",
524
+ /**
525
+ * @eventProperty ON_WEBCONFERENCE_UNMUTE_DEMAND_RECEIVED
526
+ * @internal
527
+ * This RB event is received when we're asked to unmute ourselves from a distant party;
528
+ *
529
+ * **Event Data**
530
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
531
+ * - **askedBy** : The DB ID of the user that asked ourselves to be unmuted
532
+ */
533
+ ON_WEBCONFERENCE_UNMUTE_DEMAND_RECEIVED = "ON_WEBCONFERENCE_UNMUTE_DEMAND_RECEIVED",
534
+ /**
535
+ * @eventProperty ON_WEBCONFERENCE_SHARING_CONFLICT
536
+ * @internal
537
+ * This RB event is fired when the local sharing is aborted because another participant
538
+ * started sharing while the local user was still selecting the screen to share
539
+ *
540
+ * **Event Data**
541
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
542
+ */
543
+ ON_WEBCONFERENCE_SHARING_CONFLICT = "ON_WEBCONFERENCE_SHARING_CONFLICT",
544
+ /**
545
+ * @eventProperty ON_WEBCONFERENCE_LOCALMEDIA_UPDATE
546
+ * @internal
547
+ * This RB event is when there's an update in the local medias.
548
+ * It could be when we add media (video or sharing)
549
+ * It could be when we remove media (video or sharing)
550
+ *
551
+ * **Event Data**
552
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
553
+ * - **mediaType** : The type of media that is updated : 'video' or 'sharing'
554
+ * - **action** : Could be 'added' or 'removed'
555
+ */
556
+ ON_WEBCONFERENCE_LOCALMEDIA_UPDATE = "ON_WEBCONFERENCE_LOCALMEDIA_UPDATE",
557
+ /**
558
+ * @eventProperty ON_WEBCONFERENCE_LOCAL_PARTICIPANT_UPDATE
559
+ * @internal
560
+ * This RB event is send when the local participant is updated (mute, delegation, etc)
561
+ *
562
+ * **Event Data**
563
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
564
+ */
565
+ ON_WEBCONFERENCE_LOCAL_PARTICIPANT_UPDATE = "ON_WEBCONFERENCE_LOCAL_PARTICIPANT_UPDATE",
566
+ /**
567
+ * @eventProperty ON_WEBCONFERENCE_REMOTEMEDIA_UPDATE
568
+ * @internal
569
+ * This RB event is when there's an update in the remote media sessions
570
+ * It could be when another user adds media (video or sharing)
571
+ * The media type is 'mozaic' in case the session is related to the Large Grid service (49 videos at once), available via WebConferenceSession.gridServiceSubscription
572
+ * It could be when another user removes media (video or sharing)
573
+ * NB Not the same thing as ON_WEBCONFERENCE_PUBLISHER_ADD, as this event indicates
574
+ * that there's a publisher available, but the ON_WEBCONFERENCE_REMOTEMEDIA_UPDATE is fired
575
+ * when we actually subscribe to a remote media (either sharing or video) and the media can be played
576
+ * by using attachVideoSessionToHtmlElement API
577
+ *
578
+ * **Event Data**
579
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
580
+ * - **mediaType** : The type of media that is updated : 'video' or 'sharing' or 'mozaic' (the large grid of 49 videos) or 'dynamicFeed' (The active talker video)
581
+ * - **action** : Could be 'added' or 'removed' or 'hold'
582
+ */
583
+ ON_WEBCONFERENCE_REMOTEMEDIA_UPDATE = "ON_WEBCONFERENCE_REMOTEMEDIA_UPDATE",
584
+ /**
585
+ * @eventProperty ON_WEBCONFERENCE_PARTICIPANT_UPDATE
586
+ * @internal
587
+ * This RB event is when there's an update in one of the participants
588
+ * It could be when a user is muted/unmuted
589
+ * It could be when the role or the delegation capability has changed
590
+ * It could be when the user microphone capability has changed
591
+ * It could be when the distant user is asked to be unmuted. In that case, participant ID and action "askToUnmute" will be sent to the event
592
+ * It could be when a user raises/lowers their hand. In that case, participant ID and action "raise-hand" or "lower-hand" will be sent to the event
593
+ *
594
+ * **Event Data**
595
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
596
+ */
597
+ ON_WEBCONFERENCE_PARTICIPANT_UPDATE = "ON_WEBCONFERENCE_PARTICIPANT_UPDATE",
598
+ /**
599
+ * @eventProperty ON_WEBCONFERENCE_TALKER_UPDATE
600
+ * @internal
601
+ * This RB event is when there's an update in the talker participant
602
+ * It could be when a user starts speaking
603
+ * It could be when the current speaker changes
604
+ * It could be when the last speaker stops speaking (noone is speaking)
605
+ *
606
+ * **Event Data**
607
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
608
+ */
609
+ ON_WEBCONFERENCE_TALKER_UPDATE = "ON_WEBCONFERENCE_TALKER_UPDATE",
610
+ /**
611
+ * @eventProperty ON_WEBCONFERENCE_DELEGATE
612
+ * @internal
613
+ * This RB event is fired when the conference is delegated, i.e. the owner of the conference has changed
614
+ *
615
+ * **Event Data**
616
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
617
+ * - **userDbId** : The DB ID of the user that is the new owner
618
+ * - **gaveOwnership** : If true it means that the last owner of the conference was the "myself"
619
+ */
620
+ ON_WEBCONFERENCE_DELEGATE = "ON_WEBCONFERENCE_DELEGATE",
621
+ /**
622
+ * @eventProperty ON_WEBCONFERENCE_SERVICE_UPDATE
623
+ * @internal
624
+ * This RB event is when there's an update in the "conference services"
625
+ * It's used for other services like Grid 49, etc
626
+ *
627
+ * **Event Data**
628
+ * - **roomDbId** : The DB ID of the bubble related to the web conference
629
+ */
630
+ ON_WEBCONFERENCE_SERVICE_UPDATE = "ON_WEBCONFERENCE_SERVICE_UPDATE",
631
+ /**
632
+ * @eventProperty ON_WEBCONFERENCE_STARTED_EVENT_IN_BUBBLE
633
+ * @internal
634
+ * This RB event is fired when a conference has started in a bubble/room (not by user itself)
635
+ *
636
+ * **Event Data**
637
+ * - **roomDbId** : The DB ID of the bubble where the web conference has started
638
+ */
639
+ ON_WEBCONFERENCE_STARTED_EVENT_IN_BUBBLE = "ON_WEBCONFERENCE_STARTED_EVENT_IN_BUBBLE",
640
+ /**
641
+ * @eventProperty ON_WEBCONFERENCE_STOP_HIGHLIGHTING
642
+ * @internal
643
+ * This RB event is fired to instruct the UI to stop the current call-area highlight animation.
644
+ */
645
+ ON_WEBCONFERENCE_STOP_HIGHLIGHTING = "ON_WEBCONFERENCE_STOP_HIGHLIGHTING",
646
+ /**
647
+ * @eventProperty ON_WEBCONFERENCE_START_HIGHLIGHTING
648
+ * @internal
649
+ * This RB event is fired to instruct the UI to start highlighting the sharing participant.
650
+ */
651
+ ON_WEBCONFERENCE_START_HIGHLIGHTING = "ON_WEBCONFERENCE_START_HIGHLIGHTING",
652
+ /**
653
+ * @eventProperty ON_JOIN_WITHOUT_AUDIO
654
+ * @internal
655
+ * Fired when getUserMedia fails, prompting the caller to join without audio.
656
+ */
657
+ ON_JOIN_WITHOUT_AUDIO = "ON_JOIN_WITHOUT_AUDIO",
658
+ /**
659
+ * @eventProperty ON_WEBCONFERENCE_ECHOTEST_STATS_UPDATE
660
+ * @internal
661
+ * This RB event is fired when an echo test conference generates stats
662
+ *
663
+ * **Event Data**
664
+ * - **roomDbId** : The DB ID of the bubble where the web conference has started
665
+ * - **stats** : The WebrtcStatisticsData received
666
+ */
667
+ ON_WEBCONFERENCE_ECHOTEST_STATS_UPDATE = "ON_WEBCONFERENCE_ECHOTEST_STATS_UPDATE",
668
+ /**
669
+ * @eventProperty ON_SESSION_ESTABLISHED
670
+ * This event SHOULD NOT BE HERE AT ALL !!!!
671
+ *
672
+ * * **Event Data**
673
+ * - **sessionId**: the id of the session that is part of the bubble conference that is now ACTIVE and flow is coming;
674
+ * This event is mostly used to attach the session on the HTML audio / video tag as we know that now the flow is active.
675
+ */
676
+ ON_SESSION_ESTABLISHED = "ON_SESSION_ESTABLISHED"
677
+ }
678
+ /**
679
+ * @internal
680
+ */
681
+ export declare enum WebConferenceServiceInnerEvents {
682
+ /**
683
+ * @eventProperty ON_WEBCONFERENCE_HIDE_INVITATION
684
+ * This event is send when we the user has either joined the conference in that bubble, or rejected the incoming call, or joined with other device
685
+ * It's used so that we need to hide the incoming call for these additional cases; For end of conference, check also ON_CONFERENCE_ENDED
686
+ *
687
+ * **Event Data**
688
+ * - **roomDbId** : The DB ID of the bubble
689
+ */
690
+ ON_WEBCONFERENCE_HIDE_INVITATION = "ON_WEBCONFERENCE_HIDE_INVITATION",
691
+ /**
692
+ * @eventProperty ON_WEBCONFERENCE_SHOW_INVITATION
693
+ * This event is send when we need to show an invitation to join the bubble conf
694
+ *
695
+ * **Event Data**
696
+ * - **roomDbId** : The DB ID of the bubble
697
+ */
698
+ ON_WEBCONFERENCE_SHOW_INVITATION = "ON_WEBCONFERENCE_SHOW_INVITATION",
699
+ /**
700
+ * @eventProperty ON_CONFERENCE_UPDATE_SUPERVISION_STATE
701
+ * This RB event is send when our participation in a conference is updated and we need to send a supervision state change to our ressources
702
+ */
703
+ ON_CONFERENCE_UPDATE_SUPERVISION_STATE = "ON_CONFERENCE_UPDATE_SUPERVISION_STATE"
704
+ }
705
+ declare const BubbleConferenceServiceRB_base: object & (abstract new (...args: any[]) => import("../../services/service").EventsMixinTemplate<IBubbleConferenceServiceEvents>);
706
+ /**
707
+ * @internal
708
+ */
709
+ export declare class BubbleConferenceServiceRB extends BubbleConferenceServiceRB_base implements BubbleConferenceService {
710
+ webConferenceSessions: Record<string, WebConferenceSession>;
711
+ webConferenceHelper: WebConferenceHelper;
712
+ webrtcConfigAndUtils: WebrtcConfigAndUtils;
713
+ private logger;
714
+ private authService;
715
+ private errorHelperService;
716
+ private contactService;
717
+ private xmppService;
718
+ private profileService;
719
+ private mainService;
720
+ private eventService;
721
+ private settingsService;
722
+ private deviceManagementService;
723
+ private virtualBackgroundService?;
724
+ private bubbleConferenceRecapService?;
725
+ private innerRxSubject;
726
+ private conferenceRef;
727
+ private xmppJingleListener;
728
+ private makingCall;
729
+ /**
730
+ * In-flight conference REST requests (start/join), keyed by bubble dbId. Lets us abort a request whose
731
+ * outcome nobody wants any more -- the user cancelled, stopped or left the conference -- so that it cannot
732
+ * settle minutes later and tear down whatever conference is running by then (CRRAINB-54760).
733
+ */
734
+ private pendingConferenceRequests;
735
+ private addingMedia;
736
+ private connected;
737
+ private xmppServiceSubscription;
738
+ private xmppConnectionSubscription;
739
+ private subscriptions;
740
+ private eventServiceSubscriptions;
741
+ private statsIntervals;
742
+ private reconnectionsInProgress;
743
+ private audioProfileChanging;
744
+ private videoProfileChanging;
745
+ private promiseInProgress;
746
+ private nameSpaceJingle;
747
+ private promiseQueue;
748
+ private raiseHandTemp;
749
+ adhocConferenceStarting: boolean;
750
+ static getInstance(): BubbleConferenceServiceRB;
751
+ static build(): BubbleConferenceServiceRB;
752
+ private constructor();
753
+ start(): Promise<void>;
754
+ stop(): Promise<void>;
755
+ private attachXmppHandlers;
756
+ subscribe(handler: any, eventNames?: string | string[]): Subscription;
757
+ /**
758
+ * Subscribe to all events from the service (internal + public).
759
+ * @deprecated Use `events()` instead.
760
+ * @example
761
+ * ```typescript
762
+ * service.events('ON_WEBCONFERENCE_LOCALMEDIA_UPDATE').subscribe(event => {
763
+ * console.log(event.data.roomDbId, event.data.mediaType, event.data.action);
764
+ * });
765
+ * ```
766
+ */
767
+ eventSubscribe(handler: any, eventNames?: string | string[]): Subscription;
768
+ sendEvent<const EventName extends keyof IBubbleConferenceServiceEvents & string>(eventName: EventName, data: IBubbleConferenceServiceEvents[EventName]): void;
769
+ /**
770
+ * Subscribe to inner events for the web conference sessions (all events are of RBEvent type {name: string, data:any});
771
+ * Most of the events are not documentated, and they're usually not to be used by external app;
772
+ * @param handler - The call-back function that will be subscribed to the RxJS subject
773
+ * @returns Returns RxJS Subscription
774
+ */
775
+ subscribeToInnerEvents(handler: any): Subscription;
776
+ sendInnerEvent(name: string, data?: any): void;
777
+ startConference(bubble: Bubble): Promise<BubbleConference>;
778
+ getConference(bubble: Bubble): BubbleConference | undefined;
779
+ /**
780
+ * Start a web conference in the given bubble
781
+ * @param bubble - The bubble where the user is going to start the conference
782
+ * @param recordConfig - Allows to start recording immediately when the conference begins with the specified params.
783
+ * @returns Returns WebConference object that is related to the web conference session in that bubble
784
+ */
785
+ startWebConference(bubble: Bubble, recordConfig?: {
786
+ params: BubbleConferenceRecapParams;
787
+ saveConfig: boolean;
788
+ }): Promise<BubbleConference>;
789
+ /**
790
+ * Start a web conference in the given bubble with the audio being available on the deskphone
791
+ * @param bubble - The bubble where the user is going to start the conference
792
+ * @returns Returns WebConference object that is related to the web conference session in that bubble
793
+ */
794
+ startWebConferenceByPhone(bubble: Bubble): Promise<BubbleConference>;
795
+ /**
796
+ * Stop a web conference in the given bubble
797
+ * @param bubble - The bubble where the user wants to end the conference
798
+ */
799
+ stopWebConference(bubble: Bubble): Promise<void>;
800
+ /**
801
+ * Joins a web conference in the given bubble
802
+ * @param bubble - The bubble where the user wants to join a conference (there should be an active conference in the bubble)
803
+ * @param joinParams - The join conference parameters
804
+ * @returns Returns WebConferenceSession object that is related to the web conference session in that bubble
805
+ */
806
+ joinWebConference(bubble: Bubble, joinParams?: BubbleConferenceJoinParameters): Promise<BubbleConference>;
807
+ /**
808
+ * Joins a web conference in the given bubble by his deskphone (only for RB Hub users); The user will also join the bubble in "no audio mode"
809
+ * @param bubble - The bubble where the user wants to join a conference (there should be an active conference in the bubble)
810
+ * @returns Returns WebConference object that is related to the web conference session in that bubble.
811
+ */
812
+ joinWebConferenceByPhone(bubble: Bubble): Promise<BubbleConference>;
813
+ /**
814
+ * Joins a web conference for media echo test
815
+ * @param bubble - The bubble where the user wants to join a conference (there should be an active conference in the bubble)
816
+ * @param joinParams - The join conference parameters
817
+ * @returns Returns WebConferenceSession object that is related to the web conference session in that bubble
818
+ */
819
+ joinEchoTestWebConference(bubble: Bubble, joinParams?: BubbleConferenceJoinParameters): Promise<BubbleConference>;
820
+ /**
821
+ * Removes me from the current conference. A "shortcut" for API disconnectUserFromWebConference
822
+ * @param webConference - The current web conference
823
+ */
824
+ leaveWebConference(webConference: BubbleConference): Promise<void>;
825
+ /**
826
+ * SDK-level recording-consent gate. Throws when the conference requires explicit
827
+ * recording consent and the local participant has not given it. This is defense-in-depth on top
828
+ * of the app's own UI-level consent popup: it also protects CPaaS/SDK integrations that call the
829
+ * SDK directly without going through Rainbow's own UI (and therefore never show that popup).
830
+ * Also fires BubbleConferenceEvents.ON_RECORDING_CONSENT_REQUIRED on the session first, so a
831
+ * subscriber can react without needing to catch the rejection specifically.
832
+ * Callers must catch/reject on this -- it never resolves silently.
833
+ */
834
+ private assertRecordingConsentGiven;
835
+ /**
836
+ * Add media (video or sharing) to an existing web conference
837
+ * @param webConference - the WebConference object where we want to add the media
838
+ * @param mediaType - the type of the media to be added. Accepted values are 'video' or 'sharing';
839
+ * @param existingStream - if we want to use an already existing stream
840
+ * @param getAudioForSharing - if we want to add audio from system to sharing
841
+ */
842
+ addMediaToWebConference(webConference: BubbleConference, mediaType: BubbleConferenceMedia, existingStream?: MediaStream, getAudioForSharing?: boolean): Promise<void>;
843
+ /**
844
+ * Remove Media from the current web conference. It could be either 'video' or 'sharing'
845
+ * @param webConference - The Web conference
846
+ * @param mediaType - the media to be removed 'video' or 'sharing'
847
+ */
848
+ removeMediaFromWebConference(webConference: BubbleConference, mediaType: BubbleConferenceMedia): void;
849
+ /**
850
+ * Update a conference participant (ourself, or any other participant if the user is a moderator of the conference)
851
+ * @param webConference -The Web Conference
852
+ * @param participantId -ID of particpant to update
853
+ * @param option -update data ( could be on of: mute, unmute, hold, retrieve, plug, unplug, update);
854
+ * With 'update' option we can :
855
+ * - Update media bandwidth as publisher. Two parameters must be present: media and bitRate
856
+ * - Update substream level as subscriber. One parameter must be present: subStreamLevel. Parameter publisherId is optional.
857
+ * @param media - type of media to be updated (video/sharing)
858
+ * @param bitRate - the max bitrate to be set (0 is unlimited)
859
+ * @param subStreamLevel - set new sub-stream level. Only available for publishers and in simulcast mode (0 - low, 1 - medium, 2 - high)
860
+ * @param publisherId - the publisher id related to the update
861
+ * @returns a promise that resolve when particpant state is updated
862
+ */
863
+ updateParticipant(webConference: BubbleConference, participantId: string, option: string, media?: string, bitRate?: string, subStreamLevel?: any, publisherId?: any): Promise<void>;
864
+ /**
865
+ * Mute or unmute the local participant's own audio locally only (client-side), without notifying the server or other participants.
866
+ * Used in stage mode so a participant can silence themselves without leaving the stage.
867
+ * @param webConference - the web conference session
868
+ * @param option - "mute" or "unmute"
869
+ */
870
+ localMuteParticipant(webConference: BubbleConference, option: "mute" | "unmute"): void;
871
+ sendWebConferenceEvent(name: keyof IBubbleConferenceServiceEvents, bubble: Bubble): void;
872
+ /**
873
+ * Attach the video session to a given HTML <video> tag element (by id)
874
+ * @param videoElementId - the ID of the HTML video tag element
875
+ * @param videoSession - the videoSession object that is inside the WebConferenceParticipant object
876
+ */
877
+ attachVideoSessionToHtmlElement(videoElementId: string, videoSession: any): void;
878
+ /**
879
+ * Detach all stream from an HTML <video> tag element (by id)
880
+ * @param videoElementId - the ID of the HTML video tag element
881
+ */
882
+ detachMediaToHtmlElement(videoElementId: string): void;
883
+ /**
884
+ * Get the owner contact for the webConference session
885
+ * @param webConferenceSession - the ID of the HTML video tag element (should be found by document.getElementById)
886
+ * @returns the Contact that is the "owner" / leader of the web conference
887
+ */
888
+ getConferenceLeaderContact(webConferenceSession: WebConferenceSession): Contact;
889
+ /**
890
+ * API used to update the bubble conferences configuration
891
+ * @param disableDynamicFeed - If true, the webConferenceHelper will disable the subscription mecanisme for the dynamic feed
892
+ * In case the subscription is already done, this will not effect the current session;
893
+ * NB The default value is FALSE for all conferences (i.e. by default, dynamic feed is activated)
894
+ * @param disableAutoSubscriptions - If true, the webConferenceHelper will disable the auto subscription mecanisme for all incoming publishers (except sharing)
895
+ * In case the subscription is already done, this will not effect the current session;
896
+ * NB The default value is FALSE for all conferences (i.e. by default, subscription is done for all publsihers)
897
+ */
898
+ setBubbleConferencesConfiguration(disableDynamicFeed?: boolean, disableAutoSubscriptions?: boolean): void;
899
+ private attachHandlers;
900
+ /**
901
+ * Get the web conference session by it's ID
902
+ * @param id - The ID of the web conference session (i.e. also equal to the DB ID of the room)
903
+ * @returns Returns the WebConferenceSession (or null otherwise)
904
+ */
905
+ getWebConferenceSessionById(id?: string): WebConferenceSession | undefined;
906
+ /**
907
+ * Returns true if the user is currenty participating in any web conference
908
+ * @returns Returns true if the user is currenty participating in any web conference
909
+ */
910
+ hasActiveWebConferenceSession(): boolean;
911
+ /**
912
+ * Returns WebConferenceSession if the user has an active web conference session (that he has joined)
913
+ * @returns Returns WebConferenceSession or null instead
914
+ */
915
+ getActiveWebConferenceSession(): WebConferenceSession | null;
916
+ /**
917
+ * CRRAINB-54746: names compared here come from two different worlds -- raw server values
918
+ * (bubble name, contact data) and values rebuilt by the client (Contact.computeDisplayName()
919
+ * upper-cases the first letter). Normalize both sides before comparing so the match does not
920
+ * depend on casing or on stray surrounding spaces.
921
+ */
922
+ private normalizeNameForComparison;
923
+ /**
924
+ * RQRAINB-14771: RED users can opt in (general settings) to the beta conference infrastructure.
925
+ * The profile is re-checked here so a stale localStorage value never sends the flag.
926
+ */
927
+ private isBetaConferenceActivated;
928
+ getUnjoinedWebConferenceSessionByOwnerName(name: string): Promise<WebConferenceSession | null>;
929
+ putActiveConferenceOnHold(call?: any): void;
930
+ retrieveConferenceOnHold(): void;
931
+ /**
932
+ * Joins a web conference in no audio mode. Only video & sharing sessions are available
933
+ * @param bubble - The bubble where the user wants to join a conference (there should be an active conference in the bubble)
934
+ * @param audioOnDeskphone - If true, the user has already joined with audio on the deskphone, so dont set the noAudio flag
935
+ * @returns Returns WebConferenceSession object that is related to the web conference session in that bubble
936
+ */
937
+ private joinWebConferenceWithoutAudio;
938
+ private manageCodecs;
939
+ /**
940
+ * API that tells if the user can use the addPSTNParticipantToConference with external phone numbers, or only to call rainbow users
941
+ * @returns Returns TRUE if user can add participantPhoneNumbers to the conference
942
+ */
943
+ canAddPSTNParticipantToWebConference(): boolean;
944
+ /**
945
+ * Add (call) rainbow users or PSTN participants in the conference
946
+ * @param webConferenceSession - The web conference where we want to add the participants
947
+ * @param participantPhoneNumbers - The phone numbers to be added to the conference
948
+ * @param userIds - the rainbow user Ids to be added to the conference
949
+ */
950
+ addPSTNParticipantToWebConference(webConferenceSession: WebConferenceSession, participantPhoneNumbers: string[], userIds: string[]): Promise<void>;
951
+ /**
952
+ * Decline incoming invitation to join a web conference. This API will send update to all other connected devices to the user to notify;
953
+ * @param bubble - The bubble to decline the web conference invitation
954
+ * @returns Returns on API call success
955
+ */
956
+ declineInvitationToJoinConference(bubble: Bubble): Promise<void>;
957
+ /**
958
+ * Add audio to an existing web conference session (ONLY IN CASE THE JOIN IS DONE VIA NOAUDIO OPTION)
959
+ * @param webConferenceSession - the WebConferenceSession object where we want to add the media
960
+ */
961
+ addAudioToWebConferenceSession(webConferenceSession: WebConferenceSession): Promise<void>;
962
+ private applyConstraintsToSharingStream;
963
+ /**
964
+ * Removes a PSTN user from the web conference in the given bubble; This API can be used by
965
+ * the moderators of the bubble to remove other participants too
966
+ * @param webConferenceSession - The current web conference session
967
+ * @param participantId - The participant ID that should be removed from the conference
968
+ */
969
+ private disconnectPstnParticipantFromWebConference;
970
+ private innerDisconnectUserFromWebConference;
971
+ /**
972
+ * Removes a user from the web conference in the given bubble; This API can be used by
973
+ * the moderators of the bubble to remove other participants too
974
+ * @param webConferenceSession - The current web conference session
975
+ * @param participantId - The participant ID that should be removed from the conference
976
+ */
977
+ disconnectUserFromWebConference(webConferenceSession: WebConferenceSession, participantId: string): Promise<void>;
978
+ /**
979
+ * API used to subscribe to the dynamic feed (if not done already)
980
+ * @param webConferenceSession - The Web Conference session
981
+ */
982
+ subscribeToDynamicFeed(webConferenceSession: WebConferenceSession): Promise<void>;
983
+ /**
984
+ * Subscribe to a conference service (like the grid 49 / mozaic)
985
+ * @param webConferenceSession - The Web Conference session
986
+ * @param serviceId - The serviceId to who we want to subscribe
987
+ */
988
+ subscribeToService(webConferenceSession: WebConferenceSession, serviceId: string): Promise<void>;
989
+ /**
990
+ * Subscribe to an echo test service
991
+ * @param webConferenceSession - The Web Conference session
992
+ * @param serviceId - The serviceId to who we want to subscribe
993
+ */
994
+ subscribeToEchoTestService(webConferenceSession: WebConferenceSession, serviceId: string): Promise<void>;
995
+ /**
996
+ * Subscribe to a video of a participant
997
+ * @param webConferenceSession - The Web Conference session
998
+ * @param participant - The WebConferenceParticipant to who we want to subscribe
999
+ * @param media - The type of media you want to subscribe to: video or sharing
1000
+ */
1001
+ subscribeToParticipantVideo(webConferenceSession: WebConferenceSession, participant: BubbleConferenceParticipant, media?: string): Promise<void>;
1002
+ /**
1003
+ * Method updatePstnParticipant
1004
+ * @param webConferenceSession - The Web Conference session
1005
+ * @param participantId - ID of particpant to update
1006
+ * @param option - update data (could be on of: mute, unmute);
1007
+ */
1008
+ private updatePstnParticipant;
1009
+ /**
1010
+ * API used to update the conference parameters (can be used by the conference moderator)
1011
+ * @param webConferenceSession - The Web Conference session
1012
+ * @param option - could be one of:
1013
+ * - mute (Mutes all participants, except requester.)
1014
+ * - unmute (Unmutes all participants)
1015
+ * - lock (Disables any future participant from joining conference)
1016
+ * - unlock (Unlocks the conference)
1017
+ */
1018
+ updateConferenceParameters(webConferenceSession: WebConferenceSession, option: string): Promise<void>;
1019
+ /**
1020
+ * Method used to delegate the conference to another participant
1021
+ * @param webConferenceSession - The Web conference session
1022
+ * @param participantId - the ID of the participant to whom we will delegate the conference
1023
+ */
1024
+ delegateConferenceToParticipant(webConferenceSession: WebConferenceSession, participantId: string): Promise<void>;
1025
+ /**
1026
+ * Method used to stop the echo test
1027
+ * @param roomDbId - the DB Id of the room where we want to get the stats
1028
+ */
1029
+ getConferenceTalkingTimeStats(roomDbId: string): Promise<any>;
1030
+ /**
1031
+ * Method used to start the echo test
1032
+ */
1033
+ startMediaEchoTest(): Promise<any>;
1034
+ /**
1035
+ * Method used to stop the echo test
1036
+ */
1037
+ stopMediaEchoTest(): Promise<void>;
1038
+ /**
1039
+ * Method used to initiates a conference for pilot test.
1040
+ * https://git.openrainbow.org/cloud-services/webrtc-documentation/-/blob/main/chapters/pilot_test.md
1041
+ * @returns Identifyer of the bubble used for test
1042
+ */
1043
+ startMediaEchoTestV2(): Promise<string>;
1044
+ /**
1045
+ * Transfer P2P call to Conference
1046
+ * @param oldSession - Jingle session object related to the P2P session
1047
+ * @param jingleJid - The jid of the Janus server where we want to join
1048
+ * @param bubble - The bubble where the adhoc is done
1049
+ * @param myConference - Is this my conference (initiator of the conf adhoc)
1050
+ * @param shouldMute - Whether the user should mute after join in the conference
1051
+ */
1052
+ transferP2pCallToConference(oldSession: any, jingleJid: string, bubble: Bubble, myConference?: boolean, shouldMute?: boolean): Promise<void>;
1053
+ /**
1054
+ * Method used to put all current incoming video sessions on hold
1055
+ * @param webConferenceSession - The Web conference session
1056
+ */
1057
+ putAllRemoteVideoSessionsOnHold(webConferenceSession: WebConferenceSession): void;
1058
+ /**
1059
+ * Method used to put the video session of the participant on hold; Cannot be done on sharing session !
1060
+ * @param participant - The Web conference participant
1061
+ */
1062
+ putRemoteVideoSessionOnHold(participant: BubbleConferenceParticipant): Promise<void>;
1063
+ /**
1064
+ * Method used to unhold the remote video session for participant; Cannot be done on sharing session !
1065
+ * @param participant - The Web conference participant
1066
+ */
1067
+ putRemoteVideoSessionOnUnhold(participant: BubbleConferenceParticipant): Promise<void>;
1068
+ /**
1069
+ * Method used to remove all incoming video sessions; Also the dynamic feed / active talker video is removed
1070
+ * @param webConferenceSession - The Web conference participant
1071
+ */
1072
+ removeAllRemoteVideoSessions(webConferenceSession: WebConferenceSession): void;
1073
+ private onVideoInputDeviceChange;
1074
+ private onAudioInputDeviceChange;
1075
+ private onReplaceBackgroundChangeEvent;
1076
+ /**
1077
+ * Method askToAddSharingToWebConferenceSession
1078
+ * Used only on desktop application : choose which screen to share
1079
+ */
1080
+ askToAddSharingToWebConferenceSession(conversation: any, conferenceSession: any, shouldAskForAudio?: boolean): void;
1081
+ /**
1082
+ * Method getUserMediaForSession
1083
+ * @param dbId - the ID of the web conference session
1084
+ */
1085
+ private getUserMediaForSession;
1086
+ /**
1087
+ * Shown only when the microphone hasn't answered within {@link GET_USER_MEDIA_TIMEOUT_MS} (e.g. a flaky
1088
+ * USB/Bluetooth device stuck reconnecting) -- lets the user decide instead of the join silently hanging.
1089
+ * @returns "noMic" if the user agrees to join without audio, "cancelled" if they decline
1090
+ */
1091
+ private confirmJoinWithoutMicrophone;
1092
+ private disableMediaStream;
1093
+ private getSilentStream;
1094
+ /**
1095
+ * Method initCall
1096
+ * @param jid - the JID of the distant party to make call
1097
+ * @param dbId - the ID of the web conference session
1098
+ * @param callId - unique call ID for this session
1099
+ * @param forceTurn - a flag whether we should go only through TURN servers or not
1100
+ */
1101
+ private initJingleCall;
1102
+ /**
1103
+ * Creates a new entry for metrics on the server related to this session
1104
+ * @param webConfId - the id of the conference
1105
+ * @param sessionId - the session id related to the conference
1106
+ */
1107
+ private createStatisticsForSession;
1108
+ /**
1109
+ * Updates the metrics for the given session which is part of the conference
1110
+ * @param webConferenceSession - the WebConferenceSession
1111
+ * @param sessionId - the session id related to the conference
1112
+ */
1113
+ private updateStatisticsForSession;
1114
+ /**
1115
+ * Called when the conference is delegated to another user
1116
+ * @param webConfId - the webConfId
1117
+ * @param userId - the userId that is now the owner of the conference
1118
+ */
1119
+ onConferenceDelegated(webConfId: string, userId: string): void;
1120
+ /**
1121
+ * Make snapshot to room and get the conference session info related to that room
1122
+ * Data received from Server
1123
+ * data Object
1124
+ active Boolean -- Is there an active conference?
1125
+ participants Object[]
1126
+ userId optional String
1127
+ phoneNumber optional String
1128
+ participantRole optional String (moderator, member, guest)
1129
+ total optional Number
1130
+ limit optional Number (Default value: 100)
1131
+ offset optional Number
1132
+ * @param roomDbId - The Web conference session
1133
+ */
1134
+ private makeSnapshotByRoomDbId;
1135
+ private createSessionParticipantFromSnapshotData;
1136
+ private updateWebConferenceFromSnapshotData;
1137
+ private disableAllLocalStreamsForSession;
1138
+ private removeActiveConferenceSession;
1139
+ private resetBusyStateIfNeeded;
1140
+ /**
1141
+ * Registers a new in-flight conference request (start/join) for the given room and returns its abort
1142
+ * controller. Any request still pending for that room is abandoned first: only the latest attempt is
1143
+ * allowed to act on its own outcome.
1144
+ */
1145
+ private beginConferenceRequest;
1146
+ /**
1147
+ * Abandons the conference request still in flight for the given room, if any. Called from every path that
1148
+ * gives up on joining or ends the conference, so that a start/join request left hanging by the network
1149
+ * cannot outlive the intent that triggered it.
1150
+ */
1151
+ private abortPendingConferenceRequest;
1152
+ /**
1153
+ * True when the rejection is our own abort (see abortPendingConferenceRequest) rather than an actual
1154
+ * failure. Such a rejection must stay silent: no error popup and no teardown, since whoever aborted the
1155
+ * request has already cleaned up.
1156
+ */
1157
+ private isAbortedConferenceRequest;
1158
+ /**
1159
+ * True when the session this call was working on is no longer the one registered for the room -- the user
1160
+ * gave up and started/joined again in the meantime. A late failure must then be reported to its own caller
1161
+ * but must not touch the session that took its place (CRRAINB-54760).
1162
+ */
1163
+ private isStaleConferenceSession;
1164
+ private createSessionParticipantFromElem;
1165
+ private onXmppJingleMessage;
1166
+ private onConferenceMessage;
1167
+ attachRemoteAudioStream(webConferenceSession: WebConferenceSession): void;
1168
+ private getWebConferenceByJingleSessionId;
1169
+ private onJingleUpdateStream;
1170
+ private webrtcConfigAndUtilsEvent;
1171
+ private onJingleMessage;
1172
+ private answerPexipSession;
1173
+ private removePexipMedia;
1174
+ private addVideoPexip;
1175
+ private onJingleSessionInvite;
1176
+ private onSessionTerminated;
1177
+ private onJingleSessionStats;
1178
+ private onJingleVideoQualityChangeEvent;
1179
+ private onJingleErrorEvent;
1180
+ private onConfSessionReconnectNeeded;
1181
+ private onConfSessionConnected;
1182
+ /**
1183
+ * Reconnects all the audio / video / sharing jingle sessions related to the active conference session (if any)
1184
+ */
1185
+ private reconnectActiveConferenceSession;
1186
+ /**
1187
+ * This event occurs when the ICE connection for a given webrtc session goes to "FAILED" state
1188
+ * @param webConferenceSession - the conference session impacted
1189
+ * @param session - the jingle session
1190
+ */
1191
+ private onIceConnectionFailedForSession;
1192
+ /**
1193
+ * This event occurs when the ICE connection for a given webrtc session goes to "disconnected" stat
1194
+ * @param webConference - the conference session impacted
1195
+ * @param session - the jingle session
1196
+ */
1197
+ private onIceConnectionDisconnectedForSession;
1198
+ /**
1199
+ * This event occurs when the ICE connection for a given webrtc session goes to "disconnected" state
1200
+ * @param webConferenceSession - the web conference session impacted
1201
+ * @param session - the jingle session to reconnect
1202
+ * @param timeout - the timeout in ms to wait before doing any action. Default value is 1000ms
1203
+ */
1204
+ private sendTransportReplaceForSession;
1205
+ /**
1206
+ * This method is used to check the current state of the conference and update the local conference
1207
+ * @param webConferenceSession - the web conference session impacted
1208
+ */
1209
+ private updateWebConferenceAfterReconnection;
1210
+ dropAudio(): Promise<void>;
1211
+ waitWebConferenceConnection(session: BubbleConference): Promise<void>;
1212
+ /**
1213
+ * Raise your hand in the concerned Conference
1214
+ * @param webConferenceSession - The conference session where the user is going to lower their hand
1215
+ */
1216
+ raiseHand(webConferenceSession: WebConferenceSession): Promise<WebConferenceSession>;
1217
+ /**
1218
+ * Lower your hand in the concerned conference (you can also lower the hand of someone else if you are a Bubble Organizer)
1219
+ * @param webConferenceSession - The conference session where the user is going to lower their hand
1220
+ * @param user - The user lowering their hand
1221
+ */
1222
+ lowerHand(webConferenceSession: WebConferenceSession, user: BubbleConferenceParticipant): Promise<WebConferenceSession>;
1223
+ /**
1224
+ * Get all conference recaps that belong to the connected user
1225
+ */
1226
+ getRecaps(bubble?: Bubble, forceUpdate?: boolean): Promise<BubbleConferenceRecap[]>;
1227
+ /**
1228
+ * Get conference recaps shared with the connected user
1229
+ */
1230
+ getSharedWithMeRecaps(bubble?: Bubble): Promise<BubbleConferenceRecap[]>;
1231
+ disableIncomingSharing(webConferenceSession: WebConferenceSession, disable: boolean): void;
1232
+ updateVideoQualityForPublisher(conferenceId: string, quality: BubbleConferenceVideoQuality, publisher?: BubbleConferenceParticipant): Promise<void>;
1233
+ startLiveTranscription(webConference: WebConferenceSession, translationLanguage?: string): Promise<void>;
1234
+ stopLiveTranscription(webConference: WebConferenceSession): Promise<void>;
1235
+ }
1236
+ export {};
1237
+ //# sourceMappingURL=bubbleConference.service.d.ts.map