Voice port fine-tuning commands adjust timing, delay, impedance parameters, input gain, and output attenuation. Once these adjustments are made, you can fine-tune volume control, how the number pads are dialed, and how long a voice port will wait before hanging up a signal.
Concepts of Delay and Echo
The most challenging part of designing a VoIP network is the transmission of real-time traffic. Voice communication is sensitive to delays and echo. Speech patterns become awkward and indistinguishable if there is too much delay in the voice traffic. Minimize delay as much as you can to get the voice traffic as close to real time as possible. In today's voice trafficking, two different kinds of delay must be handled: fixed delay and variable delay. The various delay points are illustrated in Figure 1.
Echo is the reflection of voice traffic back to the source of that traffic. A certain amount of echo is acceptable and desirable because it assures the source that voice traffic has been generated and sent. Too much echo is disruptive because the speaker will not be able to discern between his voice and the echo.
Fixed delay is the amount of time the signal needs to transverse the medium, such as copper, fiber, or microwave. This time is fixed because the laws of physics dictate how fast the data signals will go on particular media. Acceptable levels for most users are below 150ms one-way per ITU G.114. Fixed delays are composed of CODEC delays, packetization delays, and serialization.
-
CODEC induced delay Compression/decompression of a voice packet from analog to digital format and vice versa. It ranges from 0.75ms to 30ms, depending on the CODEC used.
-
Packetization delay Time it takes the equipment to actually produce a data packet. Should be under 30ms.
-
Serialization Time it takes to clock a voice or data frame onto a network interface. Affected by the frame size and line speed.
Variable delays are synonymous with jitter and are caused by queuing variances during the transmission of a packet through the network. As the packets are transferred out of the queue, there can be a delay between voice packets that sounds like stuttering speech. QoS features can be used to alleviate the effects of jitter by prioritizing the voice traffic over other traffic. You can curb delay using several methods.
-
Queuing Time it takes for a packet to exit the output queue of the device that is routing the data. Measured from the time the data is generated into the input queue to when it is released by the output queue.
-
Network switching Delay across the public network such as a Frame Relay or ATM network.
-
De-jitter Voice traffic works best if there is a constant flow of packets. Jitter must be minimized to improve the quality of the conversation. De-jitter buffers are utilized on the receiving end to adjust the variable delays into a fixed delay.
The command that adjusts the Cisco de-jitter buffering is playout-delay. The playout-delay command was configured under the voice-port configuration mode before IOS release 12.1(5)T. Release 12.1(5)T and later implement the command under the dial-peer configuration mode. The following steps are used to configure playout delay:
-
Enter Privileged Exec mode:
router> enable
-
Enter Global Configuration mode:
router# configure terminal
-
Identify the port to configure on a 2600 and 3600 series router:
-
Determine the mode in which the jitter buffer will operate for calls on this voice port.
-
Adaptive Adjusts the jitter buffer size and amount of playout delay based on current network conditions. This is the default setting.
-
Fixed Defines the jitter buffer size as fixed so that the playout delay does not adjust. A constant playout delay is added.
router(config-voiceport)# playout-delay mode {adaptive| fixed]
-
-
Tune the playout buffer to accommodate packet jitter caused by switches in the WAN:
router(config-voiceport)# playout-delay {nominal value| maximum value
| minimum {default | low | high}}
Fine-Tuning FXS/FXO Ports
Special parameters can be adjusted to fine-tune the ports, minimizing issues of delay and echo. In most cases, the default parameters for FXO/FXS ports will be sufficient, but special values can be set for the following parameters:
-
Input gain
-
Output attenuation
-
Echo-cancel coverage
-
Nonlinear processing
-
Initial digit timeouts
-
Interdigit timeouts
-
Timing other than timeouts
To change any of these parameters, follow these steps:
-
Enter Privileged Exec mode:
router> enable
-
Enter Global Configuration mode:
router# configure terminal
-
Identify the port to configure:
router# (config)voice-port nm-module/vic-module/port-number
-
Specify the amount of receiver gain on the interface in decibels. Value can be (–6) to 14:
router(config-voiceport)# input gain value
-
Specify the amount of transmit attenuation on the interface in decibels. Value can be 0 to 14:
router(config-voiceport)# output attenuation value
-
Enable echo-cancellation for voice signals sent out of the interface and received back on the same interface. Excessive echo can cause disruption to normal conversation patterns.
router(config-voiceport)# echo-cancel enable
-
Adjust the size of the echo-cancel coverage time in milliseconds. Values are 16, 24, or 32:
router(config-voiceport)# echo-cancel coverage value
-
Enable "nonlinear" processing, which shuts off any signal if no speech is detected on the near end. This is used in conjunction with echo cancellation:
router(config-voiceport)# non-linear
-
Configure how long the system will wait for the first digit to be input by the user after an off-hook state is detected. This value can be anywhere between 0 and 120 seconds:
router(config-voiceport)# timeouts initial seconds
-
Configure how long the system will wait for subsequent digits after the initial digit is received. This value can be anywhere between 0 and 120 seconds:
router(config-voiceport)# timeouts interdigit seconds
-
Specify how long the digital signal lasts for DTMF digit signals. The range is from 50 to 100 milliseconds, with a default of 100 milliseconds:
router(config-voiceport)# timing digit milliseconds
-
Specify the delay between digit signals for DTMF digit signals. Range is from 50 to 100 milliseconds, the default being 100 milliseconds:
router(config-voiceport)# timing inter-digit milliseconds
-
Configure the length of pulse signal. This command is for FXO ports only using pulse signals. The range is 10 to 20 milliseconds and the default is 20 milliseconds:
router(config-voiceport)# timing pulse-digit milliseconds
-
Configure length of delay between digit signals. This command is for FXO ports only using pulse signals. The range is from 100 to 1000 milliseconds and the default is 500 milliseconds:
Fine-Tuning E&M Ports
E&M ports may require fine-tuning. The following steps are used to fine-tune E&M ports:
-
Enter Privileged Exec mode:
router> enable
-
Enter Global Configuration mode:
router# configure terminal
-
Identify the port to configure:
router# (config)voice-port nm-module/vic-module/port-number
-
Specify the amount of receiver gain on the interface in decibels. Value can be (–6) to 14:
router# (config-voiceport)input gain value
-
Specify the amount of transmit attenuation on the interface in decibels. Value can be 0 to 14:
router# (config-voiceport)output attenuation value
-
Enable echo-cancellation for voice signals sent out of the interface and received back on the same interface.
router# (config-voiceport)echo-cancel enable
-
Adjust the size of the echo-cancel coverage in milliseconds. Values are 16, 24, or 32:
router# (config-voiceport)echo-cancel coverage value
-
Enable nonlinear processing, which shuts off any signal if no speech is detected on the near end. This is used in conjunction with echo cancellation:
router# (config-voiceport)non-linear
-
Configure how long the system will wait for the first digit to be input by the user after an off-hook state is detected. This value can be anywhere between 0 and 120 seconds:
router# (config-voiceport)timeouts initial seconds
-
Configure how long the system will wait for subsequent digits after the initial digit is received. This value can be anywhere between 0 and 120 seconds:
router# (config-voiceport)timeouts interdigit seconds
-
Specify how long the digit signal will last for DTMF digit signals. The range is from 50 to 100 milliseconds:
router# (config-voiceport)timing digit milliseconds
-
Specify the delay between digit signals for DTMF digit signals. The range is from 50 to 500 milliseconds:
router#(config-voiceport)timing inter-digit milliseconds
-
Specify the pulse-dialing rate. This is used for pulse dialing only. The range is from 10 to 20 pulses per second:
router# (config-voiceport)timing pulse pulse-per-second
-
Configure the delay between digit signals. This is used for pulse dialing only. The range is from 100 to 1000 milliseconds:
router# (config-voiceport)timing pulse-inter-digit milliseconds
-
Configure the delay signal time for delay dial signaling. The range is from 100 to 5000 milliseconds:
router#(config-voiceport)timing delay-duration milliseconds
-
Configure the minimum time for outgoing seizure to out-dial address. The range is from 20 to 2000 milliseconds:
router# (config-voiceport)timing delay-duration milliseconds
-
Specify the time between generations of "wink-like" pulses. The range is from 0 to 5000 milliseconds:
router# (config-voiceport)timing delay-pulse min-delay milliseconds
-
Specify the minimum amount of time between the off-hook signal and the call being completely cleared. The range is from 200 to 2000 milliseconds:
router# (config-voiceport)timing clear-wait milliseconds
-
Specify the delay signal time for delay dial signaling. The range is from 100 to 5000 milliseconds:
router(config-voiceport)timing delay-duration milliseconds
-
Configure the maximum wink-wait duration. The range is from 100 to 400 milliseconds:
router(config-voiceport)# timing wink-duration milliseconds
-
Configure the maximum wink-wait duration for wink-start signal. The range is from 100 to 5000 milliseconds:
router(config-voiceport)# timing wink-wait milliseconds
Some added features always need to be adjusted for the DID ports. Contrary to the default settings of the FXO/FXS ports, in most cases DID ports require fine-tuning adjustments. Follow these steps to fine-tune DID ports:
-
Enter Privileged Exec mode:
router> enable
-
Enter Global Configuration mode:
router# configure terminal
-
Identify the port to configure:
router(config)# voice-port nm-module/vic-module/port-number
-
This command sets the maximum time to wait for wink signaling after an outgoing seizure is sent. This is optional for wink-start ports only:
router(config-voiceport)# timing wait-wink milliseconds
-
This command sets the maximum time to wait before sending wink signals after an incoming seizure is detected. This is optional for wink-start ports only:
router(config-voiceport)# timing wink-wait milliseconds
-
This command sets the duration of a wink-start signal. This is optional for wink-start ports only:
router(config-voiceport)# timing wink-duration milliseconds
-
This command sets the duration of the delay signal. This is optional for delay dial ports only:
router(config-voiceport)# timing delay-duration milliseconds
-
This command sets the delay interval after an incoming seizure is detected. This is optional for delay dial ports only:
router(config-voiceport)# timing delay-start milliseconds