New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VideoSIPGW updates #2201
Merged
Merged
VideoSIPGW updates #2201
Changes from 5 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
264b4ee
Adds initial documentation for sipgw jibri.
damencho ca1fc1d
Fixes add people dialog to invite users and rooms.
damencho d7dffba
Reuse some recording strings, by using arguments.
damencho b91d588
Make sure web also dispatches CONFERENCE_WILL_JOIN.
damencho ec1d564
Introduces new feature videosipgw.
damencho 82a2c96
Fixes lint errors.
damencho d55dda6
Renames methods to use people, chatRooms and videoRooms.
damencho c1ba1a5
Updates to latest lib-jitsi-meet (dc3397b18b).
damencho File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Configuring sipgw jibri with jitsi-meet | ||
|
||
This document describes how you can configure jitsi-meet to use sipgw jibri and enable rooms in 'Add people dialog' | ||
You will need a working deployment of jibri configured to use a regular sip video device, for more info check out the [jibri documentation](https://github.com/jitsi/jibri/blob/master/README.md). | ||
|
||
This feature is available for non-guests of the system, so this relies on setting in config.js ``enableUserRolesBasedOnToken: true`` and providing a jwt token when accessing the conference. | ||
|
||
* Jicofo configuration: | ||
edit /etc/jitsi/jicofo/sip-communicator.properties (or similar), set the appropriate MUC to look for the Jibri Controllers. This should be the same MUC as is referenced in jibri's config.json file. Restart Jicofo after setting this property. | ||
|
||
``` | ||
org.jitsi.jicofo.jibri.SIP_BREWERY=TheSipBrewery@conference.yourdomain.com | ||
``` | ||
|
||
* Jitsi Meet configuration: | ||
- config.js: add | ||
``` | ||
enableUserRolesBasedOnToken: true, | ||
peopleSearchQueryTypes: ['conferenceRooms'], | ||
peopleSearchUrl: 'https://api.yourdomain.com/testpath/searchpeople', | ||
``` | ||
- interface_config.js: | ||
``` | ||
ADD_PEOPLE_APP_NAME: 'Jitsi' | ||
``` | ||
|
||
The combination of the above settings and providing a jwt token will enable a button under invite option which will show the dialog 'Add people'. | ||
|
||
## People search service | ||
|
||
When searching in the dialog, a request for results is made to the `peopleSearchUrl` service. | ||
|
||
The request is in the following format: | ||
``` | ||
https://api.yourdomain.com/testpath/searchpeople?query=testroomname&queryTypes=[%22conferenceRooms%22]&jwt=somejwt | ||
``` | ||
The parameters are: | ||
- query - The text entered by the user. | ||
- queryTypes - What type of results we want people, rooms, conferenceRooms. This is the value from config.js `peopleSearchQueryTypes` | ||
- jwt - The token used by the user to access the conference. | ||
|
||
The response of the service is a json in the following format: | ||
``` | ||
[ | ||
{ | ||
"id": "address@sip.domain.com", | ||
"name": "Some room name", | ||
"type": "videosipgw" | ||
}, | ||
{ | ||
"id": "address2@sip.domain.com", | ||
"name": "Some room name2", | ||
"type": "videosipgw" | ||
} | ||
] | ||
``` | ||
Type should be `videosipgw`, `name` is the name shown to the user and `id` is the sip address to be called by the sipgw jibri. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/** | ||
* The type of (redux) action which signals that sip GW service change its | ||
* availability status. | ||
* | ||
* { | ||
* type: SIP_GW_AVAILABILITY_CHANGED, | ||
* status: string | ||
* } | ||
*/ | ||
export const SIP_GW_AVAILABILITY_CHANGED | ||
= Symbol('SIP_GW_AVAILABILITY_CHANGED'); | ||
|
||
/** | ||
* The type of the action which signals to invite room participants to the | ||
* conference through the SIP Jibri service. | ||
* | ||
* { | ||
* type: SIP_GW_INVITE_ROOMS, | ||
* conference: JitsiConference, | ||
* rooms: {Immutable.List} | ||
* } | ||
*/ | ||
export const SIP_GW_INVITE_ROOMS = Symbol('SIP_GW_INVITE_ROOMS'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* @flow */ | ||
|
||
import { SIP_GW_INVITE_ROOMS } from './actionTypes'; | ||
|
||
/** | ||
* Invites room participants to the conference through the SIP Jibri service. | ||
* | ||
* @param {JitsiMeetConference} conference - The conference to which the rooms | ||
* will be invited to. | ||
* @param {Immutable.List} rooms - The list of the "videosipgw" type items to | ||
* invite. | ||
* @returns {void} | ||
*/ | ||
export function inviteRooms( | ||
conference: Object, | ||
rooms: Object) { | ||
return { | ||
type: SIP_GW_INVITE_ROOMS, | ||
conference, | ||
rooms | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
export * from './actions'; | ||
|
||
import './middleware'; | ||
import './reducer'; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a type "room" and the function is called inviteRooms, but you filter for videosipgw. What is the difference between room and videosipgw?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The invitation works with 3 types returned - user, room and videosipgw. User is a regular participant, room is like a chat room with multiple participants like in Stride. And also we videosipgw. So let's say we have chat room (type===room) and conference room (type=== videosipgw).
I agree its a little confusing and I also was wondering about that. If you have an idea how to improve it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can imagine what it would be like with different names, like specifically calling them chatRoom and conferenceRoom/videoRoom/sipGW instead of using the general term room.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I will address that.