This is an original planning guide. It is not a vendor manual, an official standard, or legal advice. Example addresses use documentation ranges. Review every command before you paste it.
Voice is a small, impatient application
A voice design names the codec, the number of simultaneous calls, the path those calls take, and the VLAN they live on. It does not require you to invent a new network. It requires the path to be boring: low loss, stable delay, and a VLAN that is not the guest network.
Phones usually sit on a voice VLAN with their own prefix, and a computer on the same jack stays on the user VLAN. That separation is a switching choice. The switching guide is the companion. If the phone and the PC share a subnet because the closet was rushed, you will debug voice with a packet capture of someone's browser. Do not start there.
Call control is a server or a service with addresses you can write down. Phones register to it. If registration fails, the phone never gets to the codec question. Check registration before you argue about bandwidth. A phone that cannot reach the control server is a route, a VLAN, or a firewall, and the voice quality numbers do not apply yet.
This page uses planning rates that include a rough overhead. Your vendor's sizing guide for the exact codec and packet interval wins when you are buying circuits. Use this page to see whether a branch circuit is even in the right order of magnitude. The tools linked here compare codecs from numbers you type. They do not connect to a PBX.
How many calls fit in an empty path
G.711 at about 87 kilobits per second including a typical packet overhead is a planning figure, not a measurement of your phone. a simple wide payload with little compression. It sounds fine and it spends the bandwidth. On an empty 100 megabit path that is about 1149 simultaneous calls before you reserve anything for data. On an empty 10 megabit branch it is about 114. Those counts assume the overhead in the figure and they assume no data traffic. A branch that also has users will have fewer calls than this. Reserve headroom. A call that fights a backup job will sound worse than the codec. The capacity guide is how you place the backup somewhere else. Quality is loss, delay, and jitter, not only the codec name. A perfect codec on a congested link still fails.
G.729 at about 32 kilobits per second including a typical packet overhead is a planning figure, not a measurement of your phone. a compressed payload. It spends less bandwidth and it costs more CPU, and it is a choice you licence and test, not a default you assume. On an empty 100 megabit path that is about 3125 simultaneous calls before you reserve anything for data. On an empty 10 megabit branch it is about 312. Those counts assume the overhead in the figure and they assume no data traffic. A branch that also has users will have fewer calls than this. Reserve headroom. A call that fights a backup job will sound worse than the codec. The capacity guide is how you place the backup somewhere else. Quality is loss, delay, and jitter, not only the codec name. A perfect codec on a congested link still fails.
a modern wideband codec at about 50 kilobits per second including a typical packet overhead is a planning figure, not a measurement of your phone. a stand-in figure for planning. Use the vendor's current number for the codec you actually deploy. This page is not a codec specification. On an empty 100 megabit path that is about 2000 simultaneous calls before you reserve anything for data. On an empty 10 megabit branch it is about 200. Those counts assume the overhead in the figure and they assume no data traffic. A branch that also has users will have fewer calls than this. Reserve headroom. A call that fights a backup job will sound worse than the codec. The capacity guide is how you place the backup somewhere else. Quality is loss, delay, and jitter, not only the codec name. A perfect codec on a congested link still fails.
The path a call actually takes
Two phones in the same site should not hairpin through a data centre unless you chose that. Hairpin adds delay and it puts the WAN in a conversation that never needed it. Write where media flows. A control server that stays in the path of the audio is a different design from one that sets the call up and steps aside. Know which you bought.
A branch call to the public network leaves through a trunk you named, with a capacity you counted. The trunk is a circuit with a call limit. When the limit is reached, the next call fails or overflows to a path you wrote down. An overflow to a person's mobile is a policy. An overflow to silence is also a policy. Choose it.
Jitter buffers hide variation until they cannot. A link that is full will defeat the buffer. QoS can protect a small voice VLAN from a large data transfer if you mark the voice and the network honours the mark end to end. A mark that stops at the first router that ignores it is decoration. Test with a full backup and a live call before you promise the floor that voice is protected.
Fax, door phones, and lift phones are voice devices that do not like clever compression. Give them a simple codec and a stable path. They are easy to forget because they are not on a desk. They are also the devices people notice during an incident.
Before you move a site onto the new voice VLAN
Count the busy-hour calls, not the number of handsets. A hundred handsets that place ten calls are a ten-call site. Size the trunk and the branch circuit for the busy hour plus the data you refused to move. Then place one phone, register it, place a call to the public network, and place a call to another site. Then start a large copy and repeat the call. If the call fails only during the copy, you have a capacity or a QoS fact, not a dial-plan fact.
Power the phone from the switch and count it in the PoE budget. A phone that reboots when a camera also boots is a power budget. The room and switching notes apply. A phone without power is not a codec problem.
Write the emergency-call path explicitly. This page is not legal advice and it is not a substitute for the local rule about locating emergency calls. If you do not know how an emergency call leaves the building and how the address is presented, stop and ask the people who own that duty before you migrate the trunks.
Rollback is the previous VLAN and the previous trunk, for one closet first. Do not move a building in one evening if you have not moved one closet on a quiet afternoon.
- Put phones on a voice VLAN with its own prefix.
- Count busy-hour calls, not handsets.
- Size the trunk and the branch from that count and from the codec figure you verified.
- Decide where media flows.
- Test a call, then test it again during a large copy.
- Confirm PoE.
- Confirm the emergency-call path with the people who own it.
- Move one closet before you move the building.
Mistakes that sound like a codec argument
Sizing from handsets instead of simultaneous calls.
Sharing the user VLAN with the phones.
A QoS mark nothing honours.
Hairpinning every call through a distant site by accident.
Forgetting lift and door phones.
Ignoring PoE until the phones reboot.
Migrating a building before one closet has passed.
Treating a planning kilobit figure as the vendor's sizing sheet.
Voice checks before a site migrates
Check 1 in Voice checks before a site migrates. The voice VLAN and prefix are not the user VLAN. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 2 in Voice checks before a site migrates. Busy-hour calls are counted. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 3 in Voice checks before a site migrates. The codec figure used for the count is the one the vendor actually deploys. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 4 in Voice checks before a site migrates. A test call survived a large file copy, or the copy was moved. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 5 in Voice checks before a site migrates. Media path is written down. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 6 in Voice checks before a site migrates. The trunk limit and the overflow are written down. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 7 in Voice checks before a site migrates. PoE headroom includes the phones. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 8 in Voice checks before a site migrates. Emergency calling was confirmed by its owners. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 9 in Voice checks before a site migrates. One closet was migrated first. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 10 in Voice checks before a site migrates. Rollback is the previous VLAN and trunk. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 11 in Voice checks before a site migrates. Door and lift phones are on the list. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 12 in Voice checks before a site migrates. QoS was tested, not only configured. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 13 in Voice checks before a site migrates. This page was not treated as legal advice about emergency calls. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 14 in Voice checks before a site migrates. Documentation prefixes in the notes were replaced before production. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 15 in Voice checks before a site migrates. The busy-hour count, not the handset count, is the number in the circuit order. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 16 in Voice checks before a site migrates. A call during a file copy was heard by a person, not only simulated. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 17 in Voice checks before a site migrates. The overflow path is a named trunk or a named policy, not silence by accident. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 18 in Voice checks before a site migrates. Registration was tested before codec arguments began. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 19 in Voice checks before a site migrates. The voice VLAN gateway is inside the voice prefix. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Tools for this guide
These tools run in the browser on this site. They do not log into your machines.
Related pillar guides
Guides in this cluster
These supporting pages belong to this pillar. A published page is linked. The others are named until they are published.
- Comparison: VoIP Codecs Compared
- Explainer: SIP Explained
- Troubleshooting: Troubleshooting VoIP Call Quality
- Explainer: GPON and FTTH Explained
- Explainer: ISP Network Design Basics
- Explainer: Legacy Circuits: T1, E1 and SONET
- Explainer: Phone Number Formats and Dial Plans
- Comparison: Satellite Internet for Business (LEO vs GEO)