Базовая интеграция с Jitsi Meet (звонки с видео)

Jitsi Meet - сервис для видеоконференций

Имеется публично доступный сервер по адресу https://meet.jit.si/, но можно разворачивать и собственный экземпляр сервера.

Для использования сервиса не нужна регистрация пользователей.

По умолчанию любой желающий может создать комнату или войти в нее, просто перейдя по ссылке https://meet.jit.si/roomID, где roomID - название комнаты, поэтому для интеграции может быть достаточно генерировать такие ссылки и отправлять ее нужным пользователям любым способом. Если ссылку открыть на мобильном устройстве, будет предложено открыть комнату в приложении или установить приложение.

Дополнительные параметры

1. JSON Web Token

https://jwt.io/ 

Вставляется в ссылку в виде параметра https://meet.jit.si/roomID?jwt=token

Токен может содержать информацию о пользователе, такую как имя, email и т.п.

При использовании собственного сервера его можно настроить так, что комнаты будут закрыты, а для авторизации будут использоваться токены.

2. Параметры вида https://meet.jit.si/roomID#config.param1Name=”param1Value”&#config.param2Name=”param2Value”

В таком виде можно указать такие параметры, как язык по умолчанию, использование камеры и другие, описанные в файле конфигурации https://github.com/jitsi/jitsi-meet/blob/master/config.js 

Хорошей документации по этому моменту нет, скорее всего при необходимости нужно экспериментировать. 

Также доступен API, который предназначен для встраивания фрейма jitsi на страницу.

Пример генератора ссылок с токенами на javascript

function base64url(source) {
    encodedSource = btoa(encodeURI(source));
    encodedSource = encodedSource.replace(/=+$/, '');
    encodedSource = encodedSource.replace(/\+/g, '-');
    encodedSource = encodedSource.replace(/\//g, '_');
 
    return encodedSource;
}
 
function getJitsiRoomLink(url, room, username) {
    var tokenHeader = {
        "alg": "HS256",
        "typ": "JWT"
    };
 
    var tokenPayload = {
        "context": {
            "user": {
                "name": username
            }
        }
    };
 
    var token = base64url(JSON.stringify(tokenHeader)) + "." + base64url(JSON.stringify(tokenPayload));
 
    return url + "/" + room + "?jwt=" + token + "#config.defaultLanguage=%22ru%22";
}

Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы