Hi,
For diagnostics it is handy to be able to do loop tests, for both data and audio, and have some other tests.
Loop tests audio
1) speak in to mic, record the sound, play it back through speaker. (soundcard loop)
2) speak to mic, send it to your own local host ip (127.0.0.1) , play it back
3) speak to mic, send it to your own ip, play it back
4) speak in mike, send it to another person's IP, receive know sound back, and play it.
Loop tests data.
1) send known packets to your local host 127.0.0.1
2) send known packets to your ip number on your local
network
3) send known packets to your ip number over the internet (usually just a loop through your isp).
Other tests audio
1) Play a pre-recorded sound.
2) Check there is sound at the mic, and maybe measure how loud it is.
Other tests data
These could allow activation of an external program on the user's PC, set as default, or an inbuilt function.
1) Ping
Time, failures, and total data successfully transferred (with and without tolerating dropped audio) vs packet size.
2) Traceroute
Additional Functions;
1) "Relay" or "Loop Through" button
To save the involvement of a person at the other end needing to manually help with loop tests, it would be handy to have a "loop through" or "relay" type function that they can use to receive, record, and relay back to the sender whatever is sent.
This would help people to test their connection in various conditions by looping to people who have connections already known to be working well.
Permission by the "Relayer" can be given based on senders expected address(es) and port number(s).
Yours
Alasdair