Commit Graph

67 Commits

Author SHA1 Message Date
Aaron van Meerten 8d1d573266 updates bosh to support optional prefix
use optional prefix in poltergeist room lookup
2019-05-16 14:23:36 -05:00
damencho ea54713f9a Supports prosody 0.11 when configuring.
Doing few changes needed for general config and for tokens.
2019-04-05 17:18:17 +02:00
jmacelroy 573cc64fcd Normalizing subdomain when checking JWTs; similar to room. 2019-02-01 13:19:33 -06:00
Aaron van Meerten 13165990fc supports a '*' in the sub claim to allow access to any room 2019-01-28 16:19:43 -06:00
damencho 380d9c75d1 Simplifies logic and renames a method. 2018-12-28 13:54:29 +00:00
damencho 7a09befd87 Updates time to be in ms and sends update of stats when user joins. 2018-12-28 13:54:29 +00:00
damencho 3b4037553a Adds server-side speaker stats handling.
Adds the component which receives the messages from client and a module which enabled on a virtual host will start advertising the component. When clients discover the component they will send message to the component with the name of the room where the dominant speaker event happen.
2018-12-28 13:54:29 +00:00
damencho c9c9f7eac0 Adds max occupant module. 2018-11-03 10:45:59 -05:00
jmacelroy 944cf4272d Creating a new async prosody http wrapper. 2018-07-16 21:58:48 +00:00
jmacelroy d189888902 feat(calls): Adding missed call event triggering. 2018-07-11 21:09:53 +00:00
damencho d12afc5c07 Fixes the room size api which returns string result back to client. 2018-07-09 13:44:24 -05:00
jmacelroy 1c6d22b75e Adding state to poltergeist store for correlating external resources with calls. 2018-06-29 14:51:48 -05:00
jmacelroy 401c43ee02 fix: Properly setting poltergeist ignore status. 2018-06-27 17:28:20 -05:00
Jacob MacElroy 6ae5adcb3d Creating a poltergiest library and using in for mod_muc_poltergeist. 2018-06-27 11:59:38 -05:00
damencho 361e5f0fad Adds identification of poltergeist's in presence. 2018-06-22 18:23:17 -05:00
Jacob MacElroy 0acc9187ed Preventing expired notification for poltergeist that have left.
The original presence stanza generation code for a poltergeist
has been re-factored and simplified a bit. Every time a
poltergeist presence is updated we first check that the poltergeist
still exists.
2018-06-20 14:37:58 -05:00
Дамян Минков ac834326e7
Token based features (#3075)
* Adds an option to disable features based on token data.

Reverts changes from b84e910086, removes disableDesktopSharing option and an interface_config option.

* Disable recording button based on token features data.

Hide recording if local participant isGuest and roles based on token.
When enableUserRolesBasedOnToken is enabled we were not hiding the record button for guests.

* Adds filtering of jibri iqs and rayo based on features.

Moves feature checking in separate utility function.
Renames utility method.

* Adds a footer text when outbound-call is not feature enabled.

* Fixes comments.
2018-06-15 13:10:22 -05:00
Jacob MacElroy 83720a4ed5 fix(call-flows): Maintain presence tags and call id in poltergeist presence stanza. 2018-06-05 13:09:46 +00:00
Jacob MacElroy 01899b1dfd feat(call-flows): Removing cancel hook for ringing status. 2018-06-05 13:09:46 +00:00
Jacob MacElroy e367490839 Properly propagating call id for call response handling.
Previously a new call id was generated for INVITE and CANCEL.
Now the id generated during the initial INVITE will be used for
corresponding CANCEL events. Also, adding the ability to
trigger a call cancel via the poltergeist update api.
2018-06-01 19:18:09 +00:00
Jacob MacElroy b4983cfe04 No longer triggering calls for the Invited status of a poltergeist. 2018-05-31 18:58:47 +00:00
Jacob MacElroy fa9a4480e6 Fixing an issue with asnyc http request handlers.
The current poltergeist http api immediately returns
and does not wait for async work in the handler to finish. This
mostly occurs when a public asap key needs to be fetched due
to a cache miss. The fix implements the strategy described at
https://prosody.im/doc/developers/http.html
2018-05-30 11:41:44 -05:00
Jacob MacElroy 9e2a101089 Changing the status strings for call flows to be lowercased where possible.
This should allow us to have a consistent convention and assist
with client translation of status strings.
2018-05-24 10:49:31 -05:00
hristoterezov f12ba37cf3 fix(presence-status): Use lower case for call flow related statuses. 2018-05-23 15:22:01 -05:00
hristoterezov 2b1c875b91 feat(presence-status): Add more statuses. 2018-05-23 15:22:01 -05:00
Jacob MacElroy f60559fb67 Adding cancel to mod_muc_call 2018-05-14 16:34:37 +00:00
Jacob MacElroy 01e0dfe58a Adding a prosody module to support sip-style call flows.
When combined with mod_muc_poltergeist mod_muc_call allows
for enabling call features using a proper ext_events.lib.lua
implementation. By default when the module is configured only
stub implementations are used for ext_events.lib.lua as these
are unique between deployments.
2018-04-09 13:46:17 -05:00
Дамян Минков 6cc8800016 Update poltergeist's presence with identity information. (#2650) 2018-03-23 13:58:05 -07:00
bbaldino fef1d8b520 add a prosody module to insert identity information (when available) … (#2627)
* add a prosody module to insert identity information (when available) into
presence

prosody will check for jitsi_meet_context_user and
jitsi_meet_context_group in the session and, if they are present, insert
them into presence (we do this in prosody so they cannot be spoofed).

* remove unused 'presence' variable

* refactor to modify presence message in place

* make object member access consistent

* make the group information optional
2018-03-20 15:27:39 -05:00
Дамян Минков eb53944a4d Adds poltergeist support for locked rooms. (#2626) 2018-03-19 16:20:44 -05:00
damencho 98111c3593 On token verification failure return error, reason and stop processing.
This was broken with commit c1fb1a7def, which splits the result in order to print the error reason and in case of error was not returning the error and the message to prosody internals.
2017-10-26 14:01:21 -05:00
Дамян Минков 5b6d7a3040 Skips creating duplicate poltergeists for the same user. (#1925) 2017-08-23 16:14:44 -05:00
damencho 6e37fe175d Skips showing empty statuses. Updates poltergeist to report connected. 2017-08-23 14:10:10 -05:00
damencho 360283aa34 Adds multidomain support to rayo filter module. 2017-08-22 15:00:40 -05:00
damencho c1fb1a7def Installs required basexx when token package is installed. Fixes #1870.
Adds some debug messages when token verification fails for some reason.
2017-08-08 23:13:25 +03:00
Aaron van Meerten b6efdb533d Handles the async wrapping of the mod_muc_size functions
fixes handling of keyserver ASAP validation of tokens
wraps room and room-size APIs
2017-07-20 16:04:16 -05:00
Aaron van Meerten 22e9dc9893 Handles async context for all poltergeists
set up async context for all poltergeist calls
utils lib now has async wrapper for event handlers
2017-07-20 15:56:45 -05:00
damencho 8047fdf5a2 Makes possible for poltergeist to set status just before leaving. 2017-07-20 14:16:42 -05:00
damencho 2c873e8c7f Adds token verification for poltergeist accepted rest calls. 2017-07-20 13:56:55 -05:00
damencho 284b5f94b5 Adds initial status param when creating poltergeist. 2017-07-20 13:29:54 -05:00
damencho f40faecfbe Fixes using correct field for domain in multidomain mode. 2017-07-19 11:36:49 -05:00
damencho 4a9a8eec9a Send poltergeist presence update reusing previous presences.
If we do not reuse previous presences we lose avatar and name and people joining after the poltergeist creation will not be updated with those values.
2017-07-18 13:08:18 -05:00
damencho 308360fbe0 Cleans poltergeists table on remove occupant and when muc is destroyed. 2017-07-18 11:11:14 -05:00
damencho e6840981ca Handles removing poltergeists.
Adds http method to remove poltergeists. Adds configurable timeout after which poltergeists automatically are removed from the room.
2017-07-17 19:29:00 -05:00
damencho 64bb5563bc Returns error when there is no query, but params expected. 2017-07-17 17:38:29 -05:00
damencho 0cffbdb967 Fixes wrong parameter name. 2017-07-17 17:26:47 -05:00
damencho 58d06fe7e6 A poltergeist module.
Thanks to Matthew Wild for the initial help of creating these.
Module with REST interface to create poltergeist participants and change their statuses.
When user with same id joins the room, the poltergeist is removed.  We also make sure that that user uses same username when authenticates. This way we are sure that user will join the room with the same nick as the poltergeist.
2017-07-14 22:18:23 -05:00
damencho cc79b073f0 Fires event before setting username, allows listeners to override it.
This is a hook to override the username that will be used when authenticating token users (which are using anonymous login with auto-generated username).
2017-07-14 22:12:56 -05:00
damencho 599d84a889 Stores the room name from the bosh url into the session. 2017-07-14 22:08:41 -05:00
damencho 2b1e8cdeff Creates util for modules and adds method get_room_from_jid in it. 2017-07-14 22:03:36 -05:00