"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
OleksandrAnchyshkin
Добрий день, після налаштування сервера, не працюють дзвінки між смартфонами у внутрішній мережі та між смарфонами, які двзонять з/на внутрішню/зовнішню. Для підключення WEB сервіс використовую шифрування трафіку, перед цим завантажував сертифікати. Відображаться, що сертифікати завантажені але у домені сервера показує, що не може перевірити сертифікат. Це може впливати на розмови? Так чи інакше порти відкриті, усі підключаються через 443 порт. Скріншоти с тесту та сертифікатів прикладаю.
Снимок экрана 2024-01-24 124348.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Андрей Раков
Добрий день.

Перевірте чи ви відкрили порти для дзвінків, вказані у довідці:
https://nsoft-s.com/ua/mcserverhelp/mychatports.html

8888 TCP і 49000..49200 UDP — обов'язково, є варіант роботи тільки через 8888 порт по TCP, але в цьому випадку можуть бути фрізи і гірша якість, також треба кастомний конфіг для STUN/TURN сервера в адмінці. Доступ по 8888 можно легко перевірити стандартним telnet-ом, а UDP порти так не вийде тому, що вони підключаються вже під час дзвінка.
не працюють дзвінки між смартфонами у внутрішній мережі

Я підозрюю, що у вас в локальному брандмауері на сервері не вдалося додати ці порти автоматично, перевірте і якщо їх там нема — додайте вручну.

С приводу перевірки сертифіката, якщо браузер не видає помилок — то все ок.

Можете прислати мені на [email protected] домен, яким ви користуєтесь, я перевірю, чого не спрацьовує наша перевірка сертифіката.
OleksandrAnchyshkin
Додатково усі необхідні порти були дозволені на ПК сервера в налаштуваннях. 8888 TCP по перевірці https://2ip.ua/ru/services/ip-service/port-check проходить. Але проброшені 49000-49200 UDP порти по цій перевірці не проходять і пише, що закриті.
Аватара пользователя
Андрей Раков
Я вам вище писав, що UDP порти підключаються лише підчас дзвінка.

8888 порт — доступний.

Налаштуйте для тесту дзвінки за допомогою кастомного конфіга, для цього в розділі "налаштування" - "веб-сервіси" зніміть галочку з "використовувати автоматичну настройку STUN/TURN"

Підставте конфіг:
Код: Выделить всё
listening-port=8888
listening-ip=0.0.0.0
relay-ip=зовнішній_іп
user=рандомний_юзернейм:рандомний_пароль
realm=зовнішній_іп
realm=зовнішній_домен
relay-threads=3
min-port=49000
max-port=49200

Перезавантажте сервер чату.

Зверніть увагу на поле "user=рандомний_юзернейм:рандомний_пароль" між неймом і паролем ":" обов'язкове.
OleksandrAnchyshkin
Підставив конфіг, в мережі телефони не зв`язуються. За межами мережі, iPhone - iPhone працює, iPhone - Android вже не працює.
Аватара пользователя
Андрей Раков
В декстопних версіях дзвінки працюють?
OleksandrAnchyshkin
Так, десктопна версія працює
Аватара пользователя
Георгий Лысенко
Відправте на [email protected] логи з двох пристроїв, де не вдається підключення (Android - iPhone).
Також можете створити для нас 2 тестових акаунта, спробуємо зі свого боку підключитися такою ж звʼязкою девайсів.
OleksandrAnchyshkin
Відправив на електронну пошту
Аватара пользователя
Георгий Лысенко
Android у вас підключається по IP чи по доменному імені? Що вказано в майстрі серверів?
OleksandrAnchyshkin
По домену
OleksandrAnchyshkin
Домен використовують для зовнішнього конекту і ip для внутрішнього
Аватара пользователя
Андрей Раков
Чи є у вас дозвіл вихідних підключень із внутрішньої мережі по порту 8888, перевірте телнетом із локалкі підключення на домен.
OleksandrAnchyshkin
Пише, що не може підключити по цьому порту до домену
Аватара пользователя
Георгий Лысенко
Це означає, що вам потрібно на сервері дозволити не тільки вхідний трафік на порт 8888, але й вихідний, те ж саме стосується й UDP-портів, описаних вище.
OleksandrAnchyshkin
Відкрив 8888 з внутрішньої мережі, так як використовується Mikrotik, прописав два правила для NAT. Дякую за допомогу.
OleksandrAnchyshkin
Дійшов до внутрішньої мережі, виявилось що iPhone із внутрішньої мережі не може додзвонитись до внутрішнього мобільного, та не може додзвонитись до зовнішніх пристроїв. Коли дзвонив з зовнішньої сторони з iPhone все ок було.
OleksandrAnchyshkin
Наразі після зміни правила на модемі, залишається проблема лише з iPhone, коли у внутрішній мережі приймаю дзвінок, дзвінок зкидається, на екрані чата iPhone пише 'Call rejected', але є цікавий момент, якщо вийти з програми, то виявляється, що екран внутрішнього застосунку "Телефон" активний і йде відлік, як у випадку, коли ти відповідаєш на дзвінок. Те ж саме, якщо дзвонити на iPhone з зовнішньої мережі. Але з iPhone я можу дзвонити на Android внутрішньої мережі та Andrdoid - iPhone зовнішньої мережі і все працює. Якщо потрібно, можу зробити скрінкаст, щоб було зрозуміліше.
Аватара пользователя
Георгий Лысенко
Покажіть, будь ласка, логи двох пристроїв саме невдалої спроби дзвінка.
OleksandrAnchyshkin
Android
Код: Выделить всё
[26.01.2024.09.06.04] [MEDIA] ========================== INITIALIZING CALL (OUTGOING) ======================================
[26.01.2024.09.06.04] [MEDIA] /* DEVICE INFO:
[26.01.2024.09.06.04] [MEDIA] /* PERMISSIONS: MICROPHONE -> GRANTED, CAMERA -> DENIED
[26.01.2024.09.06.04] [MEDIA] ** MODEL: Xiaomi M2102J20SG
[26.01.2024.09.06.04] [MEDIA] ** ANDROID VER.: 11
[26.01.2024.09.06.04] [MEDIA] */ CLIENT VER.: 2024.1.0.1, CODE: 165, DATE: 19 січ. 2024
[26.01.2024.09.06.04] [MEDIA] MEDIA_ACTIVITY_INIT: uin: 4 callType: VOICE micEnabled: false speakerPhone: false cameraEnabled: false
[26.01.2024.09.06.08] [MEDIA] ====================================== END CALL ======================================
[26.01.2024.09.06.08] [MEDIA] CALL STATE CHANGED: 2


Код: Выделить всё
[26.01.2024.09.06.00] [TRAFFIC] SENT:019F {"UIN":4}
[26.01.2024.09.06.00] [TRAFFIC] RECEIVE:8126 {"UIN":4,"IDMsgRead":149,"IDMsgGot":149}
[26.01.2024.09.06.04] [TRAFFIC] SENT:007A {"UIN":4,"CallType":0}
[26.01.2024.09.06.04] [TRAFFIC] RECEIVE:814A {"UIN":4,"MID":596480,"UINOriginal":4,"CallTypeOriginal":0,"CallType":0,"FullScreen":false,"ScreenID":""}
[26.01.2024.09.06.07] [TRAFFIC] RECEIVE:800B {"Top":false,"Msg":"{\"UINFrom\":16,\"Duration\":-1,\"UINTo\":4,\"Type\":0,\"State\":2}","Idx":150,"StateTo":0,"UINFrom":16,"StateFrom":0,"ChangeID":57,"ClientType":0,"DlgIdx":820,"MsgType":12,"UINTo":4,"dtUTC":"26.01.2024.07.06.07"}
[26.01.2024.09.06.07] [TRAFFIC] SENT:007C {"UIN":4,"State":3,"MID":-1}
[26.01.2024.09.06.08] [TRAFFIC] SENT:012A {"MID":-1}
[26.01.2024.09.06.08] [TRAFFIC] RECEIVE:8125 {"UIN":4,"ID":150,"DlgIdx":821}
[26.01.2024.09.06.10] [TRAFFIC] RECEIVE:8123 {"UIN":4,"ID":150,"DlgIdx":822}
[26.01.2024.09.06.13] [TRAFFIC] SENT:000B
[26.01.2024.09.06.18] [TRAFFIC] RECEIVE:8022 {"UIN":4,"State":1}
[26.01.2024.09.06.43] [TRAFFIC] SENT:000B
[26.01.2024.09.07.13] [TRAFFIC] SENT:000B
[26.01.2024.09.07.42] [TRAFFIC] SENT:000B
[26.01.2024.09.07.56] [TRAFFIC] SENT:019F {"UIN":6}
[26.01.2024.09.07.56] [TRAFFIC] RECEIVE:8126 {"UIN":6,"IDMsgRead":10,"IDMsgGot":10}
[26.01.2024.09.08.03] [TRAFFIC] SENT:0017 {"UIN":6,"Msg":"[26.01.2024.09.06.04] [MEDIA] ========================== INITIALIZING CALL (OUTGOING) ======================================\r\n[26.01.2024.09.06.04] [MEDIA] \/* DEVICE INFO:\r\n[26.01.2024.09.06.04] [MEDIA] \/* PERMISSIONS: MICROPHONE -> GRANTED, CAMERA -> DENIED\r\n[26.01.2024.09.06.04] [MEDIA] ** MODEL: Xiaomi M2102J20SG\r\n[26.01.2024.09.06.04] [MEDIA] ** ANDROID VER.: 11\r\n[26.01.2024.09.06.04] [MEDIA] *\/ CLIENT VER.: 2024.1.0.1, CODE: 165, DATE: 19 \u0441\u0456\u0447. 2024\r\n[26.01.2024.09.06.04] [MEDIA] MEDIA_ACTIVITY_INIT: uin: 4 callType: VOICE micEnabled: false speakerPhone: false cameraEnabled: false\r\n[26.01.2024.09.06.08] [MEDIA] ====================================== END CALL ======================================\r\n[26.01.2024.09.06.08] [MEDIA] CALL STATE CHANGED: 2","MsgType":1}
[26.01.2024.09.08.03] [TRAFFIC] RECEIVE:800B {"Top":false,"Msg":"[26.01.2024.09.06.04] [MEDIA] ========================== INITIALIZING CALL (OUTGOING) ======================================\r\n[26.01.2024.09.06.04] [MEDIA] \/* DEVICE INFO:\r\n[26.01.2024.09.06.04] [MEDIA] \/* PERMISSIONS: MICROPHONE -> GRANTED, CAMERA -> DENIED\r\n[26.01.2024.09.06.04] [MEDIA] ** MODEL: Xiaomi M2102J20SG\r\n[26.01.2024.09.06.04] [MEDIA] ** ANDROID VER.: 11\r\n[26.01.2024.09.06.04] [MEDIA] *\/ CLIENT VER.: 2024.1.0.1, CODE: 165, DATE: 19 \u0441\u0456\u0447. 2024\r\n[26.01.2024.09.06.04] [MEDIA] MEDIA_ACTIVITY_INIT: uin: 4 callType: VOICE micEnabled: false speakerPhone: false cameraEnabled: false\r\n[26.01.2024.09.06.08] [MEDIA] ====================================== END CALL ======================================\r\n[26.01.2024.09.06.08] [MEDIA] CALL STATE CHANGED: 2","Idx":11,"StateTo":0,"UINFrom":16,"StateFrom":0,"ChangeID":57,"ClientType":4,"DlgIdx":823,"MsgType":1,"UINTo":6,"dtUTC":"26.01.2024.07.08.03"}
[26.01.2024.09.08.03] [TRAFFIC] RECEIVE:8125 {"UIN":6,"ID":11,"DlgIdx":824}
[26.01.2024.09.08.12] [TRAFFIC] SENT:000B
[26.01.2024.09.08.17] [TRAFFIC] RECEIVE:8022 {"UIN":4,"State":0}
[26.01.2024.09.08.21] [TRAFFIC] RECEIVE:8022 {"UIN":4,"State":1}
[26.01.2024.09.08.21] [TRAFFIC] RECEIVE:8022 {"UIN":4,"State":0}
[26.01.2024.09.08.21] [TRAFFIC] RECEIVE:8022 {"UIN":4,"State":1}
[26.01.2024.09.10.32] [TRAFFIC] SENT:00E6
[26.01.2024.09.10.32] [TRAFFIC] SENT:01AF {"DlgIdx":824,"ChangeID":0,"State":0,"Lang":"UK","RightsSetCRC32":1875663026,"PushToken":"f2100622-1e6d-46b2-9d7e-5e97048bf366\r\ndtjZ77nkTXK1199JmzAecH:APA91bF-Ggvh1dQpQ3MWhRBbIAsA1kFgcFOXT3_6hQuYwftD-12tr4fCRwavWuWiYM8Ee0q3pRFzHMz8XJH3XJ6VeCZ5NLLeXwJwn0UgCkdISBbJhs7q2alM-JTIY9w0FOVwbmSzmoSz\r\n25B396C6\r\n16\r\ngoogle"}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:80AA {"Free":"21,17,6","Away":"3,4,16,2,14,13,11"}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:8022 {"UIN":16,"State":0}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:8022 {"UIN":16,"State":0}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:8135 {"PersonalContacts":0,"CID":31,"PublicContacts":1529592364,"UsersID":57,"OptionsPresetCRC32":0,"RobotNick":"Elisa","ChangeID":57,"RobotAvatar":6,"UpdateGPS":15,"DlgIdx":825,"State":0,"OptionsPresetID":0}
[26.01.2024.09.10.32] [TRAFFIC] SENT:019B
[26.01.2024.09.10.32] [TRAFFIC] SENT:0014
[26.01.2024.09.10.32] [TRAFFIC] SENT:0191 {"Name":"MutedChannels"}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:8013 {"UID":1,"UserListCRC32":607909465,"ConfType":1,"ConfName":"\u0413\u043e\u043b\u043e\u0432\u043d\u0430","Owner":0,"LastMsgCutText":"\ud83e\udee5","dtUTCLastMsg":"17.01.2024.10.38.42","IDMsgRead":20,"IDMsgGot":20,"dtUTCCreated":"21.02.2020.14.46.01","LastMsgType":1,"ConvID":20,"Stat":{"image":1},"OpenNow":false,"ConfTopic":"\u0417\u0430\u0433\u0430\u043b\u044c\u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0456\u044f \u0447\u0430\u0442\u0443","LastSpeaker":8}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:8141
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:8120 {"DlgIdx":825,"Data":[{"UIN":11,"Speaker":16,"IDMsgRead":3,"IDMsgLast":3,"IDMsgGot":3,"ChangeID":24,"MsgCut":"{\"Duration\":10,\"type\":12,\"Type\":0}","IDMyMsgGot":3,"dt":"25.01.2024.19.04.58","MsgType":12,"IDMyMsgRead":3},{"UIN":13,"Speaker":13,"IDMsgRead":17,"IDMsgLast":17,"IDMsgGot":17,"ChangeID":44,"MsgCut":"{\"Duration\":49,\"type\":12,\"Type\":0}","IDMyMsgGot":0,"dt":"25.01.2024.21.25.30","MsgType":12,"IDMyMsgRead":0},{"UIN":21,"Speaker":21,"IDMsgRead":9,"IDMsgLast":9,"IDMsgGot":9,"ChangeID":51,"MsgCut":"{\"Duration\":28,\"type\":12,\"Type\":0}","IDMyMsgGot":0,"dt":"25.01.2024.11.44.58","MsgType":12,"IDMyMsgRead":0},{"UIN":3,"Speaker":16,"IDMsgRead":76,"IDMsgLast":76,"IDMsgGot":76,"ChangeID":53,"MsgCut":"{\"Duration\":112,\"type\":12,\"Type\":0}","IDMyMsgGot":76,"dt":"25.01.2024.22.16.27","MsgType":12,"IDMyMsgRead":75},{"UIN":4,"Speaker":16,"IDMsgRead":150,"IDMsgLast":150,"IDMsgGot":150,"ChangeID":52,"MsgCut":"{\"Duration\":-1,\"type\":12,\"Type\":0}","IDMyMsgGot":150,"dt":"26.01.2024.07.06.07","MsgType":12,"IDMyMsgRead":150},{"UIN":6,"Speaker":16,"IDMsgRead":11,"IDMsgLast":11,"IDMsgGot":11,"ChangeID":54,"MsgCut":"[26.01.2024.09.06.04] [MEDIA] ========================== INITIAL","IDMyMsgGot":11,"dt":"26.01.2024.07.08.03","MsgType":1,"IDMyMsgRead":11}]}
[26.01.2024.09.10.32] [TRAFFIC] RECEIVE:811A {"Name":"MutedChannels","Data":""}


iPhone
Код: Выделить всё
[09:06:01] [TRAFFIC] -SENT: 000B 

[09:06:04] [TRAFFIC] -RECEIVE: 8070 {"Avatar":0,"UIN":16,"Sex":0,"MID":596480,"Credential":"3VLME6Eoiz","ChangeID":57,"CallType":0,"ClientType":"","TURNPort":8888,"FullScreen":false,"UserName":"fr24wpmOZD","Email":"","HelloMsg":"","Nick":"\u0417\u0432`\u044f\u0437\u043a\u043e\u043a (Android)","State":0,"IPList":"uspech.com.ua,212.66.49.61"}

[09:06:04] [MEDIA] ------INCOMING CALL------

[09:06:05] [MEDIA] ------INCOMING CALL------

[09:06:05] [MEDIA] ------INCOMING CALL------

[09:06:05] [MEDIA] ------INCOMING CALL------

[09:06:05] [MEDIA] ------INCOMING CALL------

[09:06:05] [MEDIA] ------INCOMING CALL------

[09:06:05] [MEDIA] ------INCOMING CALL------

[09:06:07] [TRAFFIC] -SENT: 007C {"UIN":16,"MID":596480,"State":2}

[09:06:07] [TRAFFIC] -SENT: 007C {"UIN":16,"State":2,"MID":596480}

[09:06:07] [TRAFFIC] -RECEIVE: 800B {"Top":false,"Msg":"{\"UINFrom\":16,\"Duration\":-1,\"UINTo\":4,\"Type\":0,\"State\":2}","Idx":150,"StateTo":0,"UINFrom":16,"StateFrom":0,"ChangeID":57,"ClientType":0,"DlgIdx":1930,"MsgType":12,"UINTo":4,"dtUTC":"26.01.2024.07.06.07"}

[09:06:07] [MEDIA] CALL STATE: rejected

[09:06:07] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [TRAFFIC] -SENT: 019E {"ID":150,"UIN":16}

[09:06:08] [TRAFFIC] -SENT: 007C {"State":2,"UIN":16,"MID":596480}

[09:06:08] [TRAFFIC] -RECEIVE: 8124 {"UIN":16,"ID":150,"DlgIdx":1931}

[09:06:08] [MEDIA] CALL STATE: rejected

[09:06:08] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [TRAFFIC] -SENT: 007C {"State":2,"UIN":16,"MID":596480}

[09:06:08] [MEDIA] CALL STATE: rejected

[09:06:08] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [MEDIA] CALL STATE: rejected

[09:06:08] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [TRAFFIC] -SENT: 007C {"UIN":16,"MID":596480,"State":2}

[09:06:08] [MEDIA] CALL STATE: rejected

[09:06:08] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [TRAFFIC] -SENT: 007B {"MID":596480,"CallType":0,"UIN":16,"ClientType":"ios"}

[09:06:08] [MEDIA] CALL STATE: rejected

[09:06:08] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [MEDIA] CALL STATE: rejected

[09:06:08] [TRAFFIC] -SENT: 012A {"MID":596480}

[09:06:08] [TRAFFIC] -SENT: 0129 {"UIN":16,"MID":596480}

[09:06:10] [TRAFFIC] -SENT: 019D {"UIN":16,"ID":150}

[09:06:10] [TRAFFIC] -RECEIVE: 8122 {"UIN":16,"ID":150,"DlgIdx":1932}

[09:06:18] [CONNECTION] Connection entry point: socket
Аватара пользователя
Георгий Лысенко
Якщо потрібно, можу зробити скрінкаст, щоб було зрозуміліше.

Так, було б непогано побачити. Бо судячи з логу отримувач відмовляється приймати дзвінок, незрозуміло як це відбувається.
OleksandrAnchyshkin
Скрінкаст при дзвінку відключався, записав відео і відправив на [email protected]
Аватара пользователя
Георгий Лысенко
Ще, будь ласка, відправте на пошту скріншоти того, як вказана адреса сервера для підключення в мобільних клієнтах (там де ви додаєте сервер із на екрані логіну), окремо скрін Android та iOS.

Я внесу зараз деякі зміни та додам розширені логи, що допоможуть відслідкувати проблему. Оновлення, сподіваюся, буде протягом доби.
OleksandrAnchyshkin
Відправив на пошту
Аватара пользователя
Георгий Лысенко
Давайте для експерименту перевіримо ось що:
- в додаванні сервера залиште ТІЛЬКИ доменне імʼя, приберіть локальну адресу, не вказуйте альтернативний сервер;
- зробіть це як для iOS так i для Android;
- спробуйте подзвонити.
OleksandrAnchyshkin
Зробив все, як ви написали, з дзвінком відбувається все те ж, що я знімав на відео
Аватара пользователя
Георгий Лысенко
Готую апдейт з деякими змінами у роботі дзвінків.
Також буде додано налаштування, яке дозволяє використовувати TCP для підключення. Можливо, це вирішить вашу проблему. Очікуйте, оновлення для iOS буде протягом доби.
OleksandrAnchyshkin
Дякую за допомогу
Аватара пользователя
Алексей Пикуров
P.S. Вкладайте в пости, будь ласка, файли з логами, а не текст логів. Доволі важко листати й читати таке на форумі. Дякую. Посилання, як це робити, на прикладі зображень.
OleksandrAnchyshkin
Після оновлення для iOS, включив в налаштуваннях TCP. Наразі ззовні iPhone 12 приймає виклик все добре. Як дійду до локальної мережі, перевірю і там. На iPhone 15 Pro залишається зкидання екрану і все, як на відео, яке я відправляв. Логи прикладаю.
iPhone12.txt

iPhone15Pro.txt
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Георгий Лысенко
Вийшло повторити помилку на iPhone 15, займаюся вирішенням.
OleksandrAnchyshkin
Схоже на те що проблема вирішилась після цих дій viewtopic.php?f=1&t=8001
Наразі дзвінки працюють. Щодо пункту TCP на iOS пристроях. Якщо вмикати/вимикати, це буде впливати на якість?
Аватара пользователя
Георгий Лысенко
Пріоритетніше використовувати UDP. Такий трафік дозволяє пропускати пакети даних (у разі, якщо мережа нестабільна) без зменшення якості картинки і без зависань самого потоку. TCP рекомендуємо використовувати лише тоді, коли є проблеми з UDP-підключенням.