VoIP uses your Internet data connection so its important you have adequate bandwidth. You can save bandwidth by using more efficient codec's (Audio Compressors) in the settings of your hardware of softphone, but the most common default standard is a codec called g.711. This gives 64 Kbps sound quality - the exceptional quality we think you'll want! Alternative codec’s like g.722 can reduce bandwidth requirements over the industry standard g.711 by as much as 20%, but reduce the call quality to 48 Kbps. Nonetheless, still very adequate for most though.
So let’s base our maths on the more normal g.711 codec for now. With the overheads that VoIP needs to control a call, you'll need just short of 80 Kbps for each part of the call, the outgoing and incoming; the two parts of a conversation. So in bandwidth terms, that means you will need to have at least 80 Kbps of upload speed and at least 80 Kbps of download speed per concurrent phone call. 8% of each leg of a pure uncontended 1Mbps upload/download broadband speed if you like.
In reality we regularly see VoIP bandwidth usage at substantially less than 80Kbps on each leg of the download/upload as most phone conversations don't have two people talking constantly at each other - they are a conversation and not all the bandwidth is consumed at once. However, this is a max figure that you should budget your calculations on.
Bits and Bytes and in turn Megabits and Megabytes are different, so be careful not to get them confused when seeing what bandwidth you have available. A byte/Megabyte is broadly 8 x bigger than a Bit or Megabit. Broadband/Bandwidth is generally marketed and measured in Megabit's so a 1MB file on a pure uncontended 1MB per second download speed will actually take 8 seconds to download in a perfect world, not the 1 second you might first think. For ease with our maths here, a Kbps is a unit of a Megabit, so you don't need to do any conversions, but we wanted to explain our Bits and Bytes well!
Concurrency is key in your calculation. You may have say 30 users, but its highly unlikely you will see that many on a call at once. In fact, from our stats we see an average of 1 concurrent call for every 3 users. So for 30 users, we would suggest your bandwidth requirement would be 10 x 80 Kbps (800 Kbps) upload and 10 x 80 Kbps (800 Kbps) download for the large majority of your run rate business.
Finally, we would encourage you to test your actual bandwidth using tools like Speedtest.net. Your actual bandwidth may vary greatly from what you think you buy from your provider at different times of the day and depending on the priority they are giving to your traffic.
Your download speed will likely be substantially more than your upload speed, so upload is the key constraining measurement to take a good look at. I sit right now writing this FAQ from a regular domestic BT fibre connection in a city and am achieving 15 Megabits download and 11 Megabits upload; that’s enough for 137 concurrent calls based on my upload (80 x 137 = 10.96 Megabits) and no other usage for my connection!