summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4733.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc4733.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc4733.txt')
-rw-r--r--doc/rfc/rfc4733.txt2747
1 files changed, 2747 insertions, 0 deletions
diff --git a/doc/rfc/rfc4733.txt b/doc/rfc/rfc4733.txt
new file mode 100644
index 0000000..5b2fd3f
--- /dev/null
+++ b/doc/rfc/rfc4733.txt
@@ -0,0 +1,2747 @@
+
+
+
+
+
+
+Network Working Group H. Schulzrinne
+Request for Comments: 4733 Columbia U.
+Obsoletes: 2833 T. Taylor
+Category: Standards Track Nortel
+ December 2006
+
+
+ RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals
+
+Status of This Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The IETF Trust (2006).
+
+Abstract
+
+ This memo describes how to carry dual-tone multifrequency (DTMF)
+ signalling, other tone signals, and telephony events in RTP packets.
+ It obsoletes RFC 2833.
+
+ This memo captures and expands upon the basic framework defined in
+ RFC 2833, but retains only the most basic event codes. It sets up an
+ IANA registry to which other event code assignments may be added.
+ Companion documents add event codes to this registry relating to
+ modem, fax, text telephony, and channel-associated signalling events.
+ The remainder of the event codes defined in RFC 2833 are
+ conditionally reserved in case other documents revive their use.
+
+ This document provides a number of clarifications to the original
+ document. However, it specifically differs from RFC 2833 by removing
+ the requirement that all compliant implementations support the DTMF
+ events. Instead, compliant implementations taking part in
+ out-of-band negotiations of media stream content indicate what events
+ they support. This memo adds three new procedures to the RFC 2833
+ framework: subdivision of long events into segments, reporting of
+ multiple events in a single packet, and the concept and reporting of
+ state events.
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 1]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+Table of Contents
+
+ 1. Introduction ....................................................4
+ 1.1. Terminology ................................................4
+ 1.2. Overview ...................................................4
+ 1.3. Potential Applications .....................................5
+ 1.4. Events, States, Tone Patterns, and Voice-Encoded Tones .....6
+ 2. RTP Payload Format for Named Telephone Events ...................8
+ 2.1. Introduction ...............................................8
+ 2.2. Use of RTP Header Fields ...................................8
+ 2.2.1. Timestamp ...........................................8
+ 2.2.2. Marker Bit ..........................................8
+ 2.3. Payload Format .............................................8
+ 2.3.1. Event Field .........................................9
+ 2.3.2. E ("End") Bit .......................................9
+ 2.3.3. R Bit ...............................................9
+ 2.3.4. Volume Field ........................................9
+ 2.3.5. Duration Field ......................................9
+ 2.4. Optional Media Type Parameters ............................10
+ 2.4.1. Relationship to SDP ................................10
+ 2.5. Procedures ................................................11
+ 2.5.1. Sending Procedures .................................11
+ 2.5.2. Receiving Procedures ...............................16
+ 2.6. Congestion and Performance ................................19
+ 2.6.1. Performance Requirements ...........................20
+ 2.6.2. Reliability Mechanisms .............................20
+ 2.6.3. Adjusting to Congestion ............................22
+ 3. Specification of Event Codes for DTMF Events ...................23
+ 3.1. DTMF Applications .........................................23
+ 3.2. DTMF Events ...............................................25
+ 3.3. Congestion Considerations .................................25
+ 4. RTP Payload Format for Telephony Tones .........................26
+ 4.1. Introduction ..............................................26
+ 4.2. Examples of Common Telephone Tone Signals .................27
+ 4.3. Use of RTP Header Fields ..................................27
+ 4.3.1. Timestamp ..........................................27
+ 4.3.2. Marker Bit .........................................27
+ 4.3.3. Payload Format .....................................28
+ 4.3.4. Optional Media Type Parameters .....................29
+ 4.4. Procedures ................................................29
+ 4.4.1. Sending Procedures .................................29
+ 4.4.2. Receiving Procedures ...............................30
+ 4.4.3. Handling of Congestion .............................30
+ 5. Examples .......................................................31
+ 6. Security Considerations ........................................38
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 2]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ 7. IANA Considerations ............................................38
+ 7.1. Media Type Registrations ..................................40
+ 7.1.1. Registration of Media Type audio/telephone-event ...40
+ 7.1.2. Registration of Media Type audio/tone ..............42
+ 8. Acknowledgements ...............................................43
+ 9. References .....................................................43
+ 9.1. Normative References ......................................43
+ 9.2. Informative References ....................................44
+ Appendix A. Summary of Changes from RFC 2833 ......................46
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 3]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+1. Introduction
+
+1.1. Terminology
+
+ In this document, the key words "MUST", "MUST NOT", "REQUIRED",
+ "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
+ and "OPTIONAL" are to be interpreted as described in RFC 2119 [1].
+
+ This document uses the following abbreviations:
+
+ ANSam Answer tone (amplitude modulated) [24]
+
+ DTMF Dual-Tone Multifrequency [10]
+
+ IVR Interactive Voice Response unit
+
+ PBX Private branch exchange (telephone system)
+
+ PSTN Public Switched (circuit) Telephone Network
+
+ RTP Real-time Transport Protocol [5]
+
+ SDP Session Description Protocol [9]
+
+1.2. Overview
+
+ This memo defines two RTP [5] payload formats, one for carrying
+ dual-tone multifrequency (DTMF) digits and other line and trunk
+ signals as events (Section 2), and a second one to describe general
+ multifrequency tones in terms only of their frequency and cadence
+ (Section 4). Separate RTP payload formats for telephony tone signals
+ are desirable since low-rate voice codecs cannot be guaranteed to
+ reproduce these tone signals accurately enough for automatic
+ recognition. In addition, tone properties such as the phase
+ reversals in the ANSam tone will not survive speech coding. Defining
+ separate payload formats also permits higher redundancy while
+ maintaining a low bit rate. Finally, some telephony events such as
+ "on-hook" occur out-of-band and cannot be transmitted as tones.
+
+ The remainder of this section provides the motivation for defining
+ the payload types described in this document. Section 2 defines the
+ payload format and associated procedures for use of named events.
+ Section 3 describes the events for which event codes are defined in
+ this document. Section 4 describes the payload format and associated
+ procedures for tone representations. Section 5 provides some
+ examples of encoded events, tones, and combined payloads. Section 6
+ deals with security considerations. Section 7 defines the IANA
+ requirements for registration of event codes for named telephone
+
+
+
+Schulzrinne & Taylor Standards Track [Page 4]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ events, establishes the initial content of that registry, and
+ provides the media type registrations for the two payload formats.
+ Appendix A describes the changes from RFC 2833 [12] and in particular
+ indicates the disposition of the event codes defined in [12].
+
+1.3. Potential Applications
+
+ The payload formats described here may be useful in a number of
+ different scenarios.
+
+ On the sending side, there are two basic possibilities: either the
+ sending side is an end system that originates the signals itself, or
+ it is a gateway with the task of propagating incoming telephone
+ signals into the Internet.
+
+ On the receiving side, there are more possibilities. The first is
+ that the receiver must propagate tone signalling accurately into the
+ PSTN for machine consumption. One example of this is a gateway
+ passing DTMF tones to an IVR. In this scenario, frequencies,
+ amplitudes, tone durations, and the durations of pauses between tones
+ are all significant, and individual tone signals must be delivered
+ reliably and in order.
+
+ In a second receiving scenario, the receiver must play out tones for
+ human consumption. Typically, rather than a series of tone signals
+ each with its own meaning, the content will consist of a single tone
+ played out continuously or a single sequence of tones and possibly
+ silence, repeated cyclically for some period of time. Often the end
+ of the tone playout will be triggered by an event fed back in the
+ other direction, using either in- or out-of-band means. Examples of
+ this are dial tone or busy tone.
+
+ The relationship between position in the network and the tones to be
+ played out is a complicating factor in this scenario. In the phone
+ network, tones are generated at different places, depending on the
+ switching technology and the nature of the tone. This determines,
+ for example, whether a person making a call to a foreign country
+ hears her local tones she is familiar with or the tones as used in
+ the country called.
+
+ For analog lines, dial tone is always generated by the local switch.
+ Integrated Services Digital Network (ISDN) terminals may generate
+ dial tone locally and then send a Q.931 [22] SETUP message containing
+ the dialed digits. If the terminal just sends a SETUP message
+ without any Called Party digits, then the switch does digit
+ collection (provided by the terminal as KEYPAD key press digit
+ information within Called Party or Keypad Facility Information
+ Elements (IEs) of INFORMATION messages), and provides dial tone over
+
+
+
+Schulzrinne & Taylor Standards Track [Page 5]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ the B-channel. The terminal can either use the audio signal on the
+ B-channel or use the Q.931 messages to trigger locally generated dial
+ tone.
+
+ Ringing tone (also called ringback tone) is generated by the local
+ switch at the callee, with a one-way voice path opened up as soon as
+ the callee's phone rings. (This reduces the chance of clipping the
+ called party's response just after answer. It also permits pre-
+ answer announcements or in-band call-progress indications to reach
+ the caller before or in lieu of a ringing tone.) Congestion tone and
+ special information tones can be generated by any of the switches
+ along the way, and may be generated by the caller's switch based on
+ ISDN User Part (ISUP) messages received. Busy tone is generated by
+ the caller's switch, triggered by the appropriate ISUP message, for
+ analog instruments, or the ISDN terminal.
+
+ In the third scenario, an end system is directly connected to the
+ Internet and processes the incoming media stream directly. There is
+ no need to regenerate tone signals, so that time alignment and power
+ levels are not relevant. These systems rely on sending systems to
+ generate events in place of tones and do not perform their own audio
+ waveform analysis. An example of such a system is an Internet
+ interactive voice response (IVR) system.
+
+ In circumstances where exact timing alignment between the audio
+ stream and the DTMF digits or other events is not important and data
+ is sent unicast, as in the IVR example, it may be preferable to use a
+ reliable control protocol rather than RTP packets. In those
+ circumstances, this payload format would not be used.
+
+ Note that in a number of these cases it is possible that the gateway
+ or end system will be both a sender and receiver of telephone
+ signals. Sometimes the same class of signals will be sent as
+ received -- in the case of "RTP trunking" or voice-band data, for
+ instance. In other cases, such as that of an end system serving
+ analogue lines, the signals sent will be in a different class from
+ those received.
+
+1.4. Events, States, Tone Patterns, and Voice-Encoded Tones
+
+ This document provides the means for in-band transport over the
+ Internet of two broad classes of signalling information: in-band
+ tones or tone sequences, and signals sent out-of-band in the PSTN.
+ Tone signals can be carried using any of the three methods listed
+ below. Depending on the application, it may be desirable to carry
+ the signalling information in more than one form at once.
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 6]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ 1. The gateway or end system can change to a higher-bandwidth codec
+ such as G.711 [19] when tone signals are to be conveyed. See new
+ ITU-T Recommendation V.152 [26] for a formal treatment of this
+ approach. Alternatively, for fax, text, or modem signals
+ respectively, a specialized transport such as T.38 [23], RFC 4103
+ [15], or V.150.1 modem relay [25] may be used. Finally, 64
+ kbit/s channels may be carried transparently using the RFC 4040
+ Clearmode payload type [14]. These methods are out of scope of
+ the present document, but may be used along with the payload
+ types defined here.
+
+ 2. The sending gateway can simply measure the frequency components
+ of the voice-band signals and transmit this information to the
+ RTP receiver using the tone representation defined in this
+ document (Section 4). In this mode, the gateway makes no attempt
+ to discern the meaning of the tones, but simply distinguishes
+ tones from speech signals. An end system may use the same
+ approach using configured rather than measured frequencies.
+
+ All tone signals in use in the PSTN and meant for human
+ consumption are sequences of simple combinations of sine waves,
+ either added or modulated. (However, some modem signals such as
+ the ANSam tone [24] or systems dependent on phase shift keying
+ cannot be conveyed so simply.)
+
+ 3. As a third option, a sending gateway can recognize tones such as
+ ringing or busy tone or DTMF digit '0', and transmit a code that
+ identifies them using the telephone-event payload defined in this
+ document (Section 2). The receiver then produces a tone signal
+ or other indication appropriate to the signal. Generally, since
+ the recognition of signals at the sender often depends on their
+ on/off pattern or the sequence of several tones, this recognition
+ can take several seconds. On the other hand, the gateway may
+ have access to the actual signalling information that generates
+ the tones and thus can generate the RTP packet immediately,
+ without the detour through acoustic signals.
+
+ The third option (use of named events) is the only feasible method
+ for transmitting out-of-band PSTN signals as content within RTP
+ sessions.
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 7]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+2. RTP Payload Format for Named Telephone Events
+
+2.1. Introduction
+
+ The RTP payload format for named telephone events is designated as
+ "telephone-event", the media type as "audio/telephone-event". In
+ accordance with current practice, this payload format does not have a
+ static payload type number, but uses an RTP payload type number
+ established dynamically and out-of-band. The default clock frequency
+ is 8000 Hz, but the clock frequency can be redefined when assigning
+ the dynamic payload type.
+
+ Named telephone events are carried as part of the audio stream and
+ MUST use the same sequence number and timestamp base as the regular
+ audio channel to simplify the generation of audio waveforms at a
+ gateway. The named telephone-event payload type can be considered to
+ be a very highly-compressed audio codec and is treated the same as
+ other codecs.
+
+2.2. Use of RTP Header Fields
+
+2.2.1. Timestamp
+
+ The event duration described in Section 2.5 begins at the time given
+ by the RTP timestamp. For events that span multiple RTP packets, the
+ RTP timestamp identifies the beginning of the event, i.e., several
+ RTP packets may carry the same timestamp. For long-lasting events
+ that have to be split into segments (see below, Section 2.5.1.3), the
+ timestamp indicates the beginning of the segment.
+
+2.2.2. Marker Bit
+
+ The RTP marker bit indicates the beginning of a new event. For long-
+ lasting events that have to be split into segments (see below,
+ Section 2.5.1.3), only the first segment will have the marker bit
+ set.
+
+2.3. Payload Format
+
+ The payload format for named telephone events is shown in Figure 1.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | event |E|R| volume | duration |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 1: Payload Format for Named Events
+
+
+
+Schulzrinne & Taylor Standards Track [Page 8]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+2.3.1. Event Field
+
+ The event field is a number between 0 and 255 identifying a specific
+ telephony event. An IANA registry of event codes for this field has
+ been established (see IANA Considerations, Section 7). The initial
+ content of this registry consists of the events defined in Section 3.
+
+2.3.2. E ("End") Bit
+
+ If set to a value of one, the "end" bit indicates that this packet
+ contains the end of the event. For long-lasting events that have to
+ be split into segments (see below, Section 2.5.1.3), only the final
+ packet for the final segment will have the E bit set.
+
+2.3.3. R Bit
+
+ This field is reserved for future use. The sender MUST set it to
+ zero, and the receiver MUST ignore it.
+
+2.3.4. Volume Field
+
+ For DTMF digits and other events representable as tones, this field
+ describes the power level of the tone, expressed in dBm0 after
+ dropping the sign. Power levels range from 0 to -63 dBm0. Thus,
+ larger values denote lower volume. This value is defined only for
+ events for which the documentation indicates that volume is
+ applicable. For other events, the sender MUST set volume to zero and
+ the receiver MUST ignore the value.
+
+2.3.5. Duration Field
+
+ The duration field indicates the duration of the event or segment
+ being reported, in timestamp units, expressed as an unsigned integer
+ in network byte order. For a non-zero value, the event or segment
+ began at the instant identified by the RTP timestamp and has so far
+ lasted as long as indicated by this parameter. The event may or may
+ not have ended. If the event duration exceeds the maximum
+ representable by the duration field, the event is split into several
+ contiguous segments as described below (Section 2.5.1.3).
+
+ The special duration value of zero is reserved to indicate that the
+ event lasts "forever", i.e., is a state and is considered to be
+ effective until updated. A sender MUST NOT transmit a zero duration
+ for events other than those defined as states. The receiver SHOULD
+ ignore an event report with zero duration if the event is not a
+ state.
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 9]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ Events defined as states MAY contain a non-zero duration, indicating
+ that the sender intends to refresh the state before the time duration
+ has elapsed ("soft state").
+
+ For a sampling rate of 8000 Hz, the duration field is sufficient
+ to express event durations of up to approximately 8 seconds.
+
+2.4. Optional Media Type Parameters
+
+ As indicated in the media type registration for named events in
+ Section 7.1.1, the telephone-event media type supports two optional
+ parameters: the "events" parameter and the "rate" parameter.
+
+ The "events" parameter lists the events supported by the
+ implementation. Events are listed as one or more comma-separated
+ elements. Each element can be either a single integer providing the
+ value of an event code or an integer followed by a hyphen and a
+ larger integer, presenting a range of consecutive event code values.
+ The list does not have to be sorted. No white space is allowed in
+ the argument. The union of all of the individual event codes and
+ event code ranges designates the complete set of event numbers
+ supported by the implementation.
+
+ The "rate" parameter describes the sampling rate, in Hertz, and hence
+ the units for the RTP timestamp and event duration fields. The
+ number is written as an integer. If omitted, the default value is
+ 8000 Hz.
+
+2.4.1. Relationship to SDP
+
+ The recommended mapping of media type optional parameters to SDP is
+ given in Section 3 of RFC 3555 [6]. The "rate" media type parameter
+ for the named event payload type follows this convention: it is
+ expressed as usual as the <clock rate> component of the a=rtpmap:
+ attribute line.
+
+ The "events" media type parameter deviates from the convention
+ suggested in RFC 3555 because it omits the string "events=" before
+ the list of supported events.
+
+ a=fmtp:<format> <list of values>
+
+ The list of values has the format and meaning described above.
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 10]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ For example, if the payload format uses the payload type number 100,
+ and the implementation can handle the DTMF tones (events 0 through
+ 15) and the dial and ringing tones (assuming as an example that these
+ were defined as events with codes 66 and 70, respectively), it would
+ include the following description in its SDP message:
+
+ m=audio 12346 RTP/AVP 100
+ a=rtpmap:100 telephone-event/8000
+ a=fmtp:100 0-15,66,70
+
+ The following sample media type definition corresponds to the SDP
+ example above:
+
+ audio/telephone-event;events="0-15,66,70";rate="8000"
+
+2.5. Procedures
+
+ This section defines the procedures associated with the named event
+ payload type. Additional procedures may be specified in the
+ documentation associated with specific event codes.
+
+2.5.1. Sending Procedures
+
+2.5.1.1. Negotiation of Payloads
+
+ Events are usually sent in combination with or alternating with other
+ payload types. Payload negotiation may specify separate event and
+ other payload streams, or it may specify a combined stream that mixes
+ other payload types with events using RFC 2198 [2] redundancy
+ headers. The purpose of using a combined stream may be for debugging
+ or to ease the transition between general audio and events.
+
+ Negotiation of payloads between sender and receiver is achieved by
+ out-of-band means, using SDP, for example.
+
+ The sender SHOULD indicate what events it supports, using the
+ optional "events" parameter associated with the telephone-event media
+ type. If the sender receives an "events" parameter from the
+ receiver, it MUST restrict the set of events it sends to those listed
+ in the received "events" parameter. For backward compatibility, if
+ no "events" parameter is received, the sender SHOULD assume support
+ for the DTMF events 0-15 but for no other events.
+
+ Events MAY be sent in combination with older events using RFC 2198
+ [2] redundancy. Section 2.5.1.4 describes how this can be used to
+ avoid packet and RTP header overheads when retransmitting final event
+ reports. Section 2.6 discusses the use of additional levels of RFC
+ 2198 redundancy to increase the probability that at least one copy of
+
+
+
+Schulzrinne & Taylor Standards Track [Page 11]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ the report of the end of an event reaches the receiver. The
+ following SDP shows an example of such usage, where G.711 audio
+ appears in a separate stream, and the primary component of the
+ redundant payload is events.
+
+ m=audio 12344 RTP/AVP 99
+ a=rtpmap:99 pcmu/8000
+ m=audio 12346 RTP/AVP 100 101
+ a=rtpmap:100 red/8000/1
+ a=fmtp:100 101/101/101
+ a=rtpmap:101 telephone-event/8000
+ a=fmtp:101 0-15
+
+ When used in accordance with the offer-answer model (RFC 3264 [4]),
+ the SDP a=ptime: attribute indicates the packetization period that
+ the author of the session description expects when receiving media.
+ This value does not have to be the same in both directions. The
+ appropriate period may vary with the application, since increased
+ packetization periods imply increased end-to-end response times in
+ instances where one end responds to events reported from the other.
+
+ Negotiation of telephone-events sessions using SDP MAY specify such
+ differences by separating events corresponding to different
+ applications into different streams. In the example below, events
+ 0-15 are DTMF events, which have a fairly wide tolerance on timing.
+ Events 32-49 and 52-60 are events related to data transmission and
+ are subject to end-to-end response time considerations. As a result,
+ they are assigned a smaller packetization period than the DTMF
+ events.
+
+ m=audio 12344 RTP/AVP 99
+ a=rtpmap:99 telephone-event/8000
+ a=fmtp:99 0-15
+ a=ptime:50
+ m=audio 12346 RTP/AVP 100
+ a=rtpmap:100 telephone-event/8000
+ a=fmtp:100 32-49,52-60
+ a=ptime:30
+
+ For further discussion of packetization periods see Section 2.6.3.
+
+2.5.1.2. Transmission of Event Packets
+
+ DTMF digits and other named telephone events are carried as part of
+ the audio stream, and they MUST use the same sequence number and
+ timestamp base as the regular audio channel to simplify the
+ generation of audio waveforms at a gateway.
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 12]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ An audio source SHOULD start transmitting event packets as soon as it
+ recognizes an event and continue to send updates until the event has
+ ended. The update packets MUST have the same RTP timestamp value as
+ the initial packet for the event, but the duration MUST be increased
+ to reflect the total cumulative duration since the beginning of the
+ event.
+
+ The first packet for an event MUST have the M bit set. The final
+ packet for an event MUST have the E bit set, but setting of the "E"
+ bit MAY be deferred until the final packet is retransmitted (see
+ Section 2.5.1.4). Intermediate packets for an event MUST NOT have
+ either the M bit or the E bit set.
+
+ Sending of a packet with the E bit set is OPTIONAL if the packet
+ reports two events that are defined as mutually exclusive states, or
+ if the final packet for one state is immediately followed by a packet
+ reporting a mutually exclusive state. (For events defined as states,
+ the appearance of a mutually exclusive state implies the end of the
+ previous state.)
+
+ A source has wide latitude as to how often it sends event updates. A
+ natural interval is the spacing between non-event audio packets.
+ (Recall that a single RTP packet can contain multiple audio frames
+ for frame-based codecs and that the packet interval can vary during a
+ session.) Alternatively, a source MAY decide to use a different
+ spacing for event updates, with a value of 50 ms RECOMMENDED.
+
+ Timing information is contained in the RTP timestamp, allowing
+ precise recovery of inter-event times. Thus, the sender does not in
+ theory need to maintain precise or consistent time intervals between
+ event packets. However, the sender SHOULD minimize the need for
+ buffering at the receiving end by sending event reports at constant
+ intervals.
+
+ DTMF digits and other tone events are sent incrementally to avoid
+ having the receiver wait for the completion of the event. In some
+ cases (for example, data session startup protocols), waiting until
+ the end of a tone before reporting it will cause the session to
+ fail. In other cases, it will simply cause undesirable delays in
+ playout at the receiving end.
+
+ For robustness, the sender SHOULD retransmit "state" events
+ periodically.
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 13]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+2.5.1.3. Long-Duration Events
+
+ If an event persists beyond the maximum duration expressible in the
+ duration field (0xFFFF), the sender MUST send a packet reporting this
+ maximum duration but MUST NOT set the E bit in this packet. The
+ sender MUST then begin reporting a new "segment" with the RTP
+ timestamp set to the time at which the previous segment ended and the
+ duration set to the cumulative duration of the new segment. The M
+ bit of the first packet reporting the new segment MUST NOT be set.
+ The sender MUST repeat this procedure as required until the end of
+ the complete event has been reached. The final packet for the
+ complete event MUST have the E bit set (either on initial
+ transmission or on retransmission as described below).
+
+2.5.1.3.1. Exceptional Procedure for Combined Payloads
+
+ If events are combined as a redundant payload with another payload
+ type using RFC 2198 [2] redundancy, the above procedure SHALL be
+ applied, but using a maximum duration that ensures that the timestamp
+ offset of the oldest generation of events in an RFC 2198 packet never
+ exceeds 0x3FFF. If the sender is using a constant packetization
+ period, the maximum segment duration can be calculated from the
+ following formula:
+
+ maximum duration = 0x3FFF - (R-1)*(packetization period in
+ timestamp units)
+
+ where R is the highest redundant layer number consisting of event
+ payload.
+
+ The RFC 2198 redundancy header timestamp offset value is only 14
+ bits, compared with the 16 bits in the event payload duration
+ field. Since with other payloads the RTP timestamp typically
+ increments for each new sample, the timestamp offset value becomes
+ limiting on reported event duration. The limit becomes more
+ constraining when older generations of events are also included in
+ the combined payload.
+
+2.5.1.4. Retransmission of Final Packet
+
+ The final packet for each event and for each segment SHOULD be sent a
+ total of three times at the interval used by the source for updates.
+ This ensures that the duration of the event or segment can be
+ recognized correctly even if an instance of the last packet is lost.
+
+ A sender MAY use RFC 2198 [2] with up to two levels of redundancy to
+ combine retransmissions with reports of new events, thus saving on
+ header overheads. In this usage, the primary payload is new event
+
+
+
+Schulzrinne & Taylor Standards Track [Page 14]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ reports, while the first and (if necessary) second levels of
+ redundancy report first and second retransmissions of final event
+ reports. Within a session negotiated to allow such usage, packets
+ containing the RFC 2198 payload SHOULD NOT be sent except when both
+ primary and retransmitted reports are to be included. All other
+ packets of the session SHOULD contain only the simple, non-redundant
+ telephone-event payload. Note that the expected proportion of simple
+ versus redundant packets affects the order in which they should be
+ specified on an SDP m= line.
+
+ There is little point in sending initial or interim event reports
+ redundantly because each succeeding packet describes the event
+ fully (except for typically irrelevant variations in volume).
+
+ A sender MAY delay setting the E bit until retransmitting the last
+ packet for a tone, rather than setting the bit on its first
+ transmission. This avoids having to wait to detect whether the tone
+ has indeed ended. Once the sender has set the E bit for a packet, it
+ MUST continue to set the E bit for any further retransmissions of
+ that packet.
+
+2.5.1.5. Packing Multiple Events into One Packet
+
+ Multiple named events can be packed into a single RTP packet if and
+ only if the events are consecutive and contiguous, i.e., occur
+ without overlap and without pause between them, and if the last event
+ packed into a packet occurs quickly enough to avoid excessive delays
+ at the receiver.
+
+ This approach is similar to having multiple frames of frame-based
+ audio in one RTP packet.
+
+ The constraint that packed events not overlap implies that events
+ designated as states can be followed in a packet only by other state
+ events that are mutually exclusive to them. The constraint itself is
+ needed so that the beginning time of each event can be calculated at
+ the receiver.
+
+ In a packet containing events packed in this way, the RTP timestamp
+ MUST identify the beginning of the first event or segment in the
+ packet. The M bit MUST be set if the packet records the beginning of
+ at least one event. (This will be true except when the packet
+ carries the end of one segment and the beginning of the next segment
+ of the same long-lasting event.) The E bit and duration for each
+ event in the packet MUST be set using the same rules as if that event
+ were the only event contained in the packet.
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 15]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+2.5.1.6. RTP Sequence Number
+
+ The RTP sequence number MUST be incremented by one in each successive
+ RTP packet sent. Incrementing applies to retransmitted as well as
+ initial instances of event reports, to permit the receiver to detect
+ lost packets for RTP Control Protocol (RTCP) receiver reports.
+
+2.5.2. Receiving Procedures
+
+2.5.2.1. Indication of Receiver Capabilities Using SDP
+
+ Receivers can indicate which named events they can handle, for
+ example, by using the Session Description Protocol (RFC 4566 [9]).
+ SDP descriptions using the event payload MUST contain an fmtp format
+ attribute that lists the event values that the receiver can process.
+
+2.5.2.2. Playout of Tone Events
+
+ In the gateway scenario, an Internet telephony gateway connecting a
+ packet voice network to the PSTN re-creates the DTMF or other tones
+ and injects them into the PSTN. Since, for example, DTMF digit
+ recognition takes several tens of milliseconds, the first few
+ milliseconds of a digit will arrive as regular audio packets. Thus,
+ careful time and power (volume) alignment between the audio samples
+ and the events is needed to avoid generating spurious digits at the
+ receiver. The receiver may also choose to delay playout of the tones
+ by some small interval after playout of the preceding audio has
+ ended, to ensure that downstream equipment can discriminate the tones
+ properly.
+
+ Some implementations send events and encoded audio packets (e.g.,
+ PCMU or the codec used for speech signals) for the same time instant
+ for the duration of the event. It is RECOMMENDED that gateways
+ render only the telephone-event payload once it is received, since
+ the audio may contain spurious tones introduced by the audio
+ compression algorithm. However, it is anticipated that these extra
+ tones in general should not interfere with recognition at the far
+ end.
+
+ Receiver implementations MAY use different algorithms to create
+ tones, including the two described here. (Note that not all
+ implementations have the need to re-create a tone; some may only care
+ about recognizing the events.) With either algorithm, a receiver may
+ impose a playout delay to provide robustness against packet loss or
+ delay. The tradeoff between playout delay and other factors is
+ discussed further in Section 2.6.3.
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 16]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ In the first algorithm, the receiver simply places a tone of the
+ given duration in the audio playout buffer at the location indicated
+ by the timestamp. As additional packets are received that extend the
+ same tone, the waveform in the playout buffer is extended
+ accordingly. (Care has to be taken if audio is mixed, i.e., summed,
+ in the playout buffer rather than simply copied.) Thus, if a packet
+ in a tone lasting longer than the packet interarrival time gets lost
+ and the playout delay is short, a gap in the tone may occur.
+
+ Alternatively, the receiver can start a tone and play it until one of
+ the following occurs:
+
+ o it receives a packet with the E bit set;
+
+ o it receives the next tone, distinguished by a different timestamp
+ value (noting that new segments of long-duration events also
+ appear with a new timestamp value);
+
+ o it receives an alternative non-event media stream (assuming none
+ was being received while the event stream was active); or
+
+ o a given time period elapses.
+
+ This is more robust against packet loss, but may extend the tone
+ beyond its original duration if all retransmissions of the last
+ packet in an event are lost. Limiting the time period of extending
+ the tone is necessary to avoid that a tone "gets stuck". This
+ algorithm is not a license for senders to set the duration field to
+ zero; it MUST be set to the current duration as described, since this
+ is needed to create accurate events if the first event packet is
+ lost, among other reasons.
+
+ Regardless of the algorithm used, the tone SHOULD NOT be extended by
+ more than three packet interarrival times. A slight extension of
+ tone durations and shortening of pauses is generally harmless.
+
+ A receiver SHOULD NOT restart a tone once playout has stopped. It
+ MAY do so if the tone is of a type meant for human consumption or is
+ one for which interruptions will not cause confusion at the receiving
+ device.
+
+ If a receiver receives an event packet for an event that it is not
+ currently playing out and the packet does not have the M bit set,
+ earlier packets for that event have evidently been lost. This can be
+ confirmed by gaps in the RTP sequence number. The receiver MAY
+ determine on the basis of retained history and the timestamp and
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 17]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ event code of the current packet that it corresponds to an event
+ already played out and lapsed. In that case, further reports for the
+ event MUST be ignored, as indicated in the previous paragraph.
+
+ If, on the other hand, the event has not been played out at all, the
+ receiver MAY attempt to play the event out to the complete duration
+ indicated in the event report. The appropriate behavior will depend
+ on the event type, and requires consideration of the relationship of
+ the event to audio media flows and whether correct event duration is
+ essential to the correct operation of the media session.
+
+ A receiver SHOULD NOT rely on a particular event packet spacing, but
+ instead MUST use the event timestamps and durations to determine
+ timing and duration of playout.
+
+ The receiver MUST calculate jitter for RTCP receiver reports based on
+ all packets with a given timestamp. Note: The jitter value should
+ primarily be used as a means for comparing the reception quality
+ between two users or two time periods, not as an absolute measure.
+
+ If a zero volume is indicated for an event for which the volume field
+ is defined, then the receiver MAY reconstruct the volume from the
+ volume of non-event audio or MAY use the nominal value specified by
+ the ITU Recommendation or other document defining the tone. This
+ ensures backwards compatibility with RFC 2833 [12], where the volume
+ field was defined only for DTMF events.
+
+2.5.2.3. Long-Duration Events
+
+ If an event report is received with duration equal to the maximum
+ duration expressible in the duration field (0xFFFF) and the E bit for
+ the report is not set, the event report may mark the end of a segment
+ generated according to the procedures of Section 2.5.1.3. If another
+ report for the same event type is received, the receiver MUST compare
+ the RTP timestamp for the new event with the sum of the RTP timestamp
+ of the previous report plus the duration (0xFFFF). The receiver uses
+ the absence of a gap between the events to detect that it is
+ receiving a single long-duration event.
+
+ The total duration of a long-duration event is (obviously) the sum of
+ the durations of the segments used to report it. This is equal to
+ the duration of the final segment (as indicated in the final packet
+ for that segment), plus 0xFFFF multiplied by the number of segments
+ preceding the final segment.
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 18]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+2.5.2.3.1. Exceptional Procedure for Combined Payloads
+
+ If events are combined as a redundant payload with another payload
+ type using RFC 2198 [2] redundancy, segments are generated at
+ intervals of 0x3FFF or less, rather than 0xFFFF, as required by the
+ procedures of Section 2.5.1.3.1 in this case. If a receiver is using
+ the events component of the payload, event duration may be only an
+ approximate indicator of division into segments, but the lack of an E
+ bit and the adjacency of two reports with the same event code are
+ strong indicators in themselves.
+
+2.5.2.4. Multiple Events in a Packet
+
+ The procedures of Section 2.5.1.5 require that if multiple events are
+ reported in the same packet, they are contiguous and non-overlapping.
+ As a result, it is not strictly necessary for the receiver to know
+ the start times of the events following the first one in order to
+ play them out -- it needs only to respect the duration reported for
+ each event. Nevertheless, if knowledge of the start time for a given
+ event after the first one is required, it is equal to the sum of the
+ start time of the preceding event plus the duration of the preceding
+ event.
+
+2.5.2.5. Soft States
+
+ If the duration of a soft state event expires, the receiver SHOULD
+ consider the value of the state to be "unknown" unless otherwise
+ indicated in the event documentation.
+
+2.6. Congestion and Performance
+
+ Packet transmission through the Internet is marked by occasional
+ periods of congestion lasting on the order of second, during which
+ network delay, jitter, and packet loss are all much higher than they
+ are in between these periods. Reference [28] characterizes this
+ phenomenon. Well-behaved applications are expected, preferably, to
+ reduce their demands on the network during such periods of
+ congestion. At the least, they should not increase their demands.
+ This section explores both application performance and the
+ possibilities for good behavior in the face of congestion.
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 19]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+2.6.1. Performance Requirements
+
+ Typically, an implementation of the telephone-event payload will aim
+ to limit the rate at which each of the following impairments occurs:
+
+ a. an event encoded at the sender fails to be played out at the
+ receiver, either because the event report is lost or because it
+ arrives after playout of later content has started;
+
+ b. the start of playout of an event at the receiver is delayed
+ relative to other events or other media operating on the same
+ timestamp base;
+
+ c. the duration of playout of a given event differs from the correct
+ duration as detected at the sender by more than a given amount;
+
+ d. gaps occur in playout of a given event;
+
+ e. end-to-end delay for the media stream exceeds a given value.
+
+ The relative importance of these constraints varies between
+ applications.
+
+2.6.2. Reliability Mechanisms
+
+ To improve reliability, all payload types including telephone-events
+ can use a jitter buffer, i.e., impose a playout delay, at the
+ receiving end. This mechanism addresses the first four requirements
+ listed above, but at the expense of the last one.
+
+ The named event procedures provide two complementary redundancy
+ mechanisms to deal with lost packets:
+
+ a. Intra-event updates:
+
+ Events that last longer than one packetization period (e.g., 50
+ ms) are updated periodically, so that the receiver can
+ reconstruct the event and its duration if it receives any of the
+ update packets, albeit with delay.
+
+ During an event, the RTP event payload format provides
+ incremental updates on the event. The error resiliency afforded
+ by this mechanism depends on whether the first or second
+ algorithm in Section 2.5.2.2 is used and on the playout delay at
+ the receiver. For example, if the receiver uses the first
+ algorithm and only places the current duration of tone signal in
+ the playout buffer, for a playout delay of 120 ms and a
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 20]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ packetization interval of 50 ms, two packets in a row can get
+ lost without causing a premature end of the tone generated.
+
+ b. Repeat last event packet:
+
+ As described in Section 2.5.1.4, the last report for an event is
+ transmitted a total of three times. This mechanism adds
+ robustness to the reporting of the end of an event.
+
+ It may be necessary to extend the level of redundancy to achieve
+ requirement a) (in Section 2.6.1) in a specific network
+ environment. Taking the 25-30% loss rate during congestion
+ periods illustrated in [28] as typical, and setting an objective
+ that at least 99% of end-of-event reports will eventually get
+ through to the receiver under these conditions, simple
+ probability calculations indicate that each event completion has
+ to be reported four times. This is one more level of redundancy
+ than required by the basic "Repeat last event packet" algorithm.
+ Of course, the objective is probably unrealistically stringent;
+ it was chosen to make a point.
+
+ Where Section 2.5.1.4 indicates that it is appropriate to use the
+ RFC 2198 [2] audio redundancy mechanism to carry retransmissions
+ of final event reports, this mechanism MAY also be used to extend
+ the number of final report retransmissions. This is done by
+ using more than two levels of redundancy when necessary. The use
+ of RFC 2198 helps to mitigate the extra bandwidth demands that
+ would be imposed simply by retransmitting final event packets
+ more than three times.
+
+ These two redundancy mechanisms clearly address requirement a) in the
+ previous section. They also help meet requirement c), to the extent
+ that the redundant packets arrive before playout of the events they
+ report is due to expire. They are not helpful in meeting the other
+ requirements, although they do not directly cause impairments
+ themselves in the way that a large jitter buffer increases end-to-end
+ delay.
+
+ The playout algorithm is an additional mechanism for meeting the
+ performance requirements. In particular, using the second algorithm
+ in Section 2.5.2.2 will meet requirement d) of the previous section
+ by preventing gaps in playout, but at the potential cost of increases
+ in duration (requirement c)).
+
+ Finally, there is an interaction between the packetization period
+ used by a sender, the playout delay used by the receiver, and the
+ vulnerability of an event flow to packet losses. Assuming packet
+ losses are independent, a shorter packetization interval means that
+
+
+
+Schulzrinne & Taylor Standards Track [Page 21]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ the receiver can use a smaller playout delay to recover from a given
+ number of consecutive packet losses, at any stage of event playout.
+ This improves end-to-end delays in applications where that matters.
+
+ In view of the tradeoffs between the different reliability
+ mechanisms, documentation of specific events SHOULD include a
+ discussion of the appropriate design decisions for the applications
+ of those events. This mandate is repeated in the section on IANA
+ considerations.
+
+2.6.3. Adjusting to Congestion
+
+ So far, the discussion has been about meeting performance
+ requirements. However, there is also the question of whether
+ applications of events can adapt to congestion to the point that they
+ reduce their demands on the networks during congestion. In theory
+ this can be done for events by increasing the packetization interval,
+ so that fewer packets are sent per second. This has to be
+ accompanied by an increased playout delay at the receiving end.
+ Coordination between the two ends for this purpose is an interesting
+ issue in itself. If it is done, however, such an action implies a
+ one-time gap or extended playout of an event when the packetization
+ interval is first extended, as well as increased end-to-end delay
+ during the whole period of increased playout delay.
+
+ The benefit from such a measure varies primarily depending on the
+ average duration of the events being handled. In the worst case, as
+ a first example shows, the reduction in aggregate bandwidth usage due
+ to an increased packetization interval may be quite modest. Suppose
+ the average event duration is 3.33 ms (V.21 bits, for instance).
+ Suppose further that four transmissions in total are required for a
+ given event report to meet the loss objective. Table 1 shows the
+ impact of varying packetization intervals on the aggregate bit rate
+ of the media stream.
+
+ +--------------------+-----------+---------------+------------------+
+ | Packetization | Packets/s | IP Packet | Total IP Bit |
+ | Interval (ms) | | Size (bits) | Rate (bits/s) |
+ +--------------------+-----------+---------------+------------------+
+ | 50 | 20 | 2440 | 48800 |
+ | 33.3 | 30 | 1800 | 54000 |
+ | 25 | 40 | 1480 | 59200 |
+ | 20 | 50 | 1288 | 64400 |
+ +--------------------+-----------+---------------+------------------+
+
+ Table 1: Data Rate at the IP Level versus Packetization Interval
+ (three retransmissions, 3.33 ms per event)
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 22]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ As can be seen, a doubling of the interval (from 25 to 50 ms) drops
+ aggregate bit rate by about 20% while increasing end-to-end delay by
+ 25 ms and causing a one-time gap of the same amount. (Extending the
+ playout of a specific V.21 tone event is out of the question, so the
+ first algorithm of Section 2.5.2.2 must be used in this application.)
+ The reduction in number of packets per second with longer
+ packetization periods is countered by the increase in packet size due
+ to the increase in number of events per packet.
+
+ For events of longer duration, the reduction in bandwidth is more
+ proportional to the increase in packetization interval. The loss of
+ final event reports may also be less critical, so that lower
+ redundancy levels are acceptable. Table 2 shows similar data to
+ Table 1, but assuming 70-ms events separated by 50 ms of silence (as
+ in an idealized DTMF-based text messaging session) with only the
+ basic two retransmissions for event completions.
+
+ +--------------------+-----------+---------------+------------------+
+ | Packetization | Packets/s | IP Packet | Total IP Bit |
+ | Interval (ms) | | Size (bits) | Rate (bits/s) |
+ +--------------------+-----------+---------------+------------------+
+ | 50 | 20 | 448/520 | 10040 |
+ | 33.3 | 30 | 448/520 | 14280 |
+ | 25 | 40 | 448/520 | 18520 |
+ | 20 | 50 | 448 | 22400 |
+ +--------------------+-----------+---------------+------------------+
+
+ Table 2: Data Rate at the IP Level versus Packetization Interval
+ (two retransmissions, 70 ms per event, 50 ms between events)
+
+ In the third column of the table, the packet size is 448 bits when
+ only one event is being reported and 520 bits when the previous event
+ is also included. No more than one level of redundancy is needed up
+ to a packetization interval of 50 ms, although at that point most
+ packets are reporting two events. Longer intervals require a second
+ level of redundancy in at least some packets.
+
+3. Specification of Event Codes for DTMF Events
+
+ This document defines one class of named events: DTMF tones.
+
+3.1. DTMF Applications
+
+ DTMF signalling [10] is typically generated by a telephone set or
+ possibly by a PBX (Private branch telephone exchange). DTMF digits
+ may be consumed by entities such as gateways or application servers
+ in the IP network, or by entities such as telephone switches or IVRs
+ in the circuit switched network.
+
+
+
+Schulzrinne & Taylor Standards Track [Page 23]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ The DTMF events support two possible applications at the sending end:
+
+ 1. The Internet telephony gateway detects DTMF on the incoming
+ circuits and sends the RTP payload described here instead of
+ regular audio packets. The gateway likely has the necessary
+ digital signal processors and algorithms, as it often needs to
+ detect DTMF, e.g., for two-stage dialing. Having the gateway
+ detect tones relieves the receiving Internet end system from
+ having to do this work and also avoids having low bit-rate codecs
+ like G.723.1 [20] render DTMF tones unintelligible.
+
+ 2. An Internet end system such as an "Internet phone" can emulate
+ DTMF functionality without concerning itself with generating
+ precise tone pairs and without imposing the burden of tone
+ recognition on the receiver.
+
+ A similar distinction occurs at the receiving end.
+
+ 1. In the gateway scenario, an Internet telephony gateway connecting
+ a packet voice network to the PSTN re-creates the DTMF tones or
+ other telephony events and injects them into the PSTN.
+
+ 2. In the end system scenario, the DTMF events are consumed by the
+ receiving entity itself.
+
+ In the most common application, DTMF tones are sent in one direction
+ only, typically from the calling end. The consuming device is most
+ commonly an IVR. DTMF may alternate with voice from either end. In
+ most cases, the only constraint on tone duration is that it exceed a
+ minimum value. However, in some cases a long-duration tone (in
+ excess of 1-2 seconds) has special significance.
+
+ ITU-T Recommendation Q.24 [11], Table A-1, indicates that the
+ legacy switching equipment in the countries surveyed expects a
+ minimum recognizable signal duration of 40 ms, a minimum pause
+ between signals of 40 ms, and a maximum signalling rate of 8 to 10
+ digits per second depending on the country. Human-generated DTMF
+ signals, of course, are generally longer with larger pauses
+ between them.
+
+ DTMF tones may also be used for text telephony. This application is
+ documented in ITU-T Recommendation V.18 [27] Annex B. In this case,
+ DTMF is sent alternately from either end (half-duplex mode), with a
+ minimum 300-ms turn-around time. The only constraints on tone
+ durations in this application are that they and the pauses between
+ them must exceed specified minimum values. It is RECOMMENDED that a
+ gateway at the sending end be capable of detecting DTMF signals as
+ specified by V.18 Annex B (tones and pauses >=40 ms), but should send
+
+
+
+Schulzrinne & Taylor Standards Track [Page 24]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ event durations corresponding to those of a V.18 DTMF sender (tones
+ >=70 ms, pauses >=50 ms). This may occasionally imply some degree of
+ buffering of outgoing events, but if the source terminal conforms to
+ V.18 Annex B, this should not get out of hand.
+
+ Since minor increases in tone duration are harmless for all
+ applications of DTMF, but unintended breaks in playout of a DTMF
+ digit can confuse the receiving endpoint by creating the appearance
+ of extra digits, receiving applications that are converting DTMF
+ events back to tones SHOULD use the second playout algorithm rather
+ than the first one in Section 2.5.2.2. This provides some robustness
+ against packet loss or congestion.
+
+3.2. DTMF Events
+
+ Table 3 shows the DTMF-related event codes within the telephone-event
+ payload format. The DTMF digits 0-9 and * and # are commonly
+ supported. DTMF digits A through D are less frequently encountered,
+ typically in special applications such as military networks.
+
+ +-------+--------+------+---------+
+ | Event | Code | Type | Volume? |
+ +-------+--------+------+---------+
+ | 0--9 | 0--9 | tone | yes |
+ | * | 10 | tone | yes |
+ | # | 11 | tone | yes |
+ | A--D | 12--15 | tone | yes |
+ +-------+--------+------+---------+
+
+ Table 3: DTMF Named Events
+
+3.3. Congestion Considerations
+
+ The key considerations for the delivery of DTMF events are
+ reliability and avoidance of unintended breaks within the playout of
+ a given tone. End-to-end round-trip delay is not a major
+ consideration except in the special case where DTMF tones are being
+ used for text telephony. Assuming that, as recommended in
+ Section 3.1 above, the second playout algorithm of Section 2.5.2.2 is
+ in use, a temporary increase in packetization interval to as much as
+ 100 ms or double the normal interval, whichever is less, should be
+ harmless.
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 25]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+4. RTP Payload Format for Telephony Tones
+
+4.1. Introduction
+
+ As an alternative to describing tones and events by name, as
+ described in Section 2, it is sometimes preferable to describe them
+ by their waveform properties. In particular, recognition is faster
+ than for naming signals since it does not depend on recognizing
+ durations or pauses.
+
+ There is no single international standard for telephone tones such as
+ dial tone, ringing (ringback), busy, congestion ("fast-busy"),
+ special announcement tones, or some of the other special tones, such
+ as payphone recognition, call waiting or record tone. However, ITU-T
+ Recommendation E.180 [18] notes that across all countries, these
+ tones share a number of characteristics:
+
+ o Telephony tones consist of either a single tone, the addition of
+ two or three tones or the modulation of two tones. (Almost all
+ tones use two frequencies; only the Hungarian "special dial tone"
+ has three.) Tones that are mixed have the same amplitude and do
+ not decay.
+
+ o In-band tones for telephony events are in the range of 25 Hz
+ (ringing tone in Angola) to 2600 Hz (the tone used for line
+ signalling in SS No. 5 and R1). The in-band telephone frequency
+ range is limited to 3400 Hz. R2 defines a 3825 Hz out-of-band
+ tone for line signalling on analogue trunks. (The piano has a
+ range from 27.5 to 4186 Hz.)
+
+ o Modulation frequencies range between 15 (ANSam tone) to 480 Hz
+ (Jamaica). Non-integer frequencies are used only for frequencies
+ of 16 2/3 and 33 1/3 Hz.
+
+ o Tones that are not continuous have durations of less than four
+ seconds.
+
+ o ITU Recommendation E.180 [18] notes that different telephone
+ companies require a tone accuracy of between 0.5 and 1.5%. The
+ Recommendation suggests a frequency tolerance of 1%.
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 26]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+4.2. Examples of Common Telephone Tone Signals
+
+ As an aid to the implementor, Table 4 summarizes some common tones.
+ The rows labeled "ITU ..." refer to ITU-T Recommendation E.180 [18].
+ In these rows, the on and off durations are suggested ranges within
+ which local standards would set specific values. The symbol "+" in
+ the table indicates addition of the tones, without modulation, while
+ "*" indicates amplitude modulation.
+
+ +-------------------------+-------------------+----------+----------+
+ | Tone Name | Frequency | On Time | Off Time |
+ | | | (s) | (s) |
+ +-------------------------+-------------------+----------+----------+
+ | CNG | 1100 | 0.5 | 3.0 |
+ | V.25 CT | 1300 | 0.5 | 2.0 |
+ | CED | 2100 | 3.3 | -- |
+ | ANS | 2100 | 3.3 | -- |
+ | ANSam | 2100*15 | 3.3 | -- |
+ | V.21 bit | 980 or 1180 or | 0.00333 | -- |
+ | | 1650 or 1850 | | |
+ | ------------- | ---------- | -------- | -------- |
+ | ITU dial tone | 425 | -- | -- |
+ | U.S. dial tone | 350+440 | -- | -- |
+ | ITU ringing tone | 425 | 0.67-1.5 | 3-5 |
+ | U.S. ringing tone | 440+480 | 2.0 | 4.0 |
+ | ITU busy tone | 425 | 0.1-0.6 | 0.1-0.7 |
+ | U.S. busy tone | 480+620 | 0.5 | 0.5 |
+ | ITU congestion tone | 425 | 0.1-0.6 | 0.1-0.7 |
+ | U.S. congestion tone | 480+620 | 0.25 | 0.25 |
+ +-------------------------+-------------------+----------+----------+
+
+ Table 4: Examples of Telephony Tones
+
+4.3. Use of RTP Header Fields
+
+4.3.1. Timestamp
+
+ The RTP timestamp reflects the measurement point for the current
+ packet. The event duration described in Section 4.3.3 begins at that
+ time.
+
+4.3.2. Marker Bit
+
+ The tone payload type uses the marker bit to distinguish the first
+ RTP packet reporting a given instance of a tone from succeeding
+ packets for that tone. The marker bit SHOULD be set to 1 for the
+ first packet, and to 0 for all succeeding packets relating to the
+ same tone.
+
+
+
+Schulzrinne & Taylor Standards Track [Page 27]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+4.3.3. Payload Format
+
+ Based on the characteristics described above, this document defines
+ an RTP payload format called "tone" that can represent tones
+ consisting of one or more frequencies. (The corresponding media type
+ is "audio/tone".) The default timestamp rate is 8000 Hz, but other
+ rates may be defined. Note that the timestamp rate does not affect
+ the interpretation of the frequency, just the durations.
+
+ In accordance with current practice, this payload format does not
+ have a static payload type number, but uses an RTP payload type
+ number established dynamically and out-of-band.
+
+ The payload format is shown in Figure 2.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | modulation |T| volume | duration |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R R R R| frequency |R R R R| frequency |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R R R R| frequency |R R R R| frequency |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ ......
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R R R R| frequency |R R R R| frequency |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 2: Payload Format for Tones
+
+ The payload contains the following fields:
+
+ modulation:
+ The modulation frequency, in Hz. The field is a 9-bit unsigned
+ integer, allowing modulation frequencies up to 511 Hz. If there
+ is no modulation, this field has a value of zero. Note that the
+ amplitude of modulation is not indicated in the payload and must
+ be determined by out-of-band means.
+
+ T:
+ If the T bit is set (one), the modulation frequency is to be
+ divided by three. Otherwise, the modulation frequency is taken as
+ is.
+
+ This bit allows frequencies accurate to 1/3 Hz, since modulation
+ frequencies such as 16 2/3 Hz are in practical use.
+
+
+
+Schulzrinne & Taylor Standards Track [Page 28]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ volume:
+ The power level of the tone, expressed in dBm0 after dropping the
+ sign, with range from 0 to -63 dBm0. (Note: A preferred level
+ range for digital tone generators is -8 dBm0 to -3 dBm0.)
+
+ duration:
+ The duration of the tone, measured in timestamp units and
+ presented in network byte order. The tone begins at the instant
+ identified by the RTP timestamp and lasts for the duration value.
+ The value of zero is not permitted, and tones with such a duration
+ SHOULD be ignored.
+
+ The definition of duration corresponds to that for sample-based
+ codecs, where the timestamp represents the sampling point for the
+ first sample.
+
+ frequency:
+ The frequencies of the tones to be added, measured in Hz and
+ represented as a 12-bit unsigned integer. The field size is
+ sufficient to represent frequencies up to 4095 Hz, which exceeds
+ the range of telephone systems. A value of zero indicates
+ silence. A single tone can contain any number of frequencies. If
+ no frequencies are specified, the packet reports a period of
+ silence.
+
+ R:
+ This field is reserved for future use. The sender MUST set it to
+ zero, and the receiver MUST ignore it.
+
+4.3.4. Optional Media Type Parameters
+
+ The "rate" parameter describes the sampling rate, in Hertz. The
+ number is written as an integer. If omitted, the default value is
+ 8000 Hz.
+
+4.4. Procedures
+
+ This section defines the procedures associated with the tone payload
+ type.
+
+4.4.1. Sending Procedures
+
+ The sender MAY send an initial tones packet as soon as a tone is
+ recognized, or MAY wait until a pre-negotiated packetization period
+ has elapsed. The first RTP packet for a tone SHOULD have the marker
+ bit set to 1.
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 29]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ In the case of longer-duration tones, the sender SHOULD generate
+ multiple RTP packets for the same tone instance. The RTP timestamp
+ MUST be updated for each packet generated (in contrast, for instance,
+ to the timestamp for packets carrying telephone events). Subsequent
+ packets for the same tone SHOULD have the marker bit set to 0, and
+ the RTP timestamp in each subsequent packet MUST equal the sum of the
+ timestamp and the duration in the preceding packet.
+
+ A final RTP packet MAY be generated as soon as the end of the tone is
+ detected, without waiting for the latest packetization period to
+ elapse.
+
+ The telephone-event payload described in Section 2 is inherently
+ redundant, in that later packets for the same event carry all of the
+ earlier history of the event except for variations in volume. In
+ contrast, each packet for the tone payload type stands alone; a lost
+ packet means a gap in the information available at the receiving end.
+ Thus, for increased reliability, the sender SHOULD combine new and
+ old tone reports in the same RTP packet using RFC 2198 [2] audio
+ redundancy.
+
+4.4.2. Receiving Procedures
+
+ Receiving implementations play out the tones as received, typically
+ with a playout delay to allow for lost packets. When playing out
+ successive tone reports for the same tone (marker bit is zero, the
+ RTP timestamp is contiguous with that of the previous RTP packet, and
+ payload content is identical), the receiving implementation SHOULD
+ continue the tone without change or a break.
+
+4.4.3. Handling of Congestion
+
+ If the sender determines that packets are being lost due to
+ congestion (e.g., through RTCP receiver reports), it SHOULD increase
+ the packetization interval for initial and interim tone reports so as
+ to reduce traffic volume to the receiver. The degree to which this
+ is possible without causing damaging consequences at the receiving
+ end depends both upon the playout delay used at that end and upon the
+ specific application associated with the tones. Both the maximum
+ packetization interval and maximum increase in packetization interval
+ at any one time are therefore a matter of configuration or out-of-
+ band negotiation.
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 30]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+5. Examples
+
+ Consider a DTMF dialling sequence, where the user dials the digits
+ "911" and a sending gateway detects them. The first digit is 200 ms
+ long (1600 timestamp units) and starts at time 0; the second digit
+ lasts 250 ms (2000 timestamp units) and starts at time 880 ms (7040
+ timestamp units); the third digit is pressed at time 1.4 s (11,200
+ timestamp units) and lasts 220 ms (1760 timestamp units). The frame
+ duration is 50 ms.
+
+ Table 5 shows the complete sequence of events assuming that only the
+ telephone-event payload type is being reported. For simplicity: the
+ timestamp is assumed to begin at 0, the RTP sequence number at 1, and
+ volume settings are omitted.
+
+ +-------+-----------+------+--------+------+--------+--------+------+
+ | Time | Event | M | Time- | Seq | Event | Dura- | E |
+ | (ms) | | bit | stamp | No | Code | tion | bit |
+ +-------+-----------+------+--------+------+--------+--------+------+
+ | 0 | "9" | | | | | | |
+ | | starts | | | | | | |
+ | 50 | RTP | "1" | 0 | 1 | 9 | 400 | "0" |
+ | | packet 1 | | | | | | |
+ | | sent | | | | | | |
+ | 100 | RTP | "0" | 0 | 2 | 9 | 800 | "0" |
+ | | packet 2 | | | | | | |
+ | | sent | | | | | | |
+ | 150 | RTP | "0" | 0 | 3 | 9 | 1200 | "0" |
+ | | packet 3 | | | | | | |
+ | | sent | | | | | | |
+ | 200 | RTP | "0" | 0 | 4 | 9 | 1600 | "0" |
+ | | packet 4 | | | | | | |
+ | | sent | | | | | | |
+ | 200 | "9" ends | | | | | | |
+ | 250 | RTP | "0" | 0 | 5 | 9 | 1600 | "1" |
+ | | packet 4 | | | | | | |
+ | | first | | | | | | |
+ | | retrans- | | | | | | |
+ | | mission | | | | | | |
+ | 300 | RTP | "0" | 0 | 6 | 9 | 1600 | "1" |
+ | | packet 4 | | | | | | |
+ | | second | | | | | | |
+ | | retrans- | | | | | | |
+ | | mission | | | | | | |
+ | 880 | First "1" | | | | | | |
+ | | starts | | | | | | |
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 31]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ | 930 | RTP | "1" | 7040 | 7 | 1 | 400 | "0" |
+ | | packet 5 | | | | | | |
+ | | sent | | | | | | |
+ | ... | ... | ... | ... | ... | ... | ... | ... |
+ | 1130 | RTP | "0" | 7040 | 11 | 1 | 2000 | "0" |
+ | | packet 9 | | | | | | |
+ | | sent | | | | | | |
+ | 1130 | First "1" | | | | | | |
+ | | ends | | | | | | |
+ | 1180 | RTP | "0" | 7040 | 12 | 1 | 2000 | "1" |
+ | | packet 9 | | | | | | |
+ | | first | | | | | | |
+ | | retrans- | | | | | | |
+ | | mission | | | | | | |
+ | 1230 | RTP | "0" | 7040 | 13 | 1 | 2000 | "1" |
+ | | packet 9 | | | | | | |
+ | | second | | | | | | |
+ | | retrans- | | | | | | |
+ | | mission | | | | | | |
+ | 1400 | Second | | | | | | |
+ | | "1" | | | | | | |
+ | | starts | | | | | | |
+ | 1450 | RTP | "1" | 11200 | 14 | 1 | 400 | "0" |
+ | | packet 10 | | | | | | |
+ | | sent | | | | | | |
+ | ... | ... | ... | ... | ... | ... | ... | ... |
+ | 1620 | Second | | | | | | |
+ | | "1" ends | | | | | | |
+ | 1650 | RTP | "0" | 11200 | 18 | 1 | 1760 | "1" |
+ | | packet 14 | | | | | | |
+ | | sent | | | | | | |
+ | 1700 | RTP | "0" | 11200 | 19 | 1 | 1760 | "1" |
+ | | packet 14 | | | | | | |
+ | | first | | | | | | |
+ | | retrans- | | | | | | |
+ | | mission | | | | | | |
+ | 1750 | RTP | "0" | 11200 | 20 | 1 | 1760 | "1" |
+ | | packet 14 | | | | | | |
+ | | second | | | | | | |
+ | | retrans- | | | | | | |
+ | | mission | | | | | | |
+ +-------+-----------+------+--------+------+--------+--------+------+
+
+ Table 5: Example of Event Reporting
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 32]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ Table 6 shows the same sequence assuming that only the tone payload
+ type is being reported. This looks somewhat different. For
+ simplicity: the timestamp is assumed to begin at 0, the sequence
+ number at 1. Volume, the T bit, and the modulation frequency are
+ omitted. The latter two are always 0.
+
+ +-------+-----------+-----+--------+------+--------+-------+--------+
+ | Time | Event | M | Time- | Seq | Dura- | Freq 1| Freq 2 |
+ | (ms) | | bit | stamp | No | tion | (Hz) | (Hz) |
+ +-------+-----------+-----+--------+------+--------+-------+--------+
+ | 0 | "9" | | | | | | |
+ | | starts | | | | | | |
+ | 50 | RTP | "1" | 0 | 1 | 400 | 852 | 1477 |
+ | | packet 1 | | | | | | |
+ | | sent | | | | | | |
+ | 100 | RTP | "0" | 400 | 2 | 400 | 852 | 1477 |
+ | | packet 2 | | | | | | |
+ | | sent | | | | | | |
+ | ... | ... | ... | ... | ... | ... | ... | ... |
+ | 200 | RTP | "0" | 1200 | 4 | 400 | 852 | 1477 |
+ | | packet 4 | | | | | | |
+ | | sent | | | | | | |
+ | 200 | "9" ends | | | | | | |
+ | 880 | First "1" | | | | | | |
+ | | starts | | | | | | |
+ | 930 | RTP | "1" | 7040 | 5 | 400 | 697 | 1209 |
+ | | packet 5 | | | | | | |
+ | | sent | | | | | | |
+ | 980 | RTP | "0" | 7440 | 6 | 400 | 697 | 1209 |
+ | | packet 6 | | | | | | |
+ | | sent | | | | | | |
+ | ... | ... | ... | ... | ... | ... | ... | ... |
+ | 1130 | First "1" | | | | | | |
+ | | ends | | | | | | |
+ | 1400 | Second | | | | | | |
+ | | "1" | | | | | | |
+ | | starts | | | | | | |
+ | 1450 | RTP | "1" | 11200 | 10 | 400 | 697 | 1209 |
+ | | packet 10 | | | | | | |
+ | | sent | | | | | | |
+ | ... | ... | ... | ... | ... | ... | ... | ... |
+ | 1620 | Second | | | | | | |
+ | | "1" ends | | | | | | |
+ | 1650 | RTP | "0" | 12800 | 14 | 160 | 697 | 1209 |
+ | | packet 14 | | | | | | |
+ | | sent | | | | | | |
+ +-------+-----------+-----+--------+------+--------+-------+--------+
+ Table 6: Example of Tone Reporting
+
+
+
+Schulzrinne & Taylor Standards Track [Page 33]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ Now consider a combined payload, where the tone payload is the
+ primary payload type and the event payload is treated as a redundant
+ encoding (one level of redundancy). Because the primary payload is
+ tones, the tone payload rules determine the setting of the RTP header
+ fields. This means that the RTP timestamp always advances. As a
+ corollary, the timestamp offset for the events payload in the RFC
+ 2198 header increases by the same amount.
+
+ One issue that has to be considered in a combined payload is how to
+ handle retransmissions of final event reports. The tone payload
+ specification does not recommend retransmissions of final packets, so
+ it is unclear what to put in the primary payload fields of the
+ combined packet. In the interests of simplicity, it is suggested
+ that the retransmitted packets copy the fields relating to the
+ primary payload (including the RTP timestamp) from the original
+ packet. The same principle can be applied if the packet includes
+ multiple levels of event payload redundancy.
+
+ The figures below all illustrate "RTP packet 14" in the above tables.
+ Figure 3 shows an event-only payload, corresponding to Table 5.
+ Figure 4 shows a tone-only payload, corresponding to Table 6.
+ Finally, Figure 5 shows a combined payload, with tones primary and
+ events as a single redundant layer. Note that the combined payload
+ has the RTP sequence numbers shown in Table 5, because the
+ transmitted sequence includes the retransmitted packets.
+
+ Figure 3 assumes that the following SDP specification was used. This
+ session description provides for separate streams of G.729 [21] audio
+ and events. Packets reported within the G.729 stream are not
+ considered here.
+
+ m=audio 12344 RTP/AVP 99
+ a=rtpmap:99 G729/8000
+ a=ptime:20
+ m=audio 12346 RTP/AVP 100
+ a=rtpmap:100 telephone-event/8000
+ a=fmtp:100 0-15
+ a=ptime:50
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 34]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |V=2|P|X| CC |M| PT | sequence number |
+ | 2 |0|0| 0 |0| 100 | 18 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | timestamp |
+ | 11200 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ | 0x5234a8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | event |E R| volume | duration |
+ | 1 |1 0| 20 | 1760 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 3: Example RTP Packet for Event Payload
+
+ Figure 4 assumes that an SDP specification similar to that of the
+ previous case was used.
+
+ m=audio 12344 RTP/AVP 99
+ a=rtpmap:99 G729/8000
+ a=ptime:20
+ m=audio 12346 RTP/AVP 101
+ a=rtpmap:101 tone/8000
+ a=ptime:50
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |V=2|P|X| CC |M| PT | sequence number |
+ | 2 |0|0| 0 |0| 101 | 14 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | timestamp |
+ | 12800 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ | 0x5234a8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | modulation |T| volume | duration |
+ | 0 |0| 20 | 160 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R R R R| frequency |R R R R| frequency |
+ |0 0 0 0| 697 |0 0 0 0| 1209 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: Example RTP Packet for Tone Payload
+
+
+
+Schulzrinne & Taylor Standards Track [Page 35]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ Figure 5, for the combined payload, assumes the following SDP session
+ description:
+
+ m=audio 12344 RTP/AVP 99
+ a=rtpmap:99 G729/8000
+ a=ptime:20
+ m=audio 12346 RTP/AVP 102 101 100
+ a=rtpmap:102 red/8000/1
+ a=fmtp:102 101/100
+ a=rtpmap:101 tone/8000
+ a=rtpmap:100 telephone-event/8000
+ a=fmtp:100 0-15
+ a=ptime:50
+
+ For ease of presentation, Figure 5 presents the actual payloads as if
+ they began on 32-bit boundaries. In the actual packet, they follow
+ immediately after the end of the RFC 2198 header, and thus are
+ displaced one octet into successive words.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 36]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |V=2|P|X| CC |M| PT | sequence number |
+ | 2 |0|0| 0 |0| 102 | 18 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | timestamp |
+ | 12800 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ | 0x5234a8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |F| block PT | timestamp offset | block length |
+ |1| 100 | 1600 | 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |F| block PT | event payload begins ... /
+ |0| 101 | \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Event payload
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | event |E R| volume | duration |
+ | 1 |1 0| 20 | 1760 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Tone payload
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | modulation |T| volume | duration |
+ | 0 |0| 20 | 160 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R R R R| frequency |R R R R| frequency |
+ |0 0 0 0| 697 |0 0 0 0| 1209 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5: Example RTP Packet for Combined Tone and Event Payloads
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 37]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+6. Security Considerations
+
+ RTP packets using the payload formats defined in this specification
+ are subject to the security considerations discussed in the RTP
+ specification (RFC 3550 [5]), and any appropriate RTP profile (for
+ example, RFC 3551 [13]). The RFC 3550 discussion focuses on
+ requirements for confidentiality. Additional security considerations
+ relating to implementation are described in RFC 2198 [2].
+
+ The telephone-event payload defined in this specification is highly
+ compressed. A change in value of just one bit can result in a major
+ change in meaning as decoded at the receiver. Thus, message
+ integrity MUST be provided for the telephone-event payload type.
+
+ To meet the need for protection both of confidentiality and
+ integrity, compliant implementations SHOULD implement the Secure
+ Real-time Transport Protocol (SRTP) [7].
+
+ Note that the appropriate method of key distribution for SRTP may
+ vary with the specific application.
+
+ In some deployments, it may be preferable to use other means to
+ provide protection equivalent to that provided by SRTP.
+
+ Provided that gateway design includes robust, low-overhead tone
+ generation, this payload type does not exhibit any significant non-
+ uniformity in the receiver side computational complexity for packet
+ processing to cause a potential denial-of-service threat.
+
+7. IANA Considerations
+
+ This document updates the descriptions of two RTP payload formats,
+ 'telephone-event' and 'tone', and associated Internet media types,
+ audio/telephone-event and audio/tone. It also documents the event
+ codes for DTMF tone events.
+
+ Within the audio/telephone-event type, events MUST be registered with
+ IANA. Registrations are subject to the policies "Specification
+ Required" and "Expert Review" as defined in RFC 2434 [3]. The IETF-
+ appointed expert must ensure that:
+
+ a. the meaning and application of the proposed events are clearly
+ documented;
+
+ b. the events cannot be represented by existing event codes,
+ possibly with some minor modification of event definitions;
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 38]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ c. the number of events is the minimum necessary to fulfill the
+ purpose of their application(s).
+
+ The expert is further responsible for providing guidance on the
+ allocation of event codes to the proposed events. Specifically, the
+ expert must indicate whether the event appears to be the same as one
+ defined in RFC 2833 but not specified in any new document. In this
+ case, the event code specified in RFC 2833 for that event SHOULD be
+ assigned to the proposed event. Otherwise, event codes MUST be
+ assigned from the set of available event codes listed below. If this
+ set is exhausted, the criterion for assignment from the reserved set
+ of event codes is to first assign those that appear to have the
+ lowest probability of being revived in their RFC 2833 meaning in a
+ new specification.
+
+ The documentation for each event MUST indicate whether the event is a
+ state, tone, or other type of event (e.g., an out-of-band electrical
+ event such as on-hook or an indication that will not itself be played
+ out as tones at the receiving end). For tone events, the
+ documentation MUST indicate whether the volume field is applicable or
+ must be set to 0.
+
+ In view of the tradeoffs between the different reliability mechanisms
+ discussed in Section 2.6, documentation of specific events SHOULD
+ include a discussion of the appropriate design decisions for the
+ applications of those events.
+
+ Legal event codes range from 0 to 255. The initial registry content
+ is shown in Table 7, and consists of the sixteen events defined in
+ Section 3 of this document. The remaining codes have the following
+ disposition:
+
+ o codes 17-22, 50-51, 90-95, 113-120, 169, and 206-255 are available
+ for assignment;
+
+ o codes 23-40, 49, and 52-63 are reserved for events defined in
+ [16];
+
+ o codes 121-137 and 174-205 are reserved for events defined in [17];
+
+ o codes 16, 41-48, 64-88, 96-112, 138-168, and 170-173 are reserved
+ in the first instance for specifications reviving the
+ corresponding RFC 2833 events, and in the second instance for
+ general assignment after all other codes have been assigned.
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 39]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ +------------+--------------------------------+-----------+
+ | Event Code | Event Name | Reference |
+ +------------+--------------------------------+-----------+
+ | 0 | DTMF digit "0" | RFC 4733 |
+ | 1 | DTMF digit "1" | RFC 4733 |
+ | 2 | DTMF digit "2" | RFC 4733 |
+ | 3 | DTMF digit "3" | RFC 4733 |
+ | 4 | DTMF digit "4" | RFC 4733 |
+ | 5 | DTMF digit "5" | RFC 4733 |
+ | 6 | DTMF digit "6" | RFC 4733 |
+ | 7 | DTMF digit "7" | RFC 4733 |
+ | 8 | DTMF digit "8" | RFC 4733 |
+ | 9 | DTMF digit "9" | RFC 4733 |
+ | 10 | DTMF digit "*" | RFC 4733 |
+ | 11 | DTMF digit "#" | RFC 4733 |
+ | 12 | DTMF digit "A" | RFC 4733 |
+ | 13 | DTMF digit "B" | RFC 4733 |
+ | 14 | DTMF digit "C" | RFC 4733 |
+ | 15 | DTMF digit "D" | RFC 4733 |
+ +------------+--------------------------------+-----------+
+
+ Table 7: audio/telephone-event Event Code Registry
+
+7.1. Media Type Registrations
+
+7.1.1. Registration of Media Type audio/telephone-event
+
+ This registration is done in accordance with [6] and [8].
+
+ Type name: audio
+
+ Subtype name: telephone-event
+
+ Required parameters: none.
+
+ Optional parameters:
+
+ The "events" parameter lists the events supported by the
+ implementation. Events are listed as one or more comma-separated
+ elements. Each element can be either a single integer providing
+ the value of an event code or an integer followed by a hyphen and
+ a larger integer, presenting a range of consecutive event code
+ values. The list does not have to be sorted. No white space is
+ allowed in the argument. The union of all of the individual event
+ codes and event code ranges designates the complete set of event
+ numbers supported by the implementation. If the "events"
+ parameter is omitted, support for events 0-15 (the DTMF tones) is
+ assumed.
+
+
+
+Schulzrinne & Taylor Standards Track [Page 40]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ The "rate" parameter describes the sampling rate, in Hertz. The
+ number is written as an integer. If omitted, the default value is
+ 8000 Hz.
+
+ Encoding considerations:
+
+ In the terminology defined by [8] section 4.8, this type is framed
+ and binary.
+
+ Security considerations:
+
+ See Section 6, "Security Considerations", in this document.
+
+ Interoperability considerations: none.
+
+ Published specification: this document.
+
+ Applications which use this media:
+
+ The telephone-event audio subtype supports the transport of events
+ occurring in telephone systems over the Internet.
+
+ Additional information:
+
+ Magic number(s): N/A.
+ File extension(s): N/A.
+ Macintosh file type code(s): N/A.
+
+ Person & email address to contact for further information:
+
+ Tom Taylor, taylor@nortel.com.
+ IETF AVT Working Group.
+
+ Intended usage: COMMON.
+
+ Restrictions on usage:
+
+ This type is defined only for transfer via RTP [5].
+
+ Author: IETF Audio/Video Transport Working Group.
+
+ Change controller:
+
+ IETF Audio/Video Transport Working Group as delegated from the
+ IESG.
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 41]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+7.1.2. Registration of Media Type audio/tone
+
+ This registration is done in accordance with [6] and [8].
+
+ Type name: audio
+
+ Subtype name: tone
+
+ Required parameters: none
+
+ Optional parameters:
+
+ The "rate" parameter describes the sampling rate, in Hertz. The
+ number is written as an integer. If omitted, the default value is
+ 8000 Hz.
+
+ Encoding considerations:
+
+ In the terminology defined by [8] section 4.8, this type is framed
+ and binary.
+
+ Security considerations:
+
+ See Section 6, "Security Considerations", in this document.
+
+ Interoperability considerations: none
+
+ Published specification: this document.
+
+ Applications which use this media:
+
+ The tone audio subtype supports the transport of pure composite
+ tones, for example, those commonly used in the current telephone
+ system to signal call progress.
+
+ Additional information:
+
+ Magic number(s): N/A.
+ File extension(s): N/A.
+ Macintosh file type code(s): N/A.
+
+ Person & email address to contact for further information:
+
+ Tom Taylor, taylor@nortel.com.
+ IETF AVT Working Group.
+
+ Intended usage: COMMON.
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 42]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ Restrictions on usage:
+
+ This type is defined only for transfer via RTP [5].
+
+ Author: IETF Audio/Video Transport Working Group.
+
+ Change controller:
+
+ IETF Audio/Video Transport Working Group as delegated from the
+ IESG.
+
+8. Acknowledgements
+
+ Scott Petrack was the original author of RFC 2833. Henning
+ Schulzrinne later loaned his expertise to complete the document, but
+ Scott must be credited with the energy behind the idea of a compact
+ encoding of tones over IP.
+
+ In RFC 2833, the suggestions of the Megaco working group were
+ acknowledged. Colin Perkins and Magnus Westerland, Chairs of the AVT
+ Working Group, provided helpful advice in the formation of the
+ present document. Over the years, detailed advice and comments for
+ RFC 2833, this document, or both were provided by Hisham Abdelhamid,
+ Flemming Andreasen, Fred Burg, Steve Casner, Dan Deliberato, Fatih
+ Erdin, Bill Foster, Mike Fox, Mehryar Garakani, Gunnar Hellstrom,
+ Rajesh Kumar, Terry Lyons, Steve Magnell, Zarko Markov, Tim
+ Melanchuk, Kai Miao, Satish Mundra, Kevin Noll, Vern Paxson, Oren
+ Peleg, Raghavendra Prabhu, Moshe Samoha, Todd Sherer, Adrian Soncodi,
+ Yaakov Stein, Mira Stevanovic, Alex Urquizo, and Herb Wildfeur.
+
+9. References
+
+9.1. Normative References
+
+ [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+ [2] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V., Handley,
+ M., Bolot, J., Vega-Garcia, A., and S. Fosse-Parisis, "RTP
+ Payload for Redundant Audio Data", RFC 2198, September 1997.
+
+ [3] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
+ Considerations Section in RFCs", BCP 26, RFC 2434,
+ October 1998.
+
+ [4] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
+ Session Description Protocol (SDP)", RFC 3264, June 2002.
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 43]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ [5] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
+ "RTP: A Transport Protocol for Real-Time Applications", STD 64,
+ RFC 3550, July 2003.
+
+ [6] Casner, S. and P. Hoschka, "MIME Type Registration of RTP
+ Payload Formats", RFC 3555, July 2003.
+
+ [7] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
+ Norrman, "The Secure Real-time Transport Protocol (SRTP)",
+ RFC 3711, March 2004.
+
+ [8] Freed, N. and J. Klensin, "Media Type Specifications and
+ Registration Procedures", BCP 13, RFC 4288, December 2005.
+
+ [9] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
+ Description Protocol", RFC 4566, July 2006.
+
+ [10] International Telecommunication Union, "Technical features of
+ push-button telephone sets", ITU-T Recommendation Q.23,
+ November 1988.
+
+ [11] International Telecommunication Union, "Multifrequency push-
+ button signal reception", ITU-T Recommendation Q.24,
+ November 1988.
+
+9.2. Informative References
+
+ [12] Schulzrinne, H. and S. Petrack, "RTP Payload for DTMF Digits,
+ Telephony Tones and Telephony Signals", RFC 2833, May 2000.
+
+ [13] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video
+ Conferences with Minimal Control", STD 65, RFC 3551, July 2003.
+
+ [14] Kreuter, R., "RTP Payload Format for a 64 kbit/s Transparent
+ Call", RFC 4040, April 2005.
+
+ [15] Hellstrom, G. and P. Jones, "RTP Payload for Text
+ Conversation", RFC 4103, June 2005.
+
+ [16] Schulzrinne, H. and T. Taylor, "Definition of Events for Modem,
+ Fax, and Text Telephony Signals", RFC 4734, December 2006.
+
+ [17] Schulzrinne, H. and T. Taylor, "Definition of Events For
+ Channel-Oriented Telephony Signalling", Work In Progress ,
+ November 2005.
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 44]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ [18] International Telecommunication Union, "Technical
+ characteristics of tones for the telephone service", ITU-T
+ Recommendation E.180/Q.35, March 1998.
+
+ [19] International Telecommunication Union, "Pulse code modulation
+ (PCM) of voice frequencies", ITU-T Recommendation G.711,
+ November 1988.
+
+ [20] International Telecommunication Union, "Speech coders : Dual
+ rate speech coder for multimedia communications transmitting at
+ 5.3 and 6.3 kbit/s", ITU-T Recommendation G.723.1, March 1996.
+
+ [21] International Telecommunication Union, "Coding of speech at 8
+ kbit/s using conjugate-structure algebraic-code-excited linear-
+ prediction (CS-ACELP)", ITU-T Recommendation G.729, March 1996.
+
+ [22] International Telecommunication Union, "ISDN user-network
+ interface layer 3 specification for basic call control", ITU-T
+ Recommendation Q.931, May 1998.
+
+ [23] International Telecommunication Union, "Procedures for real-
+ time Group 3 facsimile communication over IP networks", ITU-T
+ Recommendation T.38, July 2003.
+
+ [24] International Telecommunication Union, "Procedures for starting
+ sessions of data transmission over the public switched
+ telephone network", ITU-T Recommendation V.8, November 2000.
+
+ [25] International Telecommunication Union, "Modem-over-IP networks:
+ Procedures for the end-to-end connection of V-series DCEs",
+ ITU-T Recommendation V.150.1, January 2003.
+
+ [26] International Telecommunication Union, "Procedures for
+ supporting Voice-Band Data over IP Networks", ITU-T
+ Recommendation V.152, January 2005.
+
+ [27] International Telecommunication Union, "Operational and
+ interworking requirements for {DCEs operating in the text
+ telephone mode", ITU-T Recommendation V.18, November 2000.
+
+ See also Recommendation V.18 Amendment 1, Nov. 2002.
+ [28] VOIP Troubleshooter LLC, "Indepth: Packet Loss Burstiness",
+ 2005,
+ <http://www.voiptroubleshooter.com/indepth/burstloss.html>.
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 45]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+Appendix A. Summary of Changes from RFC 2833
+
+ The memo has been significantly restructured, incorporating a large
+ number of clarifications to the specification. With the exception of
+ those items noted below, the changes to the memo are intended to be
+ backwards-compatible clarifications. However, due to inconsistencies
+ and unclear definitions in RFC 2833 [12] it is likely that some
+ implementations interpreted that memo in ways that differ from this
+ version.
+
+ RFC 2833 required that all implementations be capable of receiving
+ the DTMF events (event codes 0-15). Section 2.5.1.1 of the present
+ document requires that a sender transmit only the events that the
+ receiver is capable of receiving. In the absence of a knowledge of
+ receiver capabilities, the sender SHOULD assume support of the DTMF
+ events but of no other events. The sender SHOULD indicate what
+ events it can send. Section 2.5.2.1 requires that a receiver
+ signalling its capabilities using SDP MUST indicate which events it
+ can receive.
+
+ Non-zero values in the volume field of the payload were applicable
+ only to DTMF tones in RFC 2833, and for other events the receiver was
+ required to ignore them. The present memo requires that the
+ definition of each event indicate whether the volume field is
+ applicable to that event. The last paragraph of Section 2.5.2.2
+ indicates what a receiver may do if it receives volumes with zero
+ values for events to which the volume field is applicable. Along
+ with the RFC 2833 receiver rule, this ensures backward compatibility
+ in both directions of transmission.
+
+ Section 2.5.1.3 and Section 2.5.2.3 introduce a new procedure for
+ reporting and playing out events whose duration exceeds the capacity
+ of the payload duration field. This procedure may cause momentary
+ confusion at an old (RFC 2833) receiver, because the timestamp is
+ updated without setting the E bit of the preceding event report and
+ without setting the M bit of the new one.
+
+ Section 2.5.1.5 and Section 2.5.2.4 introduce a new procedure whereby
+ a sequence of short-duration events may be packed into a single event
+ report. If an old (RFC 2833) receiver receives such a report, it may
+ discard the packet as invalid, since the packet holds more content
+ than the receiver was expecting. In any event, the additional events
+ in the packet will be lost.
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 46]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+ Section 2.3.5 introduces the possibility of "state" events and
+ defines procedures for setting the duration field for reports of such
+ events. Section 2.5.1.2 defines special exemptions from the setting
+ of the E bit for state events. Three more sections mention
+ procedures related to these events.
+
+ The Security Considerations section is updated to mention the
+ requirement for protection of integrity. More importantly, it makes
+ implementation of SRTP [7] mandatory for compliant implementations,
+ without specifying a mandatory-to-implement method of key
+ distribution.
+
+ Finally, this document establishes an IANA registry for event codes
+ and establishes criteria for their documentation. This document
+ provides an initial population for the new registry, consisting
+ solely of the sixteen DTMF events. Two companion documents [16] and
+ [17] describe events related to modems, fax, and text telephony and
+ to channel-associated telephony signalling, respectively. Some
+ changes were made to the latter because of errors and redundancies in
+ the RFC 2833 assignments. The remaining events defined in RFC 2833
+ are deprecated because they do not appear to have been implemented,
+ but their codes have been conditionally reserved in case any of them
+ is needed in the future. Table 8 indicates the disposition of the
+ event codes in detail. Event codes not mentioned in this table were
+ not allocated by RFC 2833 and continue to be unused.
+
+ +-------------+---------------------------------------+-------------+
+ | Event Codes | RFC 2833 Description | Disposition |
+ +-------------+---------------------------------------+-------------+
+ | 0-15 | DTMF digits | RFC 4733 |
+ | 16 | Line flash (deprecated) | Reserved |
+ | 23-31 | Unused | [16] |
+ | 32-40 | Data and fax | [16] |
+ | 41-48 | Data and fax (V.8bis, deprecated) | Reserved |
+ | 52-63 | Unused | [16] |
+ | 64-89 | E.182 line events (deprecated) | Reserved |
+ | 96-112 | Country-specific line events | Reserved |
+ | | (deprecated) | |
+ | 121-127 | Unused | [17] |
+ | 128-137 | Trunks: MF 0-9 | [17] |
+ | 138-143 | Trunks: other MF (deprecated) | Reserved |
+ | 144-159 | Trunks: ABCD signalling | [17] |
+ | 160-168 | Trunks: various (deprecated) | Reserved |
+ | 170-173 | Trunks: various (deprecated) | Reserved |
+ | 174-205 | Unused | [17] |
+ +-------------+---------------------------------------+-------------+
+
+ Table 8: Disposition of RFC 2833-defined Event Codes
+
+
+
+Schulzrinne & Taylor Standards Track [Page 47]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+Authors' Addresses
+
+ Henning Schulzrinne
+ Columbia U.
+ Dept. of Computer Science
+ Columbia University
+ 1214 Amsterdam Avenue
+ New York, NY 10027
+ US
+
+ EMail: schulzrinne@cs.columbia.edu
+
+
+ Tom Taylor
+ Nortel
+ 1852 Lorraine Ave
+ Ottawa, Ontario K1H 6Z8
+ Canada
+
+ EMail: taylor@nortel.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 48]
+
+RFC 4733 Telephony Events and Tones December 2006
+
+
+Full Copyright Statement
+
+ Copyright (C) The IETF Trust (2006).
+
+ This document is subject to the rights, licenses and restrictions
+ contained in BCP 78, and except as set forth therein, the authors
+ retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST,
+ AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
+ THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
+ IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+ PURPOSE.
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+Schulzrinne & Taylor Standards Track [Page 49]
+