LINUX.ORG.RU

Не могу заставить работать coturn с synapse

 ,


0

2

Вот конфиг coturn:

syslog

use-auth-secret
static-auth-secret=secret
realm=turn.2853.org

cert=/etc/coturn/fullchain.pem
pkey=/etc/coturn/privkey.pem

verbose

no-sslv3
no-tlsv1
no-tlsv1_1
no-tlsv1_2
no-cli

Вот кусок конфига synapse:

turn_uris:
  - "turns:turn.2853.org?transport=udp"
  - "turns:turn.2853.org?transport=tcp"
turn_shared_secret: "secret"
turn_user_lifetime: 1h
turn_allow_guests: true

Звонок так и висит, соединение не устанавливается. Я уже честно говоря жалею что решил перенести synapse в докер, на предыдущей установке всё работало прекрасно.

Итак, synapse у нас в докере. Coturn стоит прям на хосте. IP белый, никаких файрволлов нет.

Возникает два вопроса:

  • Это нормально, что создаётся столько сессий?
  • Что я в этот раз делаю не так, что оно работать не хочет?

Логи: https://hub.2853.org/s/bmZw3Jz38C4JkFq

Из ещё наблюдений, nextcloud talk смог подключиться к серверу.


voip

Тэг вводит в заблуждение, здесь не хтонический ужас айпи-телефонии с SIP и RTP, а совершенно другой, с пропитанным смузи жсоном передаваемым через хттп - но тем не менее, не VoIP.

А что с сетью в контейнере? Можно (совсем лобовой способ) запустить баш внутри докер-контейнера и посмотреть, есть ли связь с TURN-сервером. Если, конечно, найдется там ping или netcat.

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 5)

Почему в логах username=<>?
Там должен быть нормальный time-based username, а не пустое имя.

bigbit ★★★★★
()
Ответ на: комментарий от token_polyak

На самом деле это один и тот же сервер. На порт телнетом достукивается.

найдется там ping или netcat Всегда можно доустановить. Как лучше всего протестировать?

u0000
() автор топика
Ответ на: комментарий от u0000

Сервер один и тот же, но айпишник у контейнера свой отдельный (172.x.x.x).

На порт телнетом достукивается.

Собственно, ты уже проверил то, что я предлагал.

Всегда можно доустановить. Как лучше всего протестировать?

Тогда уж какую-нибудь утилиту для TURN-туннелей, например.

token_polyak ★★★★★
()
Ответ на: комментарий от u0000

Клиент конечно же (synapse).

Логи TURN-сервера выглядят ненормально. Synapse не пытается логиниться на TURN-сервер с правильным именем, нет команд ALLOCATE, CREATE PEREMISSION, и т.д.

Может ты конфиг synapse не туда положил, и он его не видит? Логи synapse посмотри.

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)
Ответ на: комментарий от bigbit

Я тут нашёл возможную причину:

NB: If your TLS certificate was provided by Let’s Encrypt, TLS/DTLS will not work with any Matrix client that uses Chromium’s WebRTC library. This currently includes Element Android & iOS; for more details, see their respective issues as well as the underlying WebRTC issue. Consider using a ZeroSSL certificate for your TURN server as a working alternative.

Буду проверять этот момент.

u0000
() автор топика
Ответ на: комментарий от token_polyak

Считаю необходимым признать, что прилюдно обосрался посоветовал абсолютную глупость - проверять то, что заведомо работает, т.к. nextcloud подключается и создает нужные себе туннели.

Копать надо в сторону synapse, как уже указал шарящий в TURN лорчанин. Но тогда мои полномочия всё.

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 3)

Замутил сертификат от ZeroSSL и это не помогло. Буду копать в сторону synapse.

u0000
() автор топика

Короче, я вертел с этим разбираться, вернул старый-добрый jabber и доволен как слон. Спасибо всем большое за участие.

u0000
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.