mirror of https://github.com/asterisk/asterisk
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.7 KiB
119 lines
4.7 KiB
\subsubsection{Introduction}
|
|
|
|
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.
|
|
|
|
Also asterisk running on Linux can set 802.1p CoS marks in VLAN packets
|
|
for all used VoIP protocols. It is useful when you are working in switched
|
|
enviropment. For maping skb-$>$priority and VLAN CoS mark you need to use
|
|
command "vconfig set\_egress\_map [vlan-device] [skb-priority] [vlan-qos]".
|
|
|
|
\subsubsection{SIP}
|
|
|
|
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 are four parameters to control 802.1p CoS: "cos\_sip", "cos\_audio",
|
|
"cos\_video" and "cos\_text". It's behavior the same as writen above.
|
|
|
|
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.
|
|
|
|
\subsubsection{IAX2}
|
|
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.
|
|
|
|
\subsubsection{H.323}
|
|
Also support TOS and CoS.
|
|
|
|
\subsubsection{MGCP}
|
|
Also support TOS and CoS.
|
|
|
|
\subsubsection{IP TOS values}
|
|
|
|
The allowable values for any of the tos* parameters are:
|
|
CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13,
|
|
AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43 and
|
|
ef (expedited forwarding),
|
|
|
|
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
|
|
precedence" model as defined in RFC 791 and RFC 1349. They still
|
|
work in this version of Asterisk, but will be removed in future releases.
|
|
|
|
\subsubsection{802.1p CoS values}
|
|
|
|
As 802.1p uses 3 bites from VLAN header, there are parameter can take
|
|
integer values from 0 to 7.
|
|
|
|
|
|
\begin{verbatim}
|
|
+==============+============+==============+
|
|
|Configuration | Parameter | Recommended |
|
|
|File | Setting | |
|
|
+--------------+------------+--------------+
|
|
| | tos_sip | cs3 |
|
|
| | tos_audio | ef |
|
|
| | tos_video | af41 |
|
|
| sip.conf | tos_text | af41 |
|
|
| | cos_sip | 4 |
|
|
| | cos_audio | 6 |
|
|
| | cos_video | 5 |
|
|
| | cos_text | 0 |
|
|
+--------------+------------+--------------+
|
|
| iax.conf | tos | ef |
|
|
| | cos | 6 |
|
|
+--------------+------------+--------------+
|
|
| iaxprov.conf | tos | ef |
|
|
+--------------+------------+--------------+
|
|
| mgcp.conf | tos | ef |
|
|
| | cos | 6 |
|
|
+--------------+------------+--------------+
|
|
| h323.conf | tos | ef |
|
|
| | cos | 6 |
|
|
+==============+============+==============+
|
|
\end{verbatim}
|
|
|
|
\subsubsection{Reference}
|
|
|
|
IEEE 802.1Q Standard:
|
|
\url{http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf}
|
|
Related protocols: IEEE 802.3, 802.2, 802.1D, 802.1Q
|
|
|
|
RFC 2474 - "Definition of the Differentiated Services Field
|
|
(DS field) in the IPv4 and IPv6 Headers", Nichols, K., et al,
|
|
December 1998.
|
|
|
|
IANA Assignments, DSCP registry
|
|
Differentiated Services Field Codepoints
|
|
\url{http://www.iana.org/assignments/dscp-registry}
|
|
|
|
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
|
|
\url{http://www.lartc.org/}.
|
|
|
|
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:
|
|
\url{http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration\_09186a008049b062.pdf}
|
|
|