improve IP TOS support for SIP and IAX2 (issue #6355, code from jcollie plus modifica...
[asterisk/asterisk.git] / doc / ip-tos.txt
1 IP Type of Service settings for VoIP channels
2 ---------------------------------------------
3
4 Asterisk can set the Type of Service (TOS) byte on outgoing IP packets
5 for various protocols.  The TOS byte is used by the network to provide
6 some level of Quality of Service (QoS) even if the network is
7 congested with other traffic.  For more information on Quality of
8 Service for VoIP networks see the "Enterprise QoS Solution Reference
9 Network Design Guide" version 3.3 from Cisco at:
10
11 <http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration_09186a008049b062.pdf>
12
13 In sip.conf, there are three parameters that control the TOS settings:
14 tos_sip, tos_audio, and tos_video.  tos_sip controls what TOS SIP call
15 signalling packets are set to.  tos_audio controls what TOS RTP audio
16 packets are set to.  tos_video controls what TOS RTP video packets are
17 set to.  There is a "tos" parameter that is supported for backwards
18 compatibility.  The tos parameter should be avoided in sip.conf
19 because it sets all three tos settings in sip.conf to the same value.
20
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
34 be (best effort), cs1, af11, af12, af13, cs2, af21, af22, af23, cs3,
35 af31, af32, af33, cs4, af41, af42, af42, ef (expedited forwarding),
36 lowdelay, throughput, reliability, mincost, none
37
38 The tos* parameters also take numeric values.
39
40 The lowdelay, throughput, reliability, mincost, and none values are
41 deprecated because they set the IP TOS using the outdated "IP
42 prececence" model as defined in RFC 791 and RFC 1349.
43
44 ===========================================
45 Configuation    Parameter       Recommended
46 File                            Setting
47 -------------------------------------------
48 sip.conf        tos_sip         cs3
49 sip.conf        tos_audio       ef
50 sip.conf        tos_video       af41
51 -------------------------------------------
52 iax.conf        tos             ef
53 -------------------------------------------
54 iaxprov.conf    tos             ef
55 ===========================================
56
57 To get the most out of setting the TOS on packets generated by
58 Asterisk, you will need to ensure that your network handles packets
59 with a TOS properly.  For Cisco devices, see the previously mentioned
60 "Enterprise QoS Solution Reference Network Design Guide".  For Linux
61 systems see the "Linux Advanced Routing & Traffic Control HOWTO" at
62 <http://www.lartc.org/>.
63