Да, там проблема в том, что при использовании конфига в любом виде stale-nonce по умолчанию включен на 600 секунд, комментарий какой-то невнятный и лично у меня оставляет впечатление что по умолчанию всё-же nonce вечная: # Uncomment if extra security is desired, # with nonce value having limited lifetime. # By default, the nonce value is unique for a session, # and has unlimited lifetime. # Set this option to limit the nonce lifetime. # It defaults to 600 secs (10 min) if no value is provided. After that delay, # the client will get 438 error and will have to re-authenticate itself.
А на деле всё своеобразно, проверим поведение с таким хаком: diff -urN a/src/apps/relay/mainrelay.c b/src/apps/relay/mainrelay.c --- a/src/apps/relay/mainrelay.c 2019-03-03 00:06:19.000000000 +0300 +++ b/src/apps/relay/mainrelay.c 2020-05-15 16:02:43.371533695 +0300 @@ -1282,6 +1282,7 @@ break; case STALE_NONCE_OPT: turn_params.stale_nonce = get_int_value(value, STUN_DEFAULT_NONCE_EXPIRATION_TIME); + printf("DEBUG 1: %d\n", turn_params.stale_nonce); break; case MAX_ALLOCATE_LIFETIME_OPT: turn_params.max_allocate_lifetime = get_int_value(value, STUN_DEFAULT_MAX_ALLOCATE_LIFETIME); diff -urN a/src/apps/relay/netengine.c b/src/apps/relay/netengine.c --- a/src/apps/relay/netengine.c 2019-03-03 00:06:19.000000000 +0300 +++ b/src/apps/relay/netengine.c 2020-05-15 16:02:57.564643335 +0300 @@ -1637,6 +1637,8 @@ bufferevent_setcb(rs->auth_in_buf, relay_receive_auth_message, NULL, NULL, rs); bufferevent_enable(rs->auth_in_buf, EV_READ); + printf("DEBUG 2: %d\n", turn_params.stale_nonce); + exit(0); init_turn_server(&(rs->server), rs->id, turn_params.verbose, rs->ioa_eng, turn_params.ct, 0, тестим без конфига: [root@om b]# ./bin/turnserver 2>&1 | grep DEBUG DEBUG 1: 0 DEBUG 2: 0 тестим с абсолютно пустым конфигом: [root@om b]# ./bin/turnserver -c turnserver.conf 2>&1 | grep DEBUG DEBUG 2: 600 тестим оверрайд через параметр: [root@om b]# ./bin/turnserver -c turnserver.conf --stale-nonce=0 2>&1 | grep DEBUG DEBUG 1: 0 DEBUG 2: 0 А вот пример пострадальцев: https://medium.com/confrere/gone-in-1100-seconds-hunting-bugs-on-the-edge-of-webrtc-132a186c45dd Перевод: https://habr.com/ru/company/Voximplant/blog/352730/ пт, 15 мая 2020 г. в 16:20, Maxim Solodovnik <solomax...@gmail.com>: > я так понимаю имеется в виду втот этот > > https://github.com/coturn/coturn/blob/master/src/server/ns_turn_server.c#L3322 > код > > On Fri, 15 May 2020 at 19:53, Maxim Solodovnik <solomax...@gmail.com> > wrote: > > > конфиг /etc/turnserver.cfg > > > > On Fri, 15 May 2020 at 19:45, green_gen...@mail.ru.INVALID > > <green_gen...@mail.ru.invalid> wrote: > > > >> Maxim Solodovnik пишет: > >> > On Fri, 15 May 2020 at 16:58, Konstantin Kuzov < > >> master.nosfer...@gmail.com> > >> > wrote: > >> > > >> > > >> >> Да, документация оставляет местами желать лучшего, > >> >> > >> > > >> > > >> > каждый норовит маленького обидеть ... > >> > видите что можно улучшить - PRs are welcome :) > >> > > >> > > >> > > >> >> но вроде по-тихоньку > >> >> ситуация выправляется, к тому же 5.0.0 ещё не релизнулся ещё, а > >> стабильной > >> >> 4.x версии с флешем и red5 все эти мансы не касаются. > >> >> Я сам когда первый раз полтора месяца назад ставил OM прошелся по > всем > >> >> возможным граблям ^_^ > >> >> К примеру, о том что TURN вообще нужен в тогдашних туториалах не было > >> >> сказано ни слова. Не говоря уже о том что его надо прописывать в > >> >> webapps/openmeetings/WEB-INF/classes/applicationContext.xml, это я > >> прочитал > >> >> уже много после архиве в рассылки... А изначально настроил его не в > >> режиме > >> >> статического ключа (static-auth-secret), а через аккаунт пользователя > >> >> (user). и отредактировал WebRtcEndpoint.conf.ini, через подачу > >> >> переменных KMS_EXTERNAL_ADDRESS, > >> >> KMS_STUN_IP, KMS_STUN_PORT и KMS_TURN_URL. И это даже работало, но > были > >> >> проблемы с продлением сессий и большая часть пользователей > отваливалась > >> >> каждые 10 минут по channel-lifetime,. А учитывая что M3 не умел в > >> реконнект > >> >> вообще, а тупо вырубал камеру с микрофоном при любой ошибке - это > было > >> то > >> >> ещё веселье. > >> >> Кстати, даже когда я настроил всё по рекомендуемой схеме у некоторых > 10 > >> >> минутные отвалы реденько но продолжали быть, но теперь уже по nonce, > >> >> который по-умолчанию включен и 600 секунд несмотря на комментарий в > >> конфиге > >> >> говорящий об обратном. Покурив слегка исходники coturn нашел что его > >> можно > >> >> вырубить через stale-nonce=0. После этого левые отвалы прекратились > >> >> окончательно. > >> >> > >> >> > >> > > >> > а вот про это не знал > >> > интересно > >> > > >> > > >> > > >> > > >> >> , чт, 14 мая 2020 г. в 11:37, Eugene <roginovi...@hotmail.com>: > >> >> > >> >> > >> >>> Спасибо за информацию! Жалко, что в туториале не объяснены эти > детали, > >> >>> сэкономило бы пользователям много времени. > >> >>> > >> >>> > >> >>> > >> > > >> > > >> > > >> а где это настраевается "нашел что его можно вырубить через > >> stale-nonce=0. После этого левые отвалы прекратились окончательно." > >> > > > > > > -- > > Best regards, > > Maxim > > > > > -- > Best regards, > Maxim >