Базовая интеграция с 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

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

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

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

по ходу эксплуатации программы

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

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

Бесплатное обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space.
Примечание