Download ZIP (44.8 MB)

Testing and Issues

You can test this entry and submit issues during the testing period of the VoIP Contest, Stage 3. €50,000 contest.

Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.


by rating


Fair Wombat Apr 6, 2020 at 12:03
So it should work with real I/O on Android device without TGVOIP_USE_CALLBACK_AUDIO_IO flag, right?
Bossy Gnu Apr 6, 2020 at 12:34
It needs some code modifications. Right now the library uses files as the Audio Device Module instead of hardware microphone/speaker. It's not enough to simply remove TGVOIP_USE_CALLBACK_AUDIO_IO. I can replace ADM with real devices and try to build an android version by your request.
Fair Wombat Apr 26, 2020 at 12:07
Рейтинг работы был значительно улучшен.
В начале каждого звонка с увеличенной задержкой (latency) тишина до 5 секунд. Она мешает правильному измерению качества. Пример семпла из датасета:


После временного ухудшения сетевых условий качество не возвращается к норме даже после того как сеть вернулась в норму. Примеры:



Не реализована сборка под Android.
Fair Wombat Apr 1, 2020 at 14:08
Trying to rebuild library to use our coturn server address. Build fails:

[ 30%] Building CXX object tgvoip/CMakeFiles/tgvoip.dir/server.cpp.o
[ 40%] Building CXX object tgvoip/CMakeFiles/tgvoip.dir/webRTCPeer.cpp.o
In file included from /home/unzipper/voip/usercontent/entry1366/src/tgvoip/tgvoip/webRTCPeer.cpp:28:
/home/unzipper/voip/usercontent/entry1366/src/tgvoip/tgvoip/server.h:37:10: error: ‘void server_t::SetMessageQueue(rtc::Thread*)’ marked ‘override’, but does not override
void SetMessageQueue(rtc::Thread *_thread) override;
In file included from /home/unzipper/voip/usercontent/entry1366/src/tgvoip/tgvoip/server.cpp:10:
/home/unzipper/voip/usercontent/entry1366/src/tgvoip/tgvoip/server.h:37:10: error: ‘void server_t::SetMessageQueue(rtc::Thread*)’ marked ‘override’, but does not override
void SetMessageQueue(rtc::Thread *_thread) override;
make[2]: *** [tgvoip/CMakeFiles/tgvoip.dir/build.make:76: tgvoip/CMakeFiles/tgvoip.dir/server.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [tgvoip/CMakeFiles/tgvoip.dir/build.make:89: tgvoip/CMakeFiles/tgvoip.dir/webRTCPeer.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:93: tgvoip/CMakeFiles/tgvoip.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

If I remove override keyword in
void SetMessageQueue(rtc::Thread *_thread) override;
then, it builds, but fails with segmentation fault during call:
Bossy Gnu Apr 1, 2020 at 14:43
Please make sure you replaced WebRTC M80 (included in my Stage 2 submission) by M81 (included in my Stage 3 submission).
Also run your own tgwss (singaling) server please, sources are included in the submission.
And one more note, try to increase IO timeout from 5 to 10 sec - TgVoip.cpp line 81 to avoid connection loosing with signaling server on low quality networks.
Fair Wombat Apr 6, 2020 at 11:31
Were there any attempts to build library for Android with real I/O etc, as was requested in previous contest stage?

Don't see any mentions about it in sources.
Bossy Gnu Apr 6, 2020 at 11:42
There is no any problem to build the library for an android supported platform. The library depends on WebRTC ( and libwebsockets (, both are android friendly, and rapidjson which is header-only C++ library and can be used with any NDK project.
Nobody added any issues yet...