Всем доброго дня.
надеюсь только на вашу помощь.
дайте правильную ссылку на настройку сервера Ejabberd , так как все пишут по разному.
планируем использовать Ejabberd внутри локальной сети. настроил запустил MySQL.
Используется fedora 25 , MySQL
правильная настройка сервера Ejabberd
Модератор: /dev/random
-
- Модератор
- Сообщения: 21279
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: правильная настройка сервера Ejabberd
Серьёзно? Она же пару лет как не поддерживается. И вообще, если у Вас нет желания полностью обновлять систему раз в полгода, Fedora — крайне неудачный выбор.
По настройке советую читать официальную документацию, а не тех, кто «пишут по-разному», только делать поправку на способ установки, соответствующий дистрибутиву (dnf install ejabberd).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Здравствуйте.
Прошу в помощи настройки аудио-видео звонков.
ejabberd.yml
В ДНС записи внесены, порты открыты. Если клиенты (смартфоны с андроидом) в одной сети (wi-fi), то все работает. Сертификаты правильные, куплены. Ругани в логах нет. Единственный "варнинг"
ОС Rocky 9, ejabberd 25.07
Тут -
https://www.process-one.net/blog/how-to-set-up-ejabberd-video-voice-calling/ утверждают, что аудио за NAT сделали.
И еще, [codenetstat -p --udp --listen][/code] не показывает ни один из портов из конфига. И если сканировать онлайн-сервисом порт, например 5349, то показывает - порт не доступен.
Прошу в помощи настройки аудио-видео звонков.
ejabberd.yml
Код: Выделить всё
hosts:
- "test.ru"
loglevel: 4
ca_file: /opt/ejabberd/conf/certificate_ca.crt
certfiles:
- /opt/ejabberd/conf/certificate_pr.crt
- /opt/ejabberd/conf/certificate.crt
- /opt/ejabberd/conf/certificate.key
listen:
-
port: 5222
ip: "::"
module: ejabberd_c2s
max_stanza_size: 262144
shaper: c2s_shaper
access: c2s
starttls_required: true
-
port: 5223
ip: "::"
module: ejabberd_c2s
max_stanza_size: 262144
shaper: c2s_shaper
access: c2s
tls: true
-
port: 5280
ip: "::"
module: ejabberd_http
request_handlers:
/admin: ejabberd_web_admin
# /.well-known/acme-challenge: ejabberd_acme
-
port: 3478
transport: udp
module: ejabberd_stun
use_turn: true
turn_min_port: 49152
turn_max_port: 65535
## The server's public IPv4 address:
turn_ipv4_address: 88.88.88.88
# -
# port: 5478
# transport: udp
# use_turn: true
# turn_ipv4_address: 88.88.88.88
# module: ejabberd_stun
# -
# port: 5478
# module: ejabberd_stun
-
port: 5349
transport: tcp
module: ejabberd_stun
use_turn: true
tls: true
turn_min_port: 49152
turn_max_port: 65535
ip: 88.88.88.88
turn_ipv4_address: 88.88.88.88
certfile: /opt/ejabberd/conf/certificate.crt
acl:
local:
user_regexp: ""
loopback:
ip:
- 127.0.0.0/8
- ::1/128
- ::FFFF:127.0.0.1/128
admin:
user:
- "admin@test.ru"
access_rules:
local:
allow: local
c2s:
deny: blocked
allow: all
announce:
allow: admin
configure:
allow: admin
muc_create:
allow: local
pubsub_createnode:
allow: local
trusted_network:
allow: deny
api_permissions:
"console commands":
from: ejabberd_ctl
who: all
what: "*"
"webadmin commands":
from: ejabberd_web_admin
who: admin
what: "*"
"adhoc commands":
from: mod_adhoc_api
who: admin
what: "*"
"http access":
from: mod_http_api
who:
access:
allow:
- acl: loopback
- acl: admin
oauth:
scope: "ejabberd:admin"
access:
allow:
- acl: loopback
- acl: admin
what:
- "*"
- "!stop"
- "!start"
"public commands":
who:
ip: 127.0.0.1/8
what:
- status
- connected_users_number
shaper:
normal:
rate: 3000
burst_size: 20000
fast: 100000
modules:
mod_stun_disco:
services:
- host: 88.88.88.88
port: 3478
type: stun
transport: udp
restricted: false
- host: 88.88.88.88
port: 3478
type: turn
transport: udp
restricted: true
- host: test.ru
port: 5349
type: stuns
transport: tcp
restricted: false
- host: test.ru
port: 5349
type: turns
transport: tcp
restricted: true
mod_roster:
versioning: true
Программа на телефонах - cOnnectPRO.2025-08-21 19:42:04.778805+03:00 [warning] <0.568.0>@ejabberd_captcha:get_prog_name/0:445 The option captcha_cmd is not configured, but some module wants to use the CAPTCHA feature.
ОС Rocky 9, ejabberd 25.07
Тут -
https://www.process-one.net/blog/how-to-set-up-ejabberd-video-voice-calling/ утверждают, что аудио за NAT сделали.
И еще, [codenetstat -p --udp --listen][/code] не показывает ни один из портов из конфига. И если сканировать онлайн-сервисом порт, например 5349, то показывает - порт не доступен.
Код: Выделить всё
/sbin/iptables -A INPUT -i enp3s0 -p tcp --dport 5222 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p tcp --dport 5223 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p tcp --dport 5269 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p tcp --dport 5270 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p tcp --dport 3478 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p udp -m udp --dport 3478 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p tcp --dport 5349 -j ACCEPT
#/sbin/iptables -A INPUT -i enp3s0 -p udp --dport 5280 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p udp -m udp --dport 5349 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p udp -m udp --dport 5478 -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p udp -m udp -m multiport --dports 49152:65535 -m comment --comment "stun UDP" -j ACCEPT
/sbin/iptables -A INPUT -i enp3s0 -p tcp -m tcp -m multiport --dports 49152:65535 -m comment --comment "stun TCP" -j ACCEPT
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru
-
- Модератор
- Сообщения: 21279
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: правильная настройка сервера Ejabberd
А другие клиенты пробовали? Может быть, он просто не умеет STUN/TURN искать через DNS? Попробуйте вручную прописать в настройках. И советую тестировать не через мобильный интернет, там последнее время всё очень уж жёстко стали резать.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Другие не пробовал. По правде сейчас даже не знаю с какой начать.Bizdelnick писал: ↑21.08.2025 20:44А другие клиенты пробовали? Может быть, он просто не умеет STUN/TURN искать через DNS? Попробуйте вручную прописать в настройках. И советую тестировать не через мобильный интернет, там последнее время всё очень уж жёстко стали резать.
Поищу, есть ли настройки в проге.
А тестировать иначе не получается. С вайфаем и с проводным интернетом есть только одна "точка". И в таком случае работает. Да и с джаббером затеялся только из-за ограничений.
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru
-
- Модератор
- Сообщения: 21279
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: правильная настройка сервера Ejabberd
Найдите вторую. А то будете прыгать неделю с настройками, а потом выясните, что дело вовсе и не в них.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Хорошо, спасибо! Попробую.Bizdelnick писал: ↑21.08.2025 21:15Найдите вторую. А то будете прыгать неделю с настройками, а потом выясните, что дело вовсе и не в них.
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Нашел человека с домашним wi-fi проводным интернетом. Соединились. Ситуация аналогичная, текст - сообщения проходят, голос нет. Значит скорее не блокировках дело. Попробовал другой клиент - snikket. Ситуация не поменялась. udp вероятно не "выходят" наружу. Но как проверить пока не знаю. wireshark - не поможет. Там за секунду гигабайт информации появится.
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Еще наблюдения. Wireshark наблюдает за сетевыми картами сервера, внутрь сети и в интернет. В фильтрах указал udp.port==3478 or udp.port==5349. Ни одного пакета не прошло. Звонки пробовал делать: один внутри сети (wifi), другой - просто через мобильного оператора. Получается модуль mod_stun_disco не работает? Как его протестить можно?
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru
-
- Модератор
- Сообщения: 21279
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: правильная настройка сервера Ejabberd
Скорее клиент к нему не обращается. Пока не обратится, понять, работает ли он, сложно. А в логе что-то про него есть?
Добавлено (20:58):
Попробуйте десктопный клиент какой-нибудь и поснифайте его трафик. Возможно, пакеты просто где-то не проходят.
Последний раз редактировалось Bizdelnick 27.08.2025 01:23, всего редактировалось 1 раз.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Только при старте службы:
есть упоминание о модуле.
Хорошо, попробую.
Код: Выделить всё
@mod_stun_disco:parse_listener/1:618 Going to offer STUN/TURN service: 88.88.88.88:3478 (udp)
Хорошо, попробую.
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru
-
- Сообщения: 410
- ОС: Fedora 30
Re: правильная настройка сервера Ejabberd
Попробовал линуксовые клиенты:
pidgin - при звонке просто закрывался.
gajim - соединиться с сервером не удалось. Ошибка авторизации.
PSI+ - не нашел пакет psi-plus-plugin-psimedia
kopete - не разобрался с функциями дозвона.
Короче плюнул на это дело, зашел с другой стороны - проверил проходимость udp пакетов клиент-сервер. - на сервере
- у клиента.
Проверил все порты относящиеся к voice call. Пакеты проходят. Я вот думаю, а не могли ли разработчики выцарапать эту функцию из кода именно ejabberd-25.07-1.x86_64 ?
pidgin - при звонке просто закрывался.
gajim - соединиться с сервером не удалось. Ошибка авторизации.
PSI+ - не нашел пакет psi-plus-plugin-psimedia
kopete - не разобрался с функциями дозвона.
Короче плюнул на это дело, зашел с другой стороны - проверил проходимость udp пакетов клиент-сервер.
Код: Выделить всё
nc -ul 5349
Код: Выделить всё
nc -u 88.88.88.88 5349
Проверил все порты относящиеся к voice call. Пакеты проходят. Я вот думаю, а не могли ли разработчики выцарапать эту функцию из кода именно ejabberd-25.07-1.x86_64 ?
OC Centos, FC21
https://gesigor.ru
https://gesigor.ru