VOIP Calls Dropping Diagnostics

donaldctu

Member
Reaction score
16
Location
...
We have gone in a loop with a client regarding their VOIP phones dropping calls for months.

There are 3 parties involved; ISP, VOIP provider (RingCentral), and SonicWall. All of which are pushing the blame to the other parties.

The drops are not consistent and weeks can pass without a call being dropped. Sometimes they hear clicking, sometimes it's static, and eventually the call will drop. We have gone onsite multiple times and have yet to experience any issue while we're there.

What are some tools or suggestions you have for good troubleshooting methods for these type of problems?
 
Some information on the hardware involved on the client side would really be useful.
 
How is the Voice handed off? Does it have its own Circuit, or is it shared with the WAN circuit and/or Internet?

Is it on its own switches or its own VLAN?

What is the traffic utilization looking like on the network? How about each and every interface along the path from a troubled phone all the way to the hand-off of the provider? Any input/output errors or speed/duplex errors?

Are you presenting the traffic to the provider for them to be able to process it as VoIP settingth any layer-2 CoS priority bits set such as 5 on the Frames? Are the devices flagging the traffic with a layer-3 DSCP value such as EF?

Have you setup QoS to prioritize the VoIP traffic across your network bottlenecks? Are you using priority queuing?
 
If you have Cisco equipment, you can fix the problem in minutes almost instantly with a little QoS... Let's say the devices flag the packets with a DSCP value of EF....

Here is how I do it:

What you will want to do is define your WAN or Internet link first of all to the ACTUAL bandwidth such that higher-level protocols know the real speed of the link. The bandwidth command is an optional, but most of the time, recommend interface command. Despite the word, it is not there to limit the bandwidth and you cannot adjust the actual bandwidth of an interface using this command

That is done like this on the Interface:

bandwidth {kbps | inherit [kbps] | receive[kbps]}


Next set yourself up a class to match the traffic. You can do a match-any or match-all, and if necessary you can use an access list to match if you have say an IP subset that you want to import into a class. Think of Permit as True and Deny as false in an ACL for the actual logic. Matching straight off of DSCP since most devices set the DSCP flag...

class-map match-any VOICE
match ip dscp ef


From here you make a Policy-Map, which is an object that could be applied to an interface to take action on a group of classes. We will match our VOICE class, drop this traffic it into a priority queue which offers lower latency and we will reserve bandwidth based on a percentage (see the bandwidth command above to specify it)

policy-map WAN_QOS
class VOICE
priority percent 25

This is where it gets interesting, I usually build another Policy-Map where I shape the default class (where all unclassified traffic goes) and make it conform to the limitations of bandwidth to prevent the TCP saw-tooth where it transmits faster and faster until there is an error and the TCP window size slides to half and it gets faster and faster... and repeats. This creates a much more laminar flow. I then NEST the other policy map within the default class.


policy-map 20M_SHAPE
class class-default
shape average 20000000
service-policy WAN_QOS

Finally I apply it to my WAN interface that is outbound and set the direction.

interface GigabitEthernet0/1
service-policy output 20M_SHAPE
bandwidth 20000000





Oh, and if it doesn't use the 25% for VoIP, it is still available for data. It is merely guaranteeing on a 20M circuit that 5M will be made instantly available by slowing everything else down as much as to 15M to set aside 5M dedicated to VoIP.
 
I agree with NetWizz. If your client is not implementing QoS, their internet pipe could be getting utilized so heavily that the voice traffic is not able to traverse the network in a timely-enough manner. If voice traffic is being queued then call quality is going to be atrocious. Keep in mind that voice traffic is very sensitive to latency, jitter, and such.
 
My largest deployment at a particular site has 756 VoIP phones answering PING to their subnets this morning.
 
Forgive my ignorance as i'm only a little bit experienced with VOIP but if it were an issue with bandwidth priority wouldnt there be signs like delayed voice transmissions? Perhaps you should just poll (constant ping) their server (i mean from their computers to the voip service) and see if packets are being dropped or something.
 
Forgive my ignorance as i'm only a little bit experienced with VOIP but if it were an issue with bandwidth priority wouldnt there be signs like delayed voice transmissions? Perhaps you should just poll (constant ping) their server (i mean from their computers to the voip service) and see if packets are being dropped or something.

It would be out only a few milliseconds. Realistically you would have other symptoms such as cutting out and garbled voice similar to when a cellphone's signal goes bad.
 
It would be out only a few milliseconds. Realistically you would have other symptoms such as cutting out and garbled voice similar to when a cellphone's signal goes bad.

oh weird for me it just adds a long delay like 3-4 seconds.

Edit: oh i forgot that may just be when uplink is saturated.
 
Last edited:
Adding to this....
*How large is this client?
*How many network switches?
*What kind of switches?
*Condition of network cable?
*What kind of traffic on the LAN?
*Size of internet pipe?
*Type of internet pipe?

Answers to those question will bring up more questions...

..and with Sonicwalls...the following 3 settings are generally preferred by most phone vendors:
*Enable Consistent NAT: Disabled
*Enable SIP Transformation: Disabled
*Enable H.323 Transformations: Disabled

...usually a firewalls built in SIP helpers cause more problems than they try to fix so it's usually better to disable them.
 
Back
Top