Choosing Server - VoIP.ms Wiki

Choosing Server

From VoIP.ms Wiki

(Difference between revisions)
Jump to: navigation, search
[quality revision][quality revision]
(Perl Script)
(Sample Linux Shell Script)
Line 126: Line 126:
   while read myLn
   while read myLn
   do
   do
-
       ping -c 3 -w 5 -q $myLn |\
+
       ping -c 3 -i 5 -q $myLn |\
       awk '/^PING / {myH=$2}
       awk '/^PING / {myH=$2}
           /packet loss/ {myPL=$6}
           /packet loss/ {myPL=$6}

Revision as of 13:15, 25 July 2014

Serverlocation3.png

Contents

Choosing a Server

VoIP.ms offers several different servers, but which one should you choose? One misconception is that you should pick the closest to your location, however this is not needed most of the time. For example, if you are in the USA, any of the US servers will provide a really good latency and service quality. Also worth noting is that there is a network tool that will help you when deciding which server you want to use, generally named a "ping", which will provide you the latency between you and the server. Therefore the server which provides you less latency should be used.


What is a Ping?

Ping is a standard tool used to test network connections. It is mostly used to determine if a server or device can be reached across the network and the latency of the response(the time it takes to send a packet to the destination and for it to return to your computer).

Ping tools are part of Windows, Mac OS X and Linux as well as some routers.

How does the ping work?

It sends request messages to a target network address or DNS names at periodic intervals and measures the time it takes for a response message to arrive and return(better known as latency).

How to ping on a PC

Pinging is a command which tells you if the connection between your computer and a particular domain is working correctly.

In Windows, select Start > Programs > Accessories > Command Prompt. This will give you a window like the one below.

Enter the word ping, followed by a space, then the domain name.(montreal.voip.ms) in this case domain is our server name.

If the results show a series of replies, the connection is working. The time shows you how fast the connection is. If you see a "timed out" error instead of a reply, there is a breakdown somewhere between your computer and the domain.

Ping.gif

How to ping on a Mac Computer

1- Click on Finder in the dock.

2- Click on Applications.

3- Click on Utilities.

4- Double-click on Network Utility.

5- In the Network Utility window, click on the Ping tab

6- In the field under "Please enter the network address to ping," like montreal.voip.ms


If pings results are not consistent, you may have an issue with Jitter. You can work on this issue by adjusting the "Network Jitter Level" setting on your VoIP device. Usually a ping of under 150 ms is recommended in order to have good quality. The latency time to the server is important, however there are also other factors that could affect the quality of the calls such as packet loss (VoIP communications are very sensitive to this), and the Jitter level of your Internet connection.

The following is the output of running ping with the target losangeles.voip.ms.

#ping losangeles.voip.ms
Ping to losangeles.voip.ms [67.215.241.250] with 32 bytes de datos:
Response from 67.215.241.250: bytes=32 time=67ms TTL=52
Response from 67.215.241.250: bytes=32 time=69ms TTL=52
Response from 67.215.241.250: bytes=32 time=68ms TTL=52
Response from 67.215.241.250: bytes=32 time=67ms TTL=52
ping statistics from 67.215.241.250:
4 packets transmitted, 4 received, 0% packet lost. rtt min/avg/max/mdev = 67ms, 69ms, 67ms

Sample ping output in windows:

C:\Windows\system32>ping montreal.voip.ms

Pinging montreal.voip.ms [67.205.74.184] with 32 bytes of data:
Reply from 67.205.74.184: bytes=32 time=85ms TTL=49
Reply from 67.205.74.184: bytes=32 time=86ms TTL=49
Reply from 67.205.74.184: bytes=32 time=86ms TTL=49
Reply from 67.205.74.184: bytes=32 time=85ms TTL=49

Ping statistics for 67.205.74.184:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 85ms, Maximum = 86ms, Average = 85ms

Sample Linux Shell Script

Pings several voip.ms servers

  #!/bin/sh
  # Ping several servers and display Latency, Jitter and Packet Loss 
  #
  # First, create a text file with all servers you want to ping - one host name per line. 
  # The list of voip.ms servers is available at http://wiki.voip.ms/article/Choosing_Server
  myHF="voip_ping_hosts.txt"
  # Sample file:
  #    toronto.voip.ms
  #    montreal.voip.ms
  #    seattle.voip.ms
  #    chicago.voip.ms
  #    newyork.voip.ms
  #
  echo "============================================"
  printf "%-20s %7s %8s %6s\n" "VoIP Server" "Latency" "Jitter" "Loss"
  echo "============================================"
  cat ${myHF} |\
  while read myLn
  do
     ping -c 3 -i 5 -q $myLn |\
     awk '/^PING / {myH=$2}
          /packet loss/ {myPL=$6}
          /min\/avg\/max/ {
             split($4,myS,"/")
             printf( "%-20s    %3.1f    %1.3f   %4s\n", myH, myS[2], myS[4], myPL)
         }'
  done
  echo "============================================"

Output:

  ============================================
  VoIP Server          Latency   Jitter   Loss
  ============================================
  toronto.voip.ms         68.3    0.439     0%
  montreal.voip.ms        89.6    0.197     0%
  seattle.voip.ms         71.2    0.387     0%
  chicago.voip.ms         71.6    0.084     0%
  newyork.voip.ms         79.1    0.411     0%
  ============================================

Perl Script

Pings list of voip.ms servers round robin with optional output csv file.

   # usage ping_voip.ms.pl <number of times> <seconds in between> <output.csv>
   use Net::Ping;
   use Time::HiRes;
   use strict;
   
   # input list 
   my @hosts = qw(
       atlanta.voip.ms
       atlanta2.voip.ms
       chicago.voip.ms
       chicago2.voip.ms
       chicago3.voip.ms
       chicago4.voip.ms
       dallas.voip.ms
       denver.voip.ms
       denver2.voip.ms
       houston.voip.ms
       losangeles.voip.ms
       losangeles2.voip.ms
       newyork.voip.ms
       newyork2.voip.ms
       newyork3.voip.ms
       newyork4.voip.ms
       seattle.voip.ms
       seattle2.voip.ms
       seattle3.voip.ms
       tampa.voip.ms
       washington.voip.ms
       washington2.voip.ms
       montreal.voip.ms
       montreal2.voip.ms
       montreal3.voip.ms
       montreal4.voip.ms
       toronto2.voip.ms
       toronto3.voip.ms
       toronto4.voip.ms
       toronto.voip.ms
       london.voip.ms
   );
   
   $| = 1; #autoflush
   # High precision syntax (requires Time::HiRes)
   my $p = Net::Ping->new("icmp",1);
   $p->hires();
   my $max_name_length = (reverse sort { $a <=> $b } map { length($_) } @hosts)[0];
   my $count = 4; # number of times to ping
   my $interval = 5; # seconds between ping rounds
   my $output_file = "";
   my @data;
   
   # check for arguments
   my $num_args = @ARGV;
   if ($num_args >= 1) {$count = $ARGV[0];}
   if ($num_args >= 2) {$interval = $ARGV[1];}
   if ($num_args >= 3) {$output_file = $ARGV[2];}
   
   # check argument validity
   $0 =~ /^.*\\(.*)$/;
   my $script = $1;
   if ($count !~ /^\d+$/ or $interval !~ /^\d+$/) {die "Usage: $script <number of rounds> <seconds between rounds> <output.csv>\n";}
   if (length($output_file) > 0 and $output_file !~ /\.csv$/) {$output_file .= ".csv";}
   
   # main loop
   for my $i (1..$count)
   {
       sleep $interval unless $i == 1;
       print "Round $i\n";
       my $host_num=0;
       foreach my $host (@hosts)
       {
           (my $ret, my $duration, my $ip) = $p->ping($host);
           $ip =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/; 
           if ($ret)
           {
               printf("%*s [ip: %3s.%3s.%3s.%3s] is alive (%6.2f ms)\n", $max_name_length, $host, $1, $2, $3, $4, $duration*1000);
               $data[$host_num][$i]=$duration*1000;
           }
           else
           {
               printf("%*s [ip: %3s.%3s.%3s.%3s] is dead\n", $max_name_length, $host, $1, $2, $3, $4);
           }
           $host_num++;
       }
       print "\n";
   }
   $p->close();
   
   # if output file name given
   if (length($output_file)>0)
   {
       # print output to file
       open FILE, ">$output_file" or die "$!\n";
       
       # print column headers
       print FILE "Server\\Round";
       for my $i (1..$count)
       {
           print FILE ", $i";
       }
       print FILE ", Average\n";
       
       # print data
       my $i = 0;
       foreach my $host (@hosts)
       {
           print FILE "$host";
           my $sum = 0;
           for my $j (1..$count)
           {
               $sum += $data[$i][$j];
               printf FILE ", %8.4f",$data[$i][$j];
           }
           printf FILE ", %8.4f\n",$sum/$count;
           $i++;
       }
       
       close FILE;
       print "Data written to $output_file\n";
   }
   
   # print summary to screen
   my $i = 0;
   printf("%-*s Average (ms)\n", $max_name_length, "Server");
   foreach my $host (@hosts)
   {
       my $sum = 0;
       for my $j (1..$count)
       {
           $sum += $data[$i][$j];
       }
       printf("%-*s %8.4f\n", $max_name_length+1, $host, $sum/$count);
       $i++;
   }


Output:

   Round 1
       atlanta.voip.ms [ip: 174. 34.146.162] is alive ( 88.97 ms)
      atlanta2.voip.ms [ip:  72.  9.246.170] is alive ( 92.99 ms)
       chicago.voip.ms [ip: 208.100. 39. 52] is alive ( 49.70 ms)
      chicago2.voip.ms [ip: 208.100. 39. 53] is alive ( 59.76 ms)
      chicago3.voip.ms [ip: 208.100. 39. 54] is alive ( 59.53 ms)
      chicago4.voip.ms [ip: 208.100. 39. 55] is alive ( 49.73 ms)
        dallas.voip.ms [ip:  74. 54. 54.178] is alive ( 94.99 ms)
        denver.voip.ms [ip: 173.248.161. 90] is alive ( 94.05 ms)
       denver2.voip.ms [ip: 173.248.159.210] is alive ( 85.13 ms)
       houston.voip.ms [ip: 209. 62.  1.  2] is alive (102.87 ms)
    losangeles.voip.ms [ip:  96. 44.149.186] is alive ( 64.92 ms)
   losangeles2.voip.ms [ip:  96. 44.149.202] is alive ( 63.41 ms)
       newyork.voip.ms [ip:  74. 63. 41.218] is alive (131.75 ms)
      newyork2.voip.ms [ip: 107.  6. 67.236] is alive (120.64 ms)
      newyork3.voip.ms [ip: 107.  6. 67.237] is alive (120.49 ms)
      newyork4.voip.ms [ip: 107.  6. 67.238] is alive (111.43 ms)
       seattle.voip.ms [ip:  50. 23.160. 50] is alive ( 94.25 ms)
      seattle2.voip.ms [ip:  50. 23.160. 51] is alive ( 95.86 ms)
      seattle3.voip.ms [ip:  50. 23.160. 52] is alive ( 90.85 ms)
         tampa.voip.ms [ip:  68.233.226. 97] is alive (123.29 ms)
    washington.voip.ms [ip: 208. 43.234.226] is alive ( 98.71 ms)
   washington2.voip.ms [ip: 208. 43.234.227] is alive (101.19 ms)
      montreal.voip.ms [ip:  67.205. 74.184] is alive ( 81.82 ms)
     montreal2.voip.ms [ip:  67.205. 74.187] is alive ( 86.13 ms)
     montreal3.voip.ms [ip:  72. 55.168. 18] is alive ( 77.09 ms)
     montreal4.voip.ms [ip:  67.205. 74.179] is alive ( 96.18 ms)
      toronto2.voip.ms [ip: 184. 75.215.114] is alive (103.70 ms)
      toronto3.voip.ms [ip: 184. 75.215.146] is alive (131.27 ms)
      toronto4.voip.ms [ip: 184. 75.213.210] is alive (125.13 ms)
       toronto.voip.ms [ip: 184. 75.215.106] is alive (103.26 ms)
        london.voip.ms [ip:   5. 77. 36.136] is alive (152.77 ms)
   
   Round 2
       atlanta.voip.ms [ip: 174. 34.146.162] is alive ( 88.14 ms)
      atlanta2.voip.ms [ip:  72.  9.246.170] is alive ( 92.86 ms)
       chicago.voip.ms [ip: 208.100. 39. 52] is alive ( 50.03 ms)
      chicago2.voip.ms [ip: 208.100. 39. 53] is alive ( 59.44 ms)
      chicago3.voip.ms [ip: 208.100. 39. 54] is alive ( 59.33 ms)
      chicago4.voip.ms [ip: 208.100. 39. 55] is alive ( 50.22 ms)
        dallas.voip.ms [ip:  74. 54. 54.178] is alive ( 95.58 ms)
        denver.voip.ms [ip: 173.248.161. 90] is alive ( 95.94 ms)
       denver2.voip.ms [ip: 173.248.159.210] is alive ( 85.29 ms)
       houston.voip.ms [ip: 209. 62.  1.  2] is alive (102.73 ms)
    losangeles.voip.ms [ip:  96. 44.149.186] is alive ( 65.59 ms)
   losangeles2.voip.ms [ip:  96. 44.149.202] is alive ( 64.27 ms)
       newyork.voip.ms [ip:  74. 63. 41.218] is alive (112.74 ms)
      newyork2.voip.ms [ip: 107.  6. 67.236] is alive (121.22 ms)
      newyork3.voip.ms [ip: 107.  6. 67.237] is alive (121.34 ms)
      newyork4.voip.ms [ip: 107.  6. 67.238] is alive (110.75 ms)
       seattle.voip.ms [ip:  50. 23.160. 50] is alive ( 94.06 ms)
      seattle2.voip.ms [ip:  50. 23.160. 51] is alive ( 95.33 ms)
      seattle3.voip.ms [ip:  50. 23.160. 52] is alive ( 91.58 ms)
         tampa.voip.ms [ip:  68.233.226. 97] is alive (122.94 ms)
    washington.voip.ms [ip: 208. 43.234.226] is alive ( 98.28 ms)
   washington2.voip.ms [ip: 208. 43.234.227] is alive (101.40 ms)
      montreal.voip.ms [ip:  67.205. 74.184] is alive ( 81.91 ms)
     montreal2.voip.ms [ip:  67.205. 74.187] is alive ( 85.64 ms)
     montreal3.voip.ms [ip:  72. 55.168. 18] is alive ( 75.15 ms)
     montreal4.voip.ms [ip:  67.205. 74.179] is alive ( 96.79 ms)
      toronto2.voip.ms [ip: 184. 75.215.114] is alive (103.10 ms)
      toronto3.voip.ms [ip: 184. 75.215.146] is alive (150.85 ms)
      toronto4.voip.ms [ip: 184. 75.213.210] is alive (138.40 ms)
       toronto.voip.ms [ip: 184. 75.215.106] is alive (103.45 ms)
        london.voip.ms [ip:   5. 77. 36.136] is alive (170.79 ms)
   
   Round 3
       atlanta.voip.ms [ip: 174. 34.146.162] is alive ( 88.76 ms)
      atlanta2.voip.ms [ip:  72.  9.246.170] is alive ( 92.86 ms)
       chicago.voip.ms [ip: 208.100. 39. 52] is alive ( 49.65 ms)
      chicago2.voip.ms [ip: 208.100. 39. 53] is alive ( 60.01 ms)
      chicago3.voip.ms [ip: 208.100. 39. 54] is alive ( 59.05 ms)
      chicago4.voip.ms [ip: 208.100. 39. 55] is alive ( 49.53 ms)
        dallas.voip.ms [ip:  74. 54. 54.178] is alive ( 95.82 ms)
        denver.voip.ms [ip: 173.248.161. 90] is alive ( 95.02 ms)
       denver2.voip.ms [ip: 173.248.159.210] is alive ( 85.60 ms)
       houston.voip.ms [ip: 209. 62.  1.  2] is alive (103.35 ms)
    losangeles.voip.ms [ip:  96. 44.149.186] is alive ( 65.79 ms)
   losangeles2.voip.ms [ip:  96. 44.149.202] is alive ( 64.05 ms)
       newyork.voip.ms [ip:  74. 63. 41.218] is alive (113.01 ms)
      newyork2.voip.ms [ip: 107.  6. 67.236] is alive (121.41 ms)
      newyork3.voip.ms [ip: 107.  6. 67.237] is alive (122.23 ms)
      newyork4.voip.ms [ip: 107.  6. 67.238] is alive (110.62 ms)
       seattle.voip.ms [ip:  50. 23.160. 50] is alive ( 93.65 ms)
      seattle2.voip.ms [ip:  50. 23.160. 51] is alive ( 95.19 ms)
      seattle3.voip.ms [ip:  50. 23.160. 52] is alive ( 90.75 ms)
         tampa.voip.ms [ip:  68.233.226. 97] is alive (125.12 ms)
    washington.voip.ms [ip: 208. 43.234.226] is alive ( 98.19 ms)
   washington2.voip.ms [ip: 208. 43.234.227] is alive (101.98 ms)
      montreal.voip.ms [ip:  67.205. 74.184] is alive ( 80.16 ms)
     montreal2.voip.ms [ip:  67.205. 74.187] is alive ( 87.16 ms)
     montreal3.voip.ms [ip:  72. 55.168. 18] is alive ( 76.54 ms)
     montreal4.voip.ms [ip:  67.205. 74.179] is alive ( 97.51 ms)
      toronto2.voip.ms [ip: 184. 75.215.114] is alive (104.18 ms)
      toronto3.voip.ms [ip: 184. 75.215.146] is alive (142.81 ms)
      toronto4.voip.ms [ip: 184. 75.213.210] is alive (138.95 ms)
       toronto.voip.ms [ip: 184. 75.215.106] is alive (103.78 ms)
        london.voip.ms [ip:   5. 77. 36.136] is alive (153.14 ms)
   
   Round 4
       atlanta.voip.ms [ip: 174. 34.146.162] is alive ( 89.19 ms)
      atlanta2.voip.ms [ip:  72.  9.246.170] is alive ( 92.98 ms)
       chicago.voip.ms [ip: 208.100. 39. 52] is alive ( 49.21 ms)
      chicago2.voip.ms [ip: 208.100. 39. 53] is alive ( 60.50 ms)
      chicago3.voip.ms [ip: 208.100. 39. 54] is alive ( 59.68 ms)
      chicago4.voip.ms [ip: 208.100. 39. 55] is alive ( 50.18 ms)
        dallas.voip.ms [ip:  74. 54. 54.178] is alive ( 93.93 ms)
        denver.voip.ms [ip: 173.248.161. 90] is alive ( 94.22 ms)
       denver2.voip.ms [ip: 173.248.159.210] is alive ( 85.10 ms)
       houston.voip.ms [ip: 209. 62.  1.  2] is alive (103.67 ms)
    losangeles.voip.ms [ip:  96. 44.149.186] is alive ( 65.58 ms)
   losangeles2.voip.ms [ip:  96. 44.149.202] is alive ( 63.60 ms)
       newyork.voip.ms [ip:  74. 63. 41.218] is alive (114.76 ms)
      newyork2.voip.ms [ip: 107.  6. 67.236] is alive (120.44 ms)
      newyork3.voip.ms [ip: 107.  6. 67.237] is alive (121.05 ms)
      newyork4.voip.ms [ip: 107.  6. 67.238] is alive (110.51 ms)
       seattle.voip.ms [ip:  50. 23.160. 50] is alive ( 94.04 ms)
      seattle2.voip.ms [ip:  50. 23.160. 51] is alive ( 96.92 ms)
      seattle3.voip.ms [ip:  50. 23.160. 52] is alive ( 91.23 ms)
         tampa.voip.ms [ip:  68.233.226. 97] is alive (123.28 ms)
    washington.voip.ms [ip: 208. 43.234.226] is alive ( 98.45 ms)
   washington2.voip.ms [ip: 208. 43.234.227] is alive (100.94 ms)
      montreal.voip.ms [ip:  67.205. 74.184] is alive ( 82.33 ms)
     montreal2.voip.ms [ip:  67.205. 74.187] is alive ( 85.02 ms)
     montreal3.voip.ms [ip:  72. 55.168. 18] is alive ( 76.85 ms)
     montreal4.voip.ms [ip:  67.205. 74.179] is alive ( 96.32 ms)
      toronto2.voip.ms [ip: 184. 75.215.114] is alive (104.22 ms)
      toronto3.voip.ms [ip: 184. 75.215.146] is alive (148.33 ms)
      toronto4.voip.ms [ip: 184. 75.213.210] is alive (141.61 ms)
       toronto.voip.ms [ip: 184. 75.215.106] is alive (105.91 ms)
        london.voip.ms [ip:   5. 77. 36.136] is alive (152.85 ms)
   
   Server              Average (ms)
   atlanta.voip.ms       88.7630
   atlanta2.voip.ms      92.9233
   chicago.voip.ms       49.6477
   chicago2.voip.ms      59.9305
   chicago3.voip.ms      59.3972
   chicago4.voip.ms      49.9152
   dallas.voip.ms        95.0790
   denver.voip.ms        94.8077
   denver2.voip.ms       85.2797
   houston.voip.ms      103.1562
   losangeles.voip.ms    65.4693
   losangeles2.voip.ms   63.8347
   newyork.voip.ms      118.0643
   newyork2.voip.ms     120.9265
   newyork3.voip.ms     121.2778
   newyork4.voip.ms     110.8275
   seattle.voip.ms       93.9993
   seattle2.voip.ms      95.8267
   seattle3.voip.ms      91.1035
   tampa.voip.ms        123.6570
   washington.voip.ms    98.4065
   washington2.voip.ms  101.3774
   montreal.voip.ms      81.5525
   montreal2.voip.ms     85.9863
   montreal3.voip.ms     76.4058
   montreal4.voip.ms     96.7013
   toronto2.voip.ms     103.7986
   toronto3.voip.ms     143.3156
   toronto4.voip.ms     136.0254
   toronto.voip.ms      104.1012
   london.voip.ms       157.3885

For Windows (User Submitted):

 # Usage: Copy and paste the following code into a powershell window
 #		To run it from a command prompt, save this file with extension ps1.  Then run Powershell.exe -file "pathtothisscript.ps1"
 #Get the list of servers into an array
 $Servers =      
@(“atlanta.voip.ms”,”atlanta2.voip.ms”,”chicago.voip.ms”,”chicago2.voip.ms”,”chicago3.voip.ms”,”chicago4.voip.ms”,”dallas.voip.ms”,
”denver.voip.ms”,”denver2.voip.ms”,”houston.voip.ms”,”london.voip.ms”,”losangeles.voip.ms”,”losangeles2.voip.ms”,”montreal.voip.ms”,
”montreal2.voip.ms”,”montreal3.voip.ms”,”montreal4.voip.ms”,”newyork.voip.ms”,”  newyork2.voip.ms”,”newyork3.voip.ms”,”newyork4.voip.ms”,
”seattle.voip.ms”,”seattle2.voip.ms”,”seattle3.voip.ms”,”tampa.voip.ms”,”toronto.voip.ms”,”toronto2.voip.ms”,”toronto3.voip.ms”,
”toronto4.voip.ms”,”vancouver.voip.ms”,”vancouver2.voip.ms”,”washington.voip.ms”,”washington2.voip.ms”)
$k = 0	#Counting variable so we know what server number we are testing
#num of servers to test
$servercount = $servers.length 
#Do the following code for each server in our array
For Each($server in $servers){  
               $k++ #Add one to the counting variable....we are on server #1...then server 2, then server 3 etc...                         
               Write-Progress -Activity "Testing Server: ${server}" -status "Testing Server $k out of $servercount" -percentComplete ($k /        
$servercount*100) #Update the progress bar
               $i = 0 #Counting variable for number of times we tried to ping a given server
               Do{
                       $pingsuccess = $false #assume a failure
                       $i++ #Add one to the counting variable.....1st try....2nd try....3rd try etc...
                       Try{
                               $currentping = (test-connection $server -count 1 -ErrorAction Stop).responsetime #Try to ping
                               $pingsuccess = $True	#If success full, set success variable
                       }Catch { $pingsuccess = $false }	#Catch the failure and set the success variable to false
              }While($pingsuccess -eq $false -and $i -le 5) #Try everything between Do and While up to 5 times, or while $pingsuccess is not   
true
              If($pingsuccess -and ($currentping -lt $bestping -or (!($bestping)))){ #Compare the last ping test with the best known ping      
test....if there is no known best ping test, assume this one is the best $bestping = $currentping #If this is the best ping...save it
                      $bestserver = $server	#Save the best server
       }
       write-host "tested: $server at $currentping ms after $i attempts" #write the results of the test for this server
}
write-host "The server with the best ping is: $bestserver at $bestping ms" #write the end result

Latency and it's importance

Latency is very important for Voip, this will determine the time that will take for the data package transmission to reach the destination. A high latency will lead to a delay and echoes in the communication.

Latency is measured in milliseconds (ms) For example: a latency of 150ms is barely noticeable, thus acceptable. Higher than that, quality starts to suffer. When it gets higher than 300 ms, it becomes unacceptable.

Personal tools
Namespaces
Variants
Actions
VoIP.ms Wiki
Configuration
Guides (English)
Guides (Français)
Guías (Español)
Toolbox