Choosing Server
From VoIP.ms Wiki
| [quality revision] | [draft revision] |
Viop user 5 (Talk | contribs) (Added perl script and output) |
|||
| Line 4: | Line 4: | ||
[http://www.voip.ms 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. | [http://www.voip.ms 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. | ||
| - | |||
Atlanta, GA '''atlanta.voip.ms''' | Atlanta, GA '''atlanta.voip.ms''' | ||
| Line 26: | Line 25: | ||
Seattle 3, WA '''seattle3.voip.ms''' | Seattle 3, WA '''seattle3.voip.ms''' | ||
Tampa, FL '''tampa.voip.ms''' | Tampa, FL '''tampa.voip.ms''' | ||
| - | Washington, DC | + | Washington, DC '''washington.voip.ms''' |
| - | Washington 2, DC | + | Washington 2, DC '''washington2.voip.ms''' |
Montreal,QC '''montreal.voip.ms''' | Montreal,QC '''montreal.voip.ms''' | ||
Montreal 2,QC '''montreal2.voip.ms''' | Montreal 2,QC '''montreal2.voip.ms''' | ||
| Line 33: | Line 32: | ||
Montreal 4, QC '''montreal4.voip.ms''' | Montreal 4, QC '''montreal4.voip.ms''' | ||
Toronto 2, ON '''toronto2.voip.ms''' | Toronto 2, ON '''toronto2.voip.ms''' | ||
| - | Toronto 3, ON | + | Toronto 3, ON '''toronto3.voip.ms''' |
| - | Toronto 4, ON | + | Toronto 4, ON '''toronto4.voip.ms''' |
Toronto, ON '''toronto.voip.ms''' | Toronto, ON '''toronto.voip.ms''' | ||
London, UK '''london.voip.ms''' | London, UK '''london.voip.ms''' | ||
| Line 67: | Line 66: | ||
4 packets transmitted, 4 received, 0% packet lost. rtt min/avg/max/mdev = 67ms, 69ms, 67ms | 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 | #!/bin/sh | ||
| Line 109: | Line 123: | ||
newyork.voip.ms 79.1 0.411 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 | ||
= Latency and its importance = | = Latency and its importance = | ||
Revision as of 04:51, 8 February 2014
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.
Atlanta, GA atlanta.voip.ms Atlanta 2, GA atlanta2.voip.ms Chicago, IL chicago.voip.ms Chicago 2, IL chicago2.voip.ms Chicago 3, IL chicago3.voip.ms Chicago 4, IL chicago4.voip.ms Dallas, TX dallas.voip.ms Denver 1, CO denver.voip.ms Denver 2, CO denver2.voip.ms Houston, TX houston.voip.ms Los Angeles, CA losangeles.voip.ms Los Angeles 2, CA losangeles2.voip.ms New York, NY newyork.voip.ms New York 2, NY newyork2.voip.ms New York 3, NY newyork3.voip.ms New York 4, NY newyork4.voip.ms Seattle, WA seattle.voip.ms Seattle 2, WA seattle2.voip.ms Seattle 3, WA seattle3.voip.ms Tampa, FL tampa.voip.ms Washington, DC washington.voip.ms Washington 2, DC washington2.voip.ms Montreal,QC montreal.voip.ms Montreal 2,QC montreal2.voip.ms Montreal 3, QC montreal3.voip.ms Montreal 4, QC montreal4.voip.ms Toronto 2, ON toronto2.voip.ms Toronto 3, ON toronto3.voip.ms Toronto 4, ON toronto4.voip.ms Toronto, ON toronto.voip.ms London, UK london.voip.ms
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 send a ping?
- Windows: Open up the DOS prompt and enter cmd /k ping xxxx.voip.ms on the box in windows (replace xxxx for the name of the server you want to ping. e.g: atlanta.voip.ms, montreal.voip.ms, etc).
- Mac: Open a "Console Application" and write "ping xxxx.voip.ms" (replace xxxx for the name of the server you want to ping). To stop pinging the server and get summary statistics, press control-c.
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 -w 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
Latency and its 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.
