You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

JitsiConferenceEvents.js 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. /**
  2. * The events for the conference.
  3. */
  4. /**
  5. * Event indicates that the current conference audio input switched between audio
  6. * input states,i.e. with or without audio input.
  7. */
  8. export const AUDIO_INPUT_STATE_CHANGE = 'conference.audio_input_state_changed';
  9. /**
  10. * Event indicates that the permission for unmuting audio has changed based on the number of audio senders in the call
  11. * and the audio sender limit configured in Jicofo.
  12. */
  13. export const AUDIO_UNMUTE_PERMISSIONS_CHANGED = 'conference.audio_unmute_permissions_changed';
  14. /**
  15. * Indicates that authentication status changed.
  16. */
  17. export const AUTH_STATUS_CHANGED = 'conference.auth_status_changed';
  18. /**
  19. * Fired just before the statistics module is disposed and it's the last chance
  20. * to submit some logs to the statistics service (ex. CallStats if enabled),
  21. * before it's disconnected.
  22. */
  23. export const BEFORE_STATISTICS_DISPOSED = 'conference.beforeStatisticsDisposed';
  24. /**
  25. * Indicates that an error occured.
  26. */
  27. export const CONFERENCE_ERROR = 'conference.error';
  28. /**
  29. * Indicates that conference failed.
  30. */
  31. export const CONFERENCE_FAILED = 'conference.failed';
  32. /**
  33. * Indicates that conference is in progress of joining.
  34. */
  35. export const CONFERENCE_JOIN_IN_PROGRESS = 'conference.join_in_progress';
  36. /**
  37. * Indicates that conference has been joined. The event does NOT provide any
  38. * parameters to its listeners.
  39. */
  40. export const CONFERENCE_JOINED = 'conference.joined';
  41. /**
  42. * Indicates that conference has been left.
  43. */
  44. export const CONFERENCE_LEFT = 'conference.left';
  45. /**
  46. * Indicates that the conference unique identifier has been set.
  47. */
  48. export const CONFERENCE_UNIQUE_ID_SET = 'conference.unique_id_set';
  49. /**
  50. * Indicates that the connection to the conference has been established
  51. * XXX This is currently fired whenVthe *ICE* connection enters 'connected'
  52. * state for the first time.
  53. */
  54. export const CONNECTION_ESTABLISHED = 'conference.connectionEstablished';
  55. /**
  56. * Indicates that the connection to the conference has been interrupted for some
  57. * reason.
  58. * XXX This is currently fired when the *ICE* connection is interrupted.
  59. */
  60. export const CONNECTION_INTERRUPTED = 'conference.connectionInterrupted';
  61. /**
  62. * Indicates that the connection to the conference has been restored.
  63. * XXX This is currently fired when the *ICE* connection is restored.
  64. */
  65. export const CONNECTION_RESTORED = 'conference.connectionRestored';
  66. /**
  67. * A connection to the video bridge's data channel has been established.
  68. */
  69. export const DATA_CHANNEL_OPENED = 'conference.dataChannelOpened';
  70. /**
  71. * A user has changed it display name
  72. */
  73. export const DISPLAY_NAME_CHANGED = 'conference.displayNameChanged';
  74. /**
  75. * The dominant speaker was changed.
  76. */
  77. export const DOMINANT_SPEAKER_CHANGED = 'conference.dominantSpeaker';
  78. /**
  79. * UTC conference timestamp when first participant joined.
  80. */
  81. export const CONFERENCE_CREATED_TIMESTAMP = 'conference.createdTimestamp';
  82. /**
  83. * Indicates that DTMF support changed.
  84. */
  85. export const DTMF_SUPPORT_CHANGED = 'conference.dtmfSupportChanged';
  86. /**
  87. * Indicates that a message from another participant is received on data
  88. * channel.
  89. */
  90. export const ENDPOINT_MESSAGE_RECEIVED = 'conference.endpoint_message_received';
  91. /**
  92. * Indicates that a message for the remote endpoint statistics has been received on the bridge channel.
  93. */
  94. export const ENDPOINT_STATS_RECEIVED = 'conference.endpoint_stats_received';
  95. /**
  96. * NOTE This is lib-jitsi-meet internal event and can be removed at any time !
  97. *
  98. * Event emitted when conference transits, between one to one and multiparty JVB
  99. * conference. If the conference switches to P2P it's neither one to one nor
  100. * a multiparty JVB conference, but P2P (the status argument of this event will
  101. * be <tt>false</tt>).
  102. *
  103. * The first argument is a boolean which carries the previous value and
  104. * the seconds argument is a boolean with the new status. The event is emitted
  105. * only if the previous and the new values are different.
  106. *
  107. * @type {string}
  108. */
  109. export const JVB121_STATUS = 'conference.jvb121Status';
  110. /**
  111. * You are kicked from the conference.
  112. * @param {JitsiParticipant} the participant that initiated the kick.
  113. */
  114. export const KICKED = 'conference.kicked';
  115. /**
  116. * Participant was kicked from the conference.
  117. * @param {JitsiParticipant} the participant that initiated the kick.
  118. * @param {JitsiParticipant} the participant that was kicked.
  119. */
  120. export const PARTICIPANT_KICKED = 'conference.participant_kicked';
  121. /**
  122. * The Last N set is changed.
  123. *
  124. * @param {Array<string>|null} leavingEndpointIds the ids of all the endpoints
  125. * which are leaving Last N
  126. * @param {Array<string>|null} enteringEndpointIds the ids of all the endpoints
  127. * which are entering Last N
  128. */
  129. export const LAST_N_ENDPOINTS_CHANGED = 'conference.lastNEndpointsChanged';
  130. /**
  131. * Indicates that the room has been locked or unlocked.
  132. */
  133. export const LOCK_STATE_CHANGED = 'conference.lock_state_changed';
  134. /**
  135. * Indicates that the region of the media server (jitsi-videobridge) that we
  136. * are connected to changed (or was initially set).
  137. * @type {string} the region.
  138. */
  139. export const SERVER_REGION_CHANGED = 'conference.server_region_changed';
  140. /**
  141. * An event(library-private) fired when a new media session is added to the conference.
  142. * @type {string}
  143. * @private
  144. */
  145. export const _MEDIA_SESSION_STARTED = 'conference.media_session.started';
  146. /**
  147. * An event(library-private) fired when the conference switches the currently active media session.
  148. * @type {string}
  149. * @private
  150. */
  151. export const _MEDIA_SESSION_ACTIVE_CHANGED = 'conference.media_session.active_changed';
  152. /**
  153. * Indicates that the conference had changed to members only enabled/disabled.
  154. * The first argument of this event is a <tt>boolean</tt> which when set to
  155. * <tt>true</tt> means that the conference is running in members only mode.
  156. * You may need to use Lobby if supported to ask for permissions to enter the conference.
  157. */
  158. export const MEMBERS_ONLY_CHANGED = 'conference.membersOnlyChanged';
  159. /**
  160. * New text message was received.
  161. */
  162. export const MESSAGE_RECEIVED = 'conference.messageReceived';
  163. /**
  164. * Event indicates that the current selected input device has no signal
  165. */
  166. export const NO_AUDIO_INPUT = 'conference.no_audio_input';
  167. /**
  168. * Event indicates that the current microphone used by the conference is noisy.
  169. */
  170. export const NOISY_MIC = 'conference.noisy_mic';
  171. /**
  172. * Indicates that a message from the local user or from the Prosody backend
  173. * was received on the data channel.
  174. */
  175. export const NON_PARTICIPANT_MESSAGE_RECEIVED = 'conference.non_participant_message_received';
  176. /**
  177. * New private text message was received.
  178. */
  179. export const PRIVATE_MESSAGE_RECEIVED = 'conference.privateMessageReceived';
  180. /**
  181. * Event fired when JVB sends notification about interrupted/restored user's
  182. * ICE connection status or we detect local problem with the video track.
  183. * First argument is the ID of the participant and
  184. * the seconds is a string indicating if the connection is currently
  185. * - active - the connection is active
  186. * - inactive - the connection is inactive, was intentionally interrupted by
  187. * the bridge
  188. * - interrupted - a network problem occurred
  189. * - restoring - the connection was inactive and is restoring now
  190. *
  191. * The current status value can be obtained by calling
  192. * JitsiParticipant.getConnectionStatus().
  193. */
  194. export const PARTICIPANT_CONN_STATUS_CHANGED
  195. = 'conference.participant_conn_status_changed';
  196. /**
  197. * Indicates that the features of the participant has been changed.
  198. */
  199. export const PARTCIPANT_FEATURES_CHANGED
  200. = 'conference.partcipant_features_changed';
  201. /**
  202. * Indicates that a the value of a specific property of a specific participant
  203. * has changed.
  204. */
  205. export const PARTICIPANT_PROPERTY_CHANGED
  206. = 'conference.participant_property_changed';
  207. /**
  208. * Indicates that the conference has switched between JVB and P2P connections.
  209. * The first argument of this event is a <tt>boolean</tt> which when set to
  210. * <tt>true</tt> means that the conference is running on the P2P connection.
  211. */
  212. export const P2P_STATUS = 'conference.p2pStatus';
  213. /**
  214. * Indicates that phone number changed.
  215. */
  216. export const PHONE_NUMBER_CHANGED = 'conference.phoneNumberChanged';
  217. /**
  218. * The conference properties changed.
  219. * @type {string}
  220. */
  221. export const PROPERTIES_CHANGED = 'conference.propertiesChanged';
  222. /**
  223. * Indicates that recording state changed.
  224. */
  225. export const RECORDER_STATE_CHANGED = 'conference.recorderStateChanged';
  226. /**
  227. * Indicates that video SIP GW state changed.
  228. * @param {VideoSIPGWConstants} status.
  229. */
  230. export const VIDEO_SIP_GW_AVAILABILITY_CHANGED
  231. = 'conference.videoSIPGWAvailabilityChanged';
  232. /**
  233. * Indicates that video SIP GW Session state changed.
  234. * @param {options} event - {
  235. * {string} address,
  236. * {VideoSIPGWConstants} oldState,
  237. * {VideoSIPGWConstants} newState,
  238. * {string} displayName}
  239. * }.
  240. */
  241. export const VIDEO_SIP_GW_SESSION_STATE_CHANGED
  242. = 'conference.videoSIPGWSessionStateChanged';
  243. /**
  244. * Indicates that start muted settings changed.
  245. */
  246. export const START_MUTED_POLICY_CHANGED
  247. = 'conference.start_muted_policy_changed';
  248. /**
  249. * Indicates that the local user has started muted.
  250. */
  251. export const STARTED_MUTED = 'conference.started_muted';
  252. /**
  253. * Indicates that subject of the conference has changed.
  254. */
  255. export const SUBJECT_CHANGED = 'conference.subjectChanged';
  256. /**
  257. * Indicates that DTMF support changed.
  258. */
  259. export const SUSPEND_DETECTED = 'conference.suspendDetected';
  260. /**
  261. * Event indicates that local user is talking while he muted himself
  262. */
  263. export const TALK_WHILE_MUTED = 'conference.talk_while_muted';
  264. /**
  265. * A new media track was added to the conference. The event provides the
  266. * following parameters to its listeners:
  267. *
  268. * @param {JitsiTrack} track the added JitsiTrack
  269. */
  270. export const TRACK_ADDED = 'conference.trackAdded';
  271. /**
  272. * Audio levels of a media track ( attached to the conference) was changed.
  273. */
  274. export const TRACK_AUDIO_LEVEL_CHANGED = 'conference.audioLevelsChanged';
  275. /**
  276. * A media track ( attached to the conference) mute status was changed.
  277. * @param {JitsiParticipant|null} the participant that initiated the mute
  278. * if it is a remote mute.
  279. */
  280. export const TRACK_MUTE_CHANGED = 'conference.trackMuteChanged';
  281. /**
  282. * The media track was removed from the conference. The event provides the
  283. * following parameters to its listeners:
  284. *
  285. * @param {JitsiTrack} track the removed JitsiTrack
  286. */
  287. export const TRACK_REMOVED = 'conference.trackRemoved';
  288. /**
  289. * The source-add for unmuting of a media track was rejected by Jicofo.
  290. *
  291. */
  292. export const TRACK_UNMUTE_REJECTED = 'conference.trackUnmuteRejected';
  293. /**
  294. * Notifies for transcription status changes. The event provides the
  295. * following parameters to its listeners:
  296. *
  297. * @param {String} status - The new status.
  298. */
  299. export const TRANSCRIPTION_STATUS_CHANGED
  300. = 'conference.transcriptionStatusChanged';
  301. /**
  302. * A new user joined the conference.
  303. */
  304. export const USER_JOINED = 'conference.userJoined';
  305. /**
  306. * A user has left the conference.
  307. */
  308. export const USER_LEFT = 'conference.userLeft';
  309. /**
  310. * User role changed.
  311. */
  312. export const USER_ROLE_CHANGED = 'conference.roleChanged';
  313. /**
  314. * User status changed.
  315. */
  316. export const USER_STATUS_CHANGED = 'conference.statusChanged';
  317. /**
  318. * Event indicates that the permission for unmuting video has changed based on the number of video senders in the call
  319. * and the video sender limit configured in Jicofo.
  320. */
  321. export const VIDEO_UNMUTE_PERMISSIONS_CHANGED = 'conference.video_unmute_permissions_changed';
  322. /**
  323. * Event indicates that the bot participant type changed.
  324. */
  325. export const BOT_TYPE_CHANGED = 'conference.bot_type_changed';
  326. /**
  327. * A new user joined the lobby room.
  328. */
  329. export const LOBBY_USER_JOINED = 'conference.lobby.userJoined';
  330. /**
  331. * A user from the lobby room has been update.
  332. */
  333. export const LOBBY_USER_UPDATED = 'conference.lobby.userUpdated';
  334. /**
  335. * A user left the lobby room.
  336. */
  337. export const LOBBY_USER_LEFT = 'conference.lobby.userLeft';
  338. /**
  339. * The local participant was approved to be able to unmute.
  340. * @param {options} event - {
  341. * {MediaType} mediaType
  342. * }.
  343. */
  344. export const AV_MODERATION_APPROVED = 'conference.av_moderation.approved';
  345. /**
  346. * The local participant was blocked to be able to unmute.
  347. * @param {options} event - {
  348. * {MediaType} mediaType
  349. * }.
  350. */
  351. export const AV_MODERATION_REJECTED = 'conference.av_moderation.rejected';
  352. /**
  353. * AV Moderation was enabled/disabled. The actor is the participant that is currently in the meeting,
  354. * or undefined if that participant has left the meeting.
  355. *
  356. * @param {options} event - {
  357. * {boolean} enabled,
  358. * {MediaType} mediaType,
  359. * {JitsiParticipant} actor
  360. * }.
  361. */
  362. export const AV_MODERATION_CHANGED = 'conference.av_moderation.changed';
  363. /**
  364. * AV Moderation, report for user being approved to unmute.
  365. * @param {options} event - {
  366. * {JitsiParticipant} participant,
  367. * {MediaType} mediaType
  368. * }.
  369. */
  370. export const AV_MODERATION_PARTICIPANT_APPROVED = 'conference.av_moderation.participant.approved';
  371. /**
  372. * AV Moderation, report for user being blocked to unmute.
  373. * @param {options} event - {
  374. * {JitsiParticipant} participant,
  375. * {MediaType} mediaType
  376. * }.
  377. */
  378. export const AV_MODERATION_PARTICIPANT_REJECTED = 'conference.av_moderation.participant.rejected';
  379. /**
  380. * A new facial expression is added with its duration for a participant
  381. */
  382. export const FACIAL_EXPRESSION_ADDED = 'conference.facial_expression.added';
  383. /**
  384. * Event fired when a participant is requested to join a given (breakout) room.
  385. */
  386. export const BREAKOUT_ROOMS_MOVE_TO_ROOM = 'conference.breakout-rooms.move-to-room';
  387. /**
  388. * Event fired when the breakout rooms data was updated.
  389. */
  390. export const BREAKOUT_ROOMS_UPDATED = 'conference.breakout-rooms.updated';