Соберите протокол сеанса Tokbox - PullRequest
0 голосов
/ 25 июня 2019

У меня есть требование собрать общее количество потоковых минут для всех сеансов токобокса за последний месяц.По сути, что-то похожее на биллинг-отчет, который предоставляет Tokbox.Мне не нужно, чтобы он был «живым», задержка в минуты или даже часы была бы приемлемой.

Инспектор, похоже, не имеет API, и в настоящее время мы не архивируем сессии.

Моя текущая идея состоит в том, чтобы использовать Session Monitoring события и собирать все Stream Destroyed события.Затем я бы где-то их сохранил и использовал бы timestamp - stream.createdAt в качестве продолжительности каждого потока.

На первый взгляд это кажется немного ломким - я не хочу сообщать о неправильных номерах или что-то пропустить.Я на правильном пути или есть более легкое / лучшее решение?

{
    "sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
    "projectId": "123456",
    "event": "streamDestroyed",
    "reason": "clientDisconnected",
    "timestamp": 1470258896953,
    "stream": {
        "id": "63245362-e00e-4834-8371-9397deb3e452",
        "connection": {
            "id": "c053fcc8-c681-41d5-8ec2-7a9e1434a21e",
            "createdAt": 1470257688143,
            "data": ""
        },
        "createdAt": 1470258845416,
        "name": "",
        "videoType": "camera"
    }
}

1 Ответ

0 голосов
/ 26 июня 2019

Поддержка TokBox подтвердила, что это правильный путь и что события Session Monitoring достаточно надежны. Итак, мы продолжим с идеей использования StreamDestroyed событий.

К сожалению, это не эквивалентно подписанным минутам. Вычисление их должно быть возможным с использованием событий, но может стать довольно сложным.


{
    "sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
    "projectId": "123456",
    "event": "streamDestroyed",
    "reason": "clientDisconnected",
    "timestamp": 1470258896953,
    "stream": {
        "id": "63245362-e00e-4834-8371-9397deb3e452",
        "connection": {
            "id": "c053fcc8-c681-41d5-8ec2-7a9e1434a21e",
            "createdAt": 1470257688143,
            "data": ""
        },
        "createdAt": 1470258845416,
        "name": "",
        "videoType": "camera"
    }
}

...