Answers‎ > ‎

How can I choose the best server?

posted Oct 10, 2011, 1:10 PM by EZvoip Co   [ updated Aug 22, 2015, 3:02 AM ]
When signing up for our service we recommend a server based on what we approximate to be the closest server to you. If you have a phone number (for incoming calls), that number (aka DID) is assigned to a server, and unless you are connected to that particular server, you will not be able to receive incoming calls - they will all go straight to your voicemail, without ringing. However, if you are travelling, connecting to your home server might be impractical due to latency. In that case, you could order a new phone number, which may very well be temporary, in your new area. We could then attach it to the server closest to you and forward the calls from your home phone number to the new temporary number. You can test yourself, objectively, which server is best for your new location.

To do so, we recommend running a "ping" test on each of our servers in your vicinity. Our servers follow the format [city].ezvoip.co so that for example the Toronto server would be toronto.ezvoip.co. We do not have servers in every city in the world, but we do have them in most major North American cities as well as a few European and even Australian ones and we're constantly expanding our presence.

For our situation, we compared Toronto and Montreal. This means running ping toronto.ezvoip.co and ping montreal.ezvoip.co (and optionally ping montreal2.ezvoip.co) and see which is fastest. We obtained an average of 11ms for Toronto, 102ms for London (not shown) and an average of 45ms for Montreal, which means that for our location the Toronto server is the fastest.

You may run such a test on virtually any platform and operating system.

Windows

First, start a command prompt. To do so, press Windows key + R or click Start -> Run Program.
To determine which of the two servers is fastest, we will use in our example Toronto and the Montreal, though you may use whichever servers are closest to you.

In the screenshot above you can see the results of the Toronto and Montreal servers ping under Windows.


iOS

On a Mac (such as a MacBook or a Mac Mini), you need to use Network Utility.
  1. Open Network Utility (located inside Applications > Utilities).
  2. Click Ping.
  3. Fill out the “Enter the network that you want to ping” field. You can enter the IP address or web URL. Enter toronto.ezvoip.co to test the ping with that server, for example.
  4. Click Ping.
On an iPhone, you may use a free utility such as the very popular Network Ping Lite (3*-412, latest 2013 5*-10), Ping - network reachability test (not enough ratings).


Android

You have the option of using ping within a more advanced application, such as Terminal Emulator (4.4*-87259), Network Discovery (4.2*-4734), Port Scandroid (offline) or Connect Bot (4.6*-152818), or in a simpler and specialized app such as Ping & DNS (4.3*-6021), PingTools Network Utilities (4.4*-8360), PingUp! (offline).



Linux

Here's a Linux shell script that might help:
  #!/bin/sh
  # Ping several servers and display Latency, Jitter and Packet Loss 
  #
  # create a text file with servers to ping - one hostname per line. 
  # The list of EZvoip servers: /faq/whereareyourserverslocated-1
  myHF="voip_ping_hosts.txt"
  # Sample file:
  #    toronto.ezvoip.co
  #    montreal.ezvoip.co
  #    seattle.ezvoip.co
  #    chicago.ezvoip.co
  #    newyork.ezvoip.co
  #
  echo "=============================================="
  printf "%-22s %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.ezvoip.co         68.3    0.439     0%
  montreal.ezvoip.co        89.6    0.197     0%
  seattle.ezvoip.co         71.2    0.387     0%
  chicago.ezvoip.co         71.6    0.084     0%
  newyork.ezvoip.co         79.1    0.411     0%
  ============================================ 

We have also tried pinging from an Eastern European location (RDS). We obtained the following:

PING london.ezvoip.co (78.129.153.20) 56(84) bytes of data.
64 bytes from 78.129.153.20: icmp_req=1 ttl=56 time=48.8 ms
64 bytes from 78.129.153.20: icmp_req=2 ttl=56 time=48.5 ms
64 bytes from 78.129.153.20: icmp_req=3 ttl=56 time=48.0 ms
64 bytes from 78.129.153.20: icmp_req=4 ttl=56 time=48.4 ms
64 bytes from 78.129.153.20: icmp_req=5 ttl=56 time=48.4 ms
64 bytes from 78.129.153.20: icmp_req=6 ttl=56 time=47.1 ms
64 bytes from 78.129.153.20: icmp_req=7 ttl=56 time=47.6 ms
64 bytes from 78.129.153.20: icmp_req=8 ttl=56 time=48.3 ms
64 bytes from 78.129.153.20: icmp_req=9 ttl=56 time=48.0 ms
64 bytes from 78.129.153.20: icmp_req=10 ttl=56 time=49.2 ms
--- london.ezvoip.co ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 47.151/48.267/49.263/0.580 ms

PING toronto.ezvoip.co 56(84) bytes of data.
64 bytes from toronto.ezvoip.co: icmp_req=1 ttl=56 time=137 ms
64 bytes from toronto.ezvoip.co: icmp_req=2 ttl=56 time=138 ms
64 bytes from toronto.ezvoip.co: icmp_req=3 ttl=56 time=137 ms
64 bytes from toronto.ezvoip.co: icmp_req=4 ttl=56 time=139 ms
64 bytes from toronto.ezvoip.co: icmp_req=5 ttl=56 time=139 ms
64 bytes from toronto.ezvoip.co: icmp_req=6 ttl=56 time=139 ms
64 bytes from toronto.ezvoip.co: icmp_req=7 ttl=56 time=139 ms
64 bytes from toronto.ezvoip.co: icmp_req=8 ttl=56 time=137 ms
64 bytes from toronto.ezvoip.co: icmp_req=9 ttl=56 time=140 ms
64 bytes from toronto.ezvoip.co: icmp_req=10 ttl=56 time=150 ms
--- toronto.ezvoip.co ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 137.767/140.175/150.391/3.569 ms

PING montreal2.ezvoip.co (174.142.75.171) 56(84) bytes of data.
64 bytes from montreal2.ezvoip.co: icmp_req=1 ttl=48 time=135 ms
64 bytes from montreal2.ezvoip.co: icmp_req=2 ttl=48 time=134 ms
64 bytes from montreal2.ezvoip.co: icmp_req=3 ttl=48 time=134 ms
64 bytes from montreal2.ezvoip.co: icmp_req=4 ttl=48 time=135 ms
64 bytes from montreal2.ezvoip.co: icmp_req=5 ttl=48 time=135 ms
64 bytes from montreal2.ezvoip.co: icmp_req=6 ttl=48 time=135 ms
64 bytes from montreal2.ezvoip.co: icmp_req=7 ttl=48 time=134 ms
64 bytes from montreal2.ezvoip.co: icmp_req=8 ttl=48 time=135 ms
64 bytes from montreal2.ezvoip.co: icmp_req=9 ttl=48 time=136 ms
64 bytes from montreal2.ezvoip.co: icmp_req=10 ttl=48 time=135 ms
--- montreal2.ezvoip.co ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9013ms
rtt min/avg/max/mdev = 134.736/135.270/136.048/0.523 ms
In this last example, as expected, the ping for london is much lower than the overseas locations (average of 48.27ms vs 140ms for Toronto and 135ms for Montreal, respectively); hence, in Romania the London server must be used.
In case you are wondering, our Australian customers might get pings over 300ms, but that does not stop them from trying (whirlpool).


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.