mirror of https://github.com/asterisk/asterisk
improve IP TOS support for SIP and IAX2 (issue #6355, code from jcollie plus modifications)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15435 65c4cc65-6c06-0410-ace0-fbb531ad65f31.4
parent
ddaeaae214
commit
278b8e8fc7
@ -0,0 +1,63 @@
|
||||
IP Type of Service settings for VoIP channels
|
||||
---------------------------------------------
|
||||
|
||||
Asterisk can set the Type of Service (TOS) byte on outgoing IP packets
|
||||
for various protocols. The TOS byte is used by the network to provide
|
||||
some level of Quality of Service (QoS) even if the network is
|
||||
congested with other traffic. For more information on Quality of
|
||||
Service for VoIP networks see the "Enterprise QoS Solution Reference
|
||||
Network Design Guide" version 3.3 from Cisco at:
|
||||
|
||||
<http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration_09186a008049b062.pdf>
|
||||
|
||||
In sip.conf, there are three parameters that control the TOS settings:
|
||||
tos_sip, tos_audio, and tos_video. tos_sip controls what TOS SIP call
|
||||
signalling packets are set to. tos_audio controls what TOS RTP audio
|
||||
packets are set to. tos_video controls what TOS RTP video packets are
|
||||
set to. There is a "tos" parameter that is supported for backwards
|
||||
compatibility. The tos parameter should be avoided in sip.conf
|
||||
because it sets all three tos settings in sip.conf to the same value.
|
||||
|
||||
In iax.conf, there is a tos parameter that sets the global default TOS
|
||||
for IAX packets generated by chan_iax2. Since IAX connections combine
|
||||
signalling, audio, and video into one UDP stream, it is not possible
|
||||
to set the TOS separately for the different types of traffic.
|
||||
|
||||
In iaxprov.conf, there is a tos parameter that tells the IAXy what TOS
|
||||
to set on packets it generates. As with the parameter in iax.conf,
|
||||
IAX packets generated by an IAXy cannot have different TOS settings
|
||||
based upon the type of packet. However different IAXy devices can
|
||||
have different TOS settings.
|
||||
|
||||
The allowable values for any of the tos* parameters are:
|
||||
|
||||
be (best effort), cs1, af11, af12, af13, cs2, af21, af22, af23, cs3,
|
||||
af31, af32, af33, cs4, af41, af42, af42, ef (expedited forwarding),
|
||||
lowdelay, throughput, reliability, mincost, none
|
||||
|
||||
The tos* parameters also take numeric values.
|
||||
|
||||
The lowdelay, throughput, reliability, mincost, and none values are
|
||||
deprecated because they set the IP TOS using the outdated "IP
|
||||
prececence" model as defined in RFC 791 and RFC 1349.
|
||||
|
||||
===========================================
|
||||
Configuation Parameter Recommended
|
||||
File Setting
|
||||
-------------------------------------------
|
||||
sip.conf tos_sip cs3
|
||||
sip.conf tos_audio ef
|
||||
sip.conf tos_video af41
|
||||
-------------------------------------------
|
||||
iax.conf tos ef
|
||||
-------------------------------------------
|
||||
iaxprov.conf tos ef
|
||||
===========================================
|
||||
|
||||
To get the most out of setting the TOS on packets generated by
|
||||
Asterisk, you will need to ensure that your network handles packets
|
||||
with a TOS properly. For Cisco devices, see the previously mentioned
|
||||
"Enterprise QoS Solution Reference Network Design Guide". For Linux
|
||||
systems see the "Linux Advanced Routing & Traffic Control HOWTO" at
|
||||
<http://www.lartc.org/>.
|
||||
|
Loading…
Reference in new issue