Download ZIP (3 MB)

Testing and Issues

You can test this entry and submit issues during the testing period of the VoIP Contest, Stage 2. $75,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 Mar 9, 2020 at 19:19
Implemented multiple fixes for serious bugs.
Migrated to TURN/STUN.
High quality ratings.

We expect the contestant to take part in round 3. Suggested priorities:
1. Finding and fixing new blocking, deadlock problems etc.
2. Improving latency comparing to stable (2.4.4) version.
3. Improving audio quality scores comparing to 2.6
Debian 5.2.9
Fair Wombat Feb 5, 2020 at 10:57
This is not an issue, just a request. If there were any specific network conditions which you used to optimize the initally provided library, you are welcome to share test sequences as well as your results. e.g.:

Stable version: 3.0
My submission: 3.3

Stable version: 3.2
My submission: 3.4

We will re-check your results and may use the sequences you provide to test other submissions.
Debian 5.2.9
Fair Wombat Feb 7, 2020 at 14:06
While testing with different network conditions faced strange case with ideal connection:

Here are two pairs of logs (caller and callee), same sample, same network conditions:
This one failed.
This one went OK.

And generally the amount of failed calls is higher than with the version we provided. Any ideas what might be the reason?
Debian 5.2.9
Eager Cat Feb 7, 2020 at 14:41
I attached my reply in a screenshot because there's a character limit you only find out exists when you try to send something that exceeds it.
Fair Wombat Feb 21, 2020 at 12:57
Could you please clarify what was the purpose of this change?

--- orig/Buffers.h 2019-12-30 11:02:53.000000000 +0000
+++ entry1273/src/libtgvoip/Buffers.h 2020-01-30 10:47:44.171464734 +0000
@@ -200,11 +200,11 @@ namespace tgvoip{
throw std::out_of_range("offset+length out of bounds");
Buffer buf(length);
buf.CopyFrom(other, length, offset);
return buf;
- static Buffer Wrap(unsigned char* data, size_t size, std::function<void(void*)> freeFn, std::function<void*(void*, size_t)> reallocFn){
+ static Buffer Wrap(unsigned char* data, size_t size, std::function<void(void*)> freeFn=[](void*){}, std::function<void*(void*, size_t)> reallocFn=[](void*, size_t)->void*{return NULL;}){
Buffer b=Buffer();;
Debian 5.2.9
Eager Cat Feb 21, 2020 at 13:03
In this particular case this is to be able to more easily wrap Buffer objects around C arrays that are allocated on stack. See RelayClient.cpp:132 for example.
Nobody added any issues yet...