Merged revisions 58937 via svnmerge from
[asterisk/asterisk.git] / doc / ip-tos.tex
1 \subsubsection{Introduction}
2
3 Asterisk can set the Type of Service (TOS) byte on outgoing IP packets
4 for various protocols.  The TOS byte is used by the network to provide
5 some level of Quality of Service (QoS) even if the network is
6 congested with other traffic. 
7
8 \subsubsection{SIP}
9
10 In sip.conf, there are three parameters that control the TOS settings:
11 "tos\_sip", "tos\_audio", and "tos\_video".  tos\_sip controls what TOS SIP call
12 signalling packets are set to.  tos\_audio controls what TOS RTP audio
13 packets are set to.  tos\_video controls what TOS RTP video packets are
14 set to.  
15
16 There is a "tos" parameter that is supported for backwards
17 compatibility.  The tos parameter should be avoided in sip.conf
18 because it sets all three tos settings in sip.conf to the same value.
19
20 \subsubsection{IAX2}
21 In iax.conf, there is a "tos" parameter that sets the global default TOS
22 for IAX packets generated by chan\_iax2.  Since IAX connections combine
23 signalling, audio, and video into one UDP stream, it is not possible
24 to set the TOS separately for the different types of traffic.
25
26 In iaxprov.conf, there is a "tos" parameter that tells the IAXy what TOS
27 to set on packets it generates.  As with the parameter in iax.conf,
28 IAX packets generated by an IAXy cannot have different TOS settings
29 based upon the type of packet.  However different IAXy devices can
30 have different TOS settings.
31
32 The allowable values for any of the tos* parameters are:
33 CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13,
34 AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43 and
35 ef (expedited forwarding),
36
37 The tos* parameters also take numeric values.
38
39 The lowdelay, throughput, reliability, mincost, and none values are
40 deprecated because they set the IP TOS using the outdated "IP
41 precedence" model as defined in RFC 791 and RFC 1349. They still
42 work in this version of Asterisk, but will be removed in future releases.
43
44 \begin{verbatim}
45 ===========================================
46 Configuration   Parameter       Recommended
47 File                            Setting
48 -------------------------------------------
49 sip.conf        tos\_sip        cs3
50 sip.conf        tos\_audio      ef
51 sip.conf        tos\_video      af41
52 -------------------------------------------
53 iax.conf        tos             ef
54 -------------------------------------------
55 iaxprov.conf    tos             ef
56 ===========================================
57 \end{verbatim}
58
59 \subsubsection{Reference}
60
61 RFC 2474 - "Definition of the Differentiated Services Field
62 (DS field) in the IPv4 and IPv6 Headers", Nichols, K., et al,
63 December 1998.
64
65 IANA Assignments, DSCP registry
66 Differentiated Services Field Codepoints
67 http://www.iana.org/assignments/dscp-registry
68
69 To get the most out of setting the TOS on packets generated by
70 Asterisk, you will need to ensure that your network handles packets
71 with a TOS properly.  For Cisco devices, see the previously mentioned
72 "Enterprise QoS Solution Reference Network Design Guide".  For Linux
73 systems see the "Linux Advanced Routing \& Traffic Control HOWTO" at
74 <http://www.lartc.org/>.
75
76 For more information on Quality of
77 Service for VoIP networks see the "Enterprise QoS Solution Reference
78 Network Design Guide" version 3.3 from Cisco at:
79
80 <http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration\_09186a008049b062.pdf>
81