[Docs] [txt|pdf] [draft-ietf-avt-rf...] [Diff1] [Diff2]

PROPOSED STANDARD

Network Working Group                                     H. Schulzrinne
Request for Comments: 4734                                   Columbia U.
Obsoletes: 2833                                                T. Taylor
Updates: 4733                                                     Nortel
Category: Standards Track                                  December 2006


    Definition of Events for Modem, Fax, and Text 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 updates RFC 4733 to add event codes for modem, fax, and
   text telephony signals when carried in the telephony event RTP
   payload.  It supersedes the assignment of event codes for this
   purpose in RFC 2833, and therefore obsoletes that part of RFC 2833.
























Schulzrinne & Taylor        Standards Track                     [Page 1]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


Table of Contents

   1. Introduction ....................................................3
      1.1. Terminology ................................................3
      1.2. Overview ...................................................3
   2. Definitions of Events for Control of Data, Fax, and Text
      Telephony Sessions ..............................................5
      2.1. V.8 bis Events .............................................5
           2.1.1. Handling of Congestion ..............................9
      2.2. V.21 Events ...............................................10
           2.2.1. Handling of Congestion .............................11
      2.3. V.8 Events ................................................12
           2.3.1. Handling of Congestion .............................15
      2.4. V.25 Events ...............................................15
           2.4.1. Handling of Congestion .............................17
      2.5. V.32/V.32bis Events .......................................18
           2.5.1. Handling of Congestion .............................19
      2.6. T.30 Events ...............................................19
           2.6.1. Handling of Congestion .............................23
      2.7. Events for Text Telephony .................................23
           2.7.1. Signal Format Indicators for Text Telephony ........23
           2.7.2. Use of Events with V.18 Modems .....................27
      2.8. A Generic Indicator .......................................28
   3. Strategies for Handling Fax and Modem Signals ..................29
   4. Example of V.8 Negotiation .....................................30
      4.1. Simultaneous Transmission of Events and
           Retransmitted Events Using RFC 2198 Redundancy ............35
      4.2. Simultaneous Transmission of Events and Voice-Band
           Data Using RFC 2198 Redundancy ............................37
   5. Security Considerations ........................................39
   6. IANA Considerations ............................................40
   7. Acknowledgements ...............................................42
   8. References .....................................................43
      8.1. Normative References ......................................43
      8.2. Informative References ....................................44
















Schulzrinne & Taylor        Standards Track                     [Page 2]

RFC 4734         Modem, Fax, and Text Telephony Events     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].

   In addition to those defined for specific events, this document uses
   the following abbreviations:

   Fax    facsimile

   HDLC   High-level Data Link Control

   PSTN   Public Switched (circuit) Telephone Network

1.2.  Overview

   This document extends the set of telephony events defined within the
   framework of RFC 4733 [5] to include the control events and tones
   that can appear on a subscriber line serving a fax machine, a modem,
   or a text telephony device.  The events are organized into several
   groups, corresponding to the ITU-T Recommendation in which they are
   defined.  Their purpose is to support negotiation, start-up and
   takedown of fax, modem, or text telephony sessions and transitions
   between operating modes.  The actual fax, modem, and text payload is
   typically carried by other payload types (e.g., V.150.1 [32] modem
   relay, voice-band data as formalized in ITU-T Rec. V.152 [33],
   Clearmode [17] for digital data, T.38 [21] for fax, or RFC 4103 [18]
   for character-mode text).

   NOTE: implementers SHOULD NOT rely on the descriptions of the various
   modem protocols described below without consulting the original
   references (generally ITU-T Recommendations).  The descriptions are
   provided in this document to give a context for the use of the events
   defined here.  They frequently omit important details needed for
   implementation.

   The typical application of these events is to allow the Internet to
   serve as a bridge between terminals operating on the PSTN.  This
   application is characterized as follows:

   o  each gateway will act both as sender and as receiver;

   o  time constraints apply to the exchange of signals, making the
      early identification and reporting of events desirable so that
      receiver playout can proceed in a timely fashion;



Schulzrinne & Taylor        Standards Track                     [Page 3]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   o  the receiver must play out events in their proper order;

   o  transfer of the events must be reliable.  Applications will vary
      in their ability to recover from missing events.

   In some cases, an implementation may simply ignore certain events,
   such as fax tones, that do not make sense in a particular
   environment.  Section 2.4.1 of RFC 4733 [5] specifies how an
   implementation can use the Session Description Protocol (SDP) "fmtp"
   parameter within an SDP description [4] to indicate which events it
   is prepared to handle.

   Regardless of which events they support, implementations MUST be
   prepared to send and receive data signals using payload types other
   than telephone-event, simultaneously with the use of the latter.
   This is discussed further in Section 3.

   In many cases, continuity of playout is critical.  In principle, this
   is achieved through buffering at the receiving end.  It is generally
   desirable to minimize such buffering to reduce round-trip response
   times.  Maintenance of a constant packetization interval at the
   sending end while reporting events is helpful for this purpose.

   A further word on time constraints is in order.  Time constraints
   governing the duration of tones do not pose a problem when using the
   telephone-event payload type: the payload specifies the duration and
   the receiving gateway can play out the tones accordingly.  Problems
   occur when time constraints are specified for the duration of silence
   between tones.  A silent period of "at least x ms" is not a problem
   -- event notifications can be received late, but they can still be
   played out at their specified durations.

   The problem occurs if silence must last for a specific duration or at
   most some specific period.  The most general constraint of the latter
   type has to do with the operation of echo suppressors (ITU-T
   Rec. G.164 [6]) and echo cancellers (ITU-T Rec. G.165 [7]).  These
   devices may re-activate after as little as 100 ms of no signal on the
   line.  As a result, in any situation where echo suppressors or
   cancellers must be disabled for signalling to work, tone events must
   be reported quickly enough to ensure that these devices do not become
   re-enabled.










Schulzrinne & Taylor        Standards Track                     [Page 4]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


2.  Definitions of Events for Control of Data, Fax, and Text Telephony
    Sessions

2.1.  V.8 bis Events

   Recommendation V.8 bis [10] is a general procedure for two endpoints
   to establish each other's capabilities and to transition between
   different operating modes, both at call startup and after the call
   has been established.  It supports many of the same terminals as V.8
   [9] (Section 2.3 below), but allows more detailed parameter
   negotiation.  It lacks support for some of the older V-series modems
   defined in V.8, but adds capabilities for simultaneous or alternating
   voice and data, H.324 [20] multilink, and T.120 [23] conferencing.

   Following V.8 bis capability negotiations, if the terminals have
   negotiated a modem-based operating mode, they initiate the actual
   modem session using either V.8, a truncated version of V.8
   (preferred), or V.25 start-up.  V.25 is described in Section 2.4.

   V.8 bis distinguishes between "signals" and "messages".  The V.8 bis
   signals -- ESi/ESr, MRe/MRd, and CRe/CRd -- consist of tones, as
   described in the next few paragraphs.  The V.8 bis messages -- MS,
   CL, CLR, ACK(1), ACK(2), NAK(1), NAK(2), NACK(3), and NACK(4) --
   consist of sequences of bits transported over V.21 [12] modulation.

   Signals are intended to be comprehensible at the receiver even in the
   presence of voice content.  They consist of two tone segments.  The
   first segment consists of a dual-frequency tone held for 400 ms, and
   has the function of preparing the receiver and any in-line echo
   suppressor or canceller for what follows.  The specific frequencies
   depend only on whether the signal is from the initiator or the
   responder in a transaction.  When using the telephone-event payload,
   the V8bISeg and V8bRSeg events in Table 1 represent the first segment
   of any V.8 bis signal in the initiating and responding case,
   respectively.

      The complete V.8 bis strategy for dealing with echo suppressors or
      cancellers is described in Rec. V.8 bis Appendix III.  The only
      silent period constraints imposed are of the "at least" type,
      posing no difficulties for the use of the telephone-event payload.

   The second segment follows immediately after the first, and is a
   single tone held for 100 ms.  The frequency used indicates the
   specific signal of the six signals defined.  When using the
   telephone-event payload, the second segment of a V.8 bis signal is
   represented by the applicable event: CRdSeg, CReSeg, MRdSeg, MReSeg,





Schulzrinne & Taylor        Standards Track                     [Page 5]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   ESiSeg, or ESrSeg, as defined in Table 1.  ESiSeg and ESrSeg use the
   same frequencies as V.21 low and high channel '1' bits, respectively
   (see Table 2), and are therefore assigned the same event codes.

   V.8 bis messages use V.21 [12] frequency-shift signalling to transfer
   message content.  V.21 is described in the next section.  V.8 bis
   uses V.21 in half-duplex mode at 300 bits/s, with the lower channel
   assigned to the initiator and the upper channel to the responder.

   Each V.8 bis message is preceded by a 100-ms preamble of continuous
   V.21 marking frequency except if it was immediately preceded by an
   ESi or ESr signal (the second segment of which is that same V.21
   marking frequency).  The sender SHALL NOT report this preamble tone
   using the ESiSeg or ESrSeg events; these are to be used only for the
   V.8 bis signals to which they pertain.

      Spelling this out, continuous V.21 marking tone immediately
      following V8bISeg and V8bRSeg is reported as ESiSeg or ESrSeg,
      respectively.  Continuous V.21 marking tone occurring in any other
      context, and particularly after CRdSeg, CReSeg, MRdSeg, or MReSeg,
      is reported by other means such as a different payload type or
      using the V.21 '1' bit events defined in Section 2.2.

   No events are defined for V.8 bis messages, but a brief description
   follows.

   o  the V.8 bis CL message describes the sending terminal's
      capabilities;

   o  the CLR message also describes capabilities, but indicates that
      the sender wants to receive a CL in return;

   o  the MS establishes a particular operating mode;

   o  the ACK and NAK messages are used to terminate the message
      transactions.

   The V.8 bis messages are organized as a sequence of octets.  The
   first two to five octets are HDLC flags (0x7E).  Then comes a message
   type identifier (four bits), a V.8 bis version identifier (four
   bits), zero to two more octets of identifying information, followed
   by zero or more information field parameters in the form of bit maps.
   An individual bit map is one to five octets in length.  Up to 64
   octets of non-standard information may also be present.  The
   information fields are followed by a checksum and one to three HDLC
   flags.  Because of limits on the size of any one information field,
   V.8 bis defines segmentation procedures.  Excess data is sent in an
   additional message, but only after prompting from the receiving end.



Schulzrinne & Taylor        Standards Track                     [Page 6]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   Applications supporting V.8 bis signalling using the telephone-event
   payload MAY transfer V.8 bis messages in the form of sequences of
   bits, using the V.21 bit events defined in the next section.  If they
   do so, the transmitted information MUST include the complete contents
   of the message: the initial HDLC flags, the information field, the
   checksum, and the terminating HDLC flags.

   Transmission MUST also include the extra '0' bits added according to
   the procedures of Rec. V.8 bis, clause 7.2.8, to prevent false
   recognition of HDLC flags at the receiver.  Implementers should note
   that these extra '0' bits mean that in general V.8 bis messages as
   transmitted on the wire will not come out to an even multiple of
   octets.  Sending implementations MAY choose to vary the packetization
   interval to include exactly one octet of information plus any extra
   '0' bits inserted into that octet; the resulting variation will be
   insignificant compared with the amount of buffering required to guard
   against network delays in delivery of packets to the receiver (see
   below).

      One reason for reporting the V.21 bits exactly as presented on the
      wire is to match the corresponding content if it is also carried
      by other means, such as voice-band data.

   The power levels of the V.8 bis and V.21 signals are subject to
   national regulation.  Thus, it seems suitable to model V.8 bis events
   as tones for which the volumes SHOULD be specified by the sender.  If
   the receiver is rendering the V.8 bis tones as audio content for
   onward transmission, the receiver MAY use the volumes contained in
   the event reports, or MAY modify the volumes to match downstream
   national requirements.

   Table 1 summarizes the event codes defined for V.8 bis signalling in
   this document.  The individual events are described following the
   table.  Each event begins when the beginning of the tone segment is
   detected and ends when the tone is no longer detected.
















Schulzrinne & Taylor        Standards Track                     [Page 7]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


    +---------+-------------+-----------+------------+------+---------+
    | Event   | Freq.  (Hz) | Dur. (ms) | Event Code | Type | Volume? |
    +---------+-------------+-----------+------------+------+---------+
    | ESiSeg  |      980    |    100    |     38     | tone |   yes   |
    |         |             |           |            |      |         |
    | ESrSeg  |     1650    |    100    |     40     | tone |   yes   |
    |         |             |           |            |      |         |
    | CRdSeg  |     1900    |    100    |     23     | tone |   yes   |
    |         |             |           |            |      |         |
    | CReSeg  |      400    |    100    |     24     | tone |   yes   |
    |         |             |           |            |      |         |
    | MRdSeg  |     1150    |    100    |     25     | tone |   yes   |
    |         |             |           |            |      |         |
    | MReSeg  |      650    |    100    |     26     | tone |   yes   |
    |         |             |           |            |      |         |
    | V8bISeg | 1375 + 2002 |    400    |     28     | tone |   yes   |
    |         |             |           |            |      |         |
    | V8bRSeg | 1529 + 2225 |    400    |     29     | tone |   yes   |
    +---------+-------------+-----------+------------+------+---------+

                    Table 1: Events for V.8 bis Signals

   ESiSeg:

      The second segment of a V.8 bis initiating Escape Signal (ESi).
      The complete ESi signal is represented by events V8bISeg followed
      by ESiSeg.  ESi will be followed by an MS, CL, or CLR message from
      the same terminal.  A 1.5-s silent interval may come between the
      ESi signal and the transmission of the MS, CL, or CLR message to
      accommodate network echo suppressors.

   ESrSeg:

      The second segment of a V.8 bis responding Escape Signal (ESr).
      The complete ESr signal is represented by events V8bRSeg followed
      by ESrSeg.  ESr is always sent by the calling terminal in response
      to an MRe or CRe from an automatic answering station.  It will be
      followed by an MS, CL, or CLR message.  The ESr signal turns off
      any announcement being generated by the automatic answering
      station.

   CRdSeg:

      The second segment of a V.8 bis Capabilities Request signal (CRd).
      The first segment of the CRd signal is represented either by
      V8bISeg or V8bRSeg, depending on context.  The other end will
      return a capabilities list (CL or CLR message).




Schulzrinne & Taylor        Standards Track                     [Page 8]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   CReSeg:

      The second segment of a V.8 bis Capabilities Request signal (CRe)
      initiated by an automatic answering terminal.  The complete CRe
      signal is represented by events V8bISeg followed by CReSeg.  The
      calling terminal will respond with a CRd signal or a CL or CLR
      message.

   MRdSeg:

      The second segment of a V.8 bis Mode Request signal (MRd).  The
      first segment of the MRd signal is represented either by V8bISeg
      or V8bRSeg, depending on context.  The other end will return a CRd
      signal or an MS message.

   MReSeg:

      The second segment of a V.8 bis Mode Request signal (MRe)
      initiated by an automatic answering terminal.  The complete MRe
      signal is represented by events V8bISeg followed by MReSeg.  The
      calling terminal will respond with an MRd or CRd signal or an MS
      message.

   V8bISeg:

      The first segment of an initiating V.8 bis signal, which may be
      one of ESi, CRd, CRe, MRd, or MRe.

   V8bRSeg:

      The first segment of a responding V.8 bis signal, which may be one
      of ESr, CRd, or MRd.

2.1.1.  Handling of Congestion

   V.8 bis implementations are unlikely to tolerate gaps or extensions
   in playout times due to congestion-caused packet delay.  At a
   minimum, the current transaction is liable to be reset when these
   defects in playout occur.  As a result, careful management of the
   playout buffer is required at the receiver to increase robustness in
   the face of possible lost or delayed packets.  The playout algorithm
   should also be such as not to cause event playout to exceed the
   nominal duration of the event.

   V.8 bis does not appear to offer opportunities for dynamic adaptation
   to congestion through manipulation of the packetization interval.





Schulzrinne & Taylor        Standards Track                     [Page 9]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


2.2.  V.21 Events

   V.21 [12] is a modem protocol offering data transmission at a maximum
   rate of 300 bits/s.  Two channels are defined, supporting full duplex
   data transmission if required.  The low channel uses frequencies 980
   Hz for '1' (mark) and 1180 Hz for '0' (space); the high channel uses
   frequencies 1650 Hz for '1' and 1850 Hz for '0'.  The modem can
   operate synchronously or asynchronously.

   V.21 is used by other protocols (e.g., V.8 bis, V.18, T.30) for
   transmission of control data, and is also used in its own right
   between text terminals.  The V.21 events are summarized in Table 2.

   Sending implementations SHOULD report a completed event for every bit
   transmitted (i.e., rather than at transitions between '0' and '1').
   Bit events are assumed to begin and end with the clock interval for
   the event, neglecting the rise and fall times between bit
   transitions.  Thus, it is important for a gateway to determine the
   actual bit rate in use before beginning to report V.21 events.

      Sometimes determination of the bit rate is not immediately
      possible, as in the case of the 100-ms training signal at V.21
      mark frequency used before V.8 bis messages.  Transmission of a
      single longer-duration V.21 event is reasonable under these
      circumstances and should not cause any difficulties at the
      receiving end.

   Implementations SHOULD pack multiple events into one packet, using
   the procedures of Section 2.5.1.5 of RFC 4733 [5].  Eight to ten bits
   is a reasonable packetization interval.

   Reliable transmission of V.21 events is important, to prevent data
   corruption.  Reporting an event per bit rather than per transition
   increases reporting redundancy and thus reporting reliability, since
   each event completion is transmitted three times as described in
   Section 2.5.1.4 of RFC 4733 [5].  To reduce the number of packets
   required for reporting, implementations SHOULD carry the
   retransmitted events using RFC 2198 [2] redundancy encoding.  This is
   illustrated in the example in Section 4.1.

   The time to transmit one V.21 bit at the nominal rate of 300 bits/s
   is 3.33 ms, or 26.67 timestamp units at the default 8000-Hz sampling
   rate for the telephone-event payload type.  Because this duration is
   not an integral number of timestamp units, accurate reporting of the
   beginning of the event and the event duration is impossible.  Sending
   gateways SHOULD round V.21 event starting times to the nearest whole
   timestamp unit.




Schulzrinne & Taylor        Standards Track                    [Page 10]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   When sending multiple consecutive V.21 events in a succession of
   packets, the sending gateway MUST ensure that individual event
   durations reported do not cause the last event of one packet to
   overlap with the first event of the next, taking into account the
   respective initial event timestamps.  To accomplish this, the sending
   gateway MUST derive the individual event durations as the succession
   of differences between the event starting times (so that, at 8000 Hz,
   every third event has reported duration 26 units, the remainder 27
   units).

   Where a receiving gateway recognizes that a packet reports a
   consecutive series of V.21 bit events, it SHOULD play them out at a
   uniform rate despite the possible one-timestamp-unit discrepancies in
   their reported spacing and duration.

   +--------------------+----------------+------------+------+---------+
   | Event              | Frequency (Hz) | Event Code | Type | Volume? |
   +--------------------+----------------+------------+------+---------+
   | V.21 channel 1,    |           1180 |         37 | tone |     yes |
   | '0' bit            |                |            |      |         |
   |                    |                |            |      |         |
   | V.21 channel 1,    |            980 |         38 | tone |     yes |
   | '1' bit            |                |            |      |         |
   |                    |                |            |      |         |
   | V.21 channel 2,    |           1850 |         39 | tone |     yes |
   | '0' bit            |                |            |      |         |
   |                    |                |            |      |         |
   | V.21 channel 2,    |           1650 |         40 | tone |     yes |
   | '1' bit            |                |            |      |         |
   +--------------------+----------------+------------+------+---------+

                     Table 2: Events for V.21 Signals

   Implementations that choose to transmit V.21 content using a
   different payload type may wish to use one of the indicator events
   defined in Table 7 to alert the receiver to the nature of the
   content.  It is not expected that an implementation will send both
   one of these indicator events and the V.21 bit events defined above
   for the same content.

2.2.1.  Handling of Congestion

   The duration of V.21 bits cannot be extended from its nominal value
   (which depends on the transmission rate).  The playout algorithm at
   the receiver should take this constraint into account when
   compensating for the delay or loss of packets due to congestion.





Schulzrinne & Taylor        Standards Track                    [Page 11]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   Other congestion-related considerations depend on the specific
   application for which the V.21 bit events are being used.

2.3.  V.8 Events

   V.8 [9] is an older general negotiation and control protocol,
   supporting startup for the following terminals: H.324 [20]
   multimedia, V.18 [11] text, T.101 [22] videotext, T.30 [8] send or
   receive fax, and a long list of V-series modems including V.34 [28],
   V.90 [29], V.91 [30], and V.92 [31].  In contrast to V.8 bis [10], in
   V.8 only the calling terminal can determine the operating mode.

   V.8 does not use the same terminology as V.8 bis.  Rather, it defines
   four signals that consist of bits transferred by V.21 [12] at 300
   bits/s: the call indicator signal (CI), the call menu signal (CM),
   the CM terminator (CJ), and the joint menu signal (JM).  In addition,
   it uses tones defined in V.25 [13] and T.30 [8] (described below),
   and one tone (ANSam) defined in V.8 itself.  The calling terminal
   sends using the V.21 low channel; the answering terminal uses the
   high channel.

   The basic protocol sequence is subject to a number of variations to
   accommodate different terminal types.  A pure V.8 sequence is as
   follows:

   1.  After an initial period of silence, the calling terminal
       transmits the V.8 CI signal.  It repeats CI at least three times,
       continuing with occasional pauses until it detects ANSam tone.
       The CI indicates whether the calling terminal wants to function
       as H.324, V.18, T.30 send, T.30 receive, or a V-series modem.

   2.  The answering terminal transmits ANSam after detecting CI.  ANSam
       will disable any G.164 [6] echo suppressors on the circuit after
       400 ms and any G.165 [7] echo cancellers after one second of
       ANSam playout.

   3.  On detecting ANSam, the calling terminal pauses at least half a
       second, then begins transmitting CM to indicate detailed
       capabilities within the chosen mode.

   4.  After detecting at least two identical sequences of CM, the
       answering terminal begins to transmit JM, indicating its own
       capabilities (or offering an alternative terminal type if it
       cannot support the one requested).







Schulzrinne & Taylor        Standards Track                    [Page 12]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   5.  After detecting at least two identical sequences of JM, the
       calling terminal completes the current octet of CM, then
       transmits CJ to acknowledge the JM signal.  It pauses exactly 75
       ms, then starts operating in the selected mode.

   6.  The answering terminal transmits JM until it has detected CJ.  At
       that point, it stops transmitting JM immediately, pauses exactly
       75 ms, then starts operating in the selected mode.

   The CI, CM, and JM signals all consist of a fixed sequence of ten '1'
   bits followed by a signal-dependent pattern of ten synchronization
   bits, followed by one or more octets of variable information.  Each
   octet is preceded by a '0' start bit and followed by a '1' stop bit.
   The combination of the synchronization pattern and V.21 channel
   uniquely identifies the message type.  The CJ signal consists of
   three successive octets of all zeros with stop and start bits but
   without the preceding '1's and synchronizing pattern of the other
   signals.

   Applications MAY report each instance of a CM, JM, and CJ signal,
   respectively, as a series of V.21 bit events (Section 2.2), or may
   use another payload type to carry this information.  Applications
   supporting V.8 signalling using the telephone-event payload MAY
   report the synchronization part of the CI signal (ten '1's followed
   by '00000 00001') both as a series of V.21 bit events and, when it
   has been recognized, as a single CI event.

      Note that the CI event covers only the synchronization part of the
      CI signal.  The remaining call function octet and its start and
      stop bits need to be transmitted also, either as a series of V.21
      bit events or in some other payload format.  Presumably, the
      calling end gateway will use the same format for the CM and CJ
      signals.

   The overlapping nature of V.8 signalling means that there is no risk
   of silence exceeding 100 ms once ANSam has disabled any echo control
   circuitry.  However, the 75-ms pause before entering operation in the
   selected data mode will require both the calling and the answering
   gateways to recognize the completion of CJ, so they can change from
   playout of telephone-event to playout of the data-bearing payload
   after the 75-ms period.










Schulzrinne & Taylor        Standards Track                    [Page 13]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


      +--------+----------------------+------------+------+---------+
      | Event  |       Frequency (Hz) | Event Code | Type | Volume? |
      +--------+----------------------+------------+------+---------+
      | ANSam  |            2100 x 15 |         34 | tone |     yes |
      |        |                      |            |      |         |
      | /ANSam | 2100 x 15 phase rev. |         35 | tone |     yes |
      |        |                      |            |      |         |
      | CI     |          (V.21 bits) |         53 | tone |     yes |
      +--------+----------------------+------------+------+---------+

                      Table 3: Events for V.8 Signals

   ANSam:

      The modified answer tone ANSam consists of a sinewave signal at
      2100 Hz, amplitude-modulated by a sine wave at 15 Hz.  The
      beginning of the event is at the beginning of the tone.  The end
      of the event is at the sooner of the ending of the tone or the
      occurrence of a phase reversal (marking the beginning of a /ANSam
      event).  Phase reversals are used to disable echo cancellation; if
      they are being applied, they occur at 450-ms intervals.

      An ANSam event packet SHOULD NOT be sent until it is possible to
      discriminate between an ANSam event and an ANS event (see V.25
      events, below).

      The modulated envelope for the ANSam tone ranges in amplitude
      between 0.8 and 1.2 times its average amplitude.  The average
      transmitted power is governed by national regulations.  Thus, it
      makes sense to indicate the volume of the signal.

   /ANSam:

      /ANSam reports the same physical signal as ANSam, but is reported
      following the first phase reversal in that signal.  It begins with
      the phase reversal and ends at the end of the tone.  The receiver
      of /ANSam MUST reverse the phase of the tone at the beginning of
      playout of /ANSam and every 450 ms thereafter until the end of the
      tone is reached.

   CI:

      CI reports the occurrence of the V.21 bit pattern '11111 11111
      00000 00001' indicating the beginning of a V.8 CI signal.  The
      event begins at the beginning of the first bit and ends at the end
      of the last one.  This event MUST NOT be reported except in a
      context where a V.8 CI signal might be expected (i.e., at the
      calling end during call setup).  Note that if the calling modem



Schulzrinne & Taylor        Standards Track                    [Page 14]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


      sends the CI signal at all, it will typically repeat the signal
      several times.

      It is expected that the CI event will be most useful when the
      modem content is being transmitted primarily using another payload
      type.  The event acts as a commentary on that content, allowing
      the receiver to recognize that V.8 signalling is in progress.

2.3.1.  Handling of Congestion

   The tolerances built into V.8 suggest that it may be mostly robust in
   the face of packet losses or delays.  Playout of ANSam and /ANSam can
   be extended for multiple packetization periods without harm, provided
   that phase reversals occur on schedule at 450-ms intervals during
   playout of the latter.

   To increase robustness of transmission of the V.21-based signals,
   sending applications using the V.21 events SHOULD include an integral
   number of octets, including start and stop bits, in each packet.  The
   presence of start and stop bits provides some hope that receiving
   implementations can withstand unavoidable gaps in playout between
   octets.  When a message is being repeated (as is possible for CI, CM,
   and JM), an even stronger robustness measure would be for the
   receiver to retain a copy of the message when it is first received,
   and when a packet is delayed or lost to continue playing out the
   current message instance and commence a new repetition as if packets
   had continued to arrive on schedule.

2.4.  V.25 Events

   V.25 [13] is a start-up protocol predating V.8 [9] and V.8 bis [10].
   It specifies the exchange of two tone signals: CT and ANS.

   CT (calling tone) consists of a series of interrupted bursts of
   1300-Hz tone, on for a duration of not less than 0.5 s and not more
   than 0.7 s and off for a duration of not less than 1.5 s and not more
   than 2.0 s. [13].  Modems not starting with the V.8 CI signal often
   use this tone.

   ANS (Answer tone) is a 2100-Hz tone used to disable echo suppression
   for data transmission [13], [8].  For fax machines, Recommendation
   T.30 [8] refers to this tone as called terminal identification (CED)
   answer tone.  ANS differs from V.8 ANSam in that, unlike the latter,
   it has constant amplitude.

   V.25 specifically includes procedures for disabling echo suppressors
   as defined by ITU-T Rec. G.164 [6].  However, G.164 echo suppressors
   have now for the most part been replaced by G.165 [7] echo



Schulzrinne & Taylor        Standards Track                    [Page 15]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   cancellers, which require phase reversals in the disabling tone (see
   ANSam above).  As a result, Recommendation V.25 was modified in July
   2001 to say that phase reversal in the ANS tone is required if echo
   cancellers are to be disabled.

   One possible V.25 sequence is as follows:

   1.  The calling terminal starts generating CT as soon as the call is
       connected.

   2.  The called terminal waits in silence for 1.8 to 2.5 s after
       answer, then begins to transmit ANS continuously.  If echo
       cancellers are on the line, the phase of the ANS signal is
       reversed every 450 ms.  ANS will not reach the calling terminal
       until the echo control equipment has been disabled.  Since this
       takes about a second, it can only happen in the gap between one
       burst of CT and the next.

   3.  Following detection of ANS, the calling terminal may stop
       generating CT immediately or wait until the end of the current
       burst to stop.  In any event, it must wait at least 400 ms (at
       least 1 s if phase reversal of ANS is being used to disable echo
       cancellers) after stopping CT before it can generate the calling
       station response tone.  This tone is modem-specific, not
       specified in V.25.

   4.  The called terminal plays out ANS for 2.6 to 4.0 seconds or until
       it has detected calling station response for 100 ms.  It waits
       55-95 ms (nominal 75 ms) in silence.  (Note that the upper limit
       of 95 ms is rather close to the point at which echo control may
       reestablish itself.)  If the reason for ANS termination was
       timeout rather than detection of calling station response, the
       called terminal begins to play out ANS again to maintain
       disabling of echo control until the calling station responds.

   The events defined for V.25 signalling are shown in Table 4.

   +-------------------+----------------+------------+------+---------+
   | Event             | Frequency (Hz) | Event Code | Type | Volume? |
   +-------------------+----------------+------------+------+---------+
   | Answer tone (ANS) | 2100           |         32 | tone |     yes |
   |                   |                |            |      |         |
   | /ANS              | 2100 ph. rev.  |         33 | tone |     yes |
   |                   |                |            |      |         |
   | CT                | 1300           |         49 | tone |     yes |
   +-------------------+----------------+------------+------+---------+

                     Table 4: Events for V.25 Signals



Schulzrinne & Taylor        Standards Track                    [Page 16]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   ANS:

      The beginning of the event is at the beginning of the 2100-Hz
      tone.  The end of the event is at the sooner of the ending of the
      tone or the occurrence of a phase reversal (marking the beginning
      of a /ANS event).

      An initial ANS event packet SHOULD NOT be sent until it is
      possible to discriminate between an ANS event and an ANSam event
      (see V.8 events, above).

   /ANS:

      /ANS reports the same physical signal as ANS, but is reported
      following the first phase reversal in that signal.  It begins with
      the phase reversal and ends at the end of the tone.  The receiver
      of /ANS MUST reverse the phase of the tone at the beginning of
      playout of /ANS and every 450 ms thereafter until the end of the
      tone is reached.

   CT:

      The beginning of the CT event is at the beginning of an individual
      burst of the 1300-Hz tone.  The end of the event is at the end of
      that tone burst.  The gateway at the calling end SHOULD use a
      packetization interval smaller than the nominal duration of a CT
      burst, to ensure that CT playout at the called end precedes the
      sending of ANS from that end.

2.4.1.  Handling of Congestion

   The V.25 sequence appears to be robust in the face of lost or delayed
   packets, provided that the receiver continues to play out any tone it
   is in the process of playing until more packets are received.  The
   receiver must play out the phase transitions for /ANS on schedule, at
   450-ms intervals, even if updates of the /ANS event have been
   delayed.  It also appears to be possible for the sender to
   temporarily increase the packetization interval to reduce packet
   volumes when congestion is encountered.  The one risk is that
   extended playout proceeds past the actual end of the tone (as
   determined retroactively), and the receiver is forced to continue
   imposing an additional playout buffering lag in order to meet the
   constraint on maximum duration of the nominal 75-ms silent period
   following tone playout.







Schulzrinne & Taylor        Standards Track                    [Page 17]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


2.5.  V.32/V.32bis Events

   ITU-T Recommendation V.32 [14] is a modem using phase-shift keying
   with quadrature amplitude modification.  It operates on a carrier at
   1800 Hz, modulated at 2400 symbols/s.  The basic data rates for V.32
   are 4800 and 9600 bits/s.  V.32bis [15] extends the data rates up to
   14,400 bits/s.  Most or all existing deployments are V.32bis,
   typically in support of point-of-sale terminals and the like.

   One reason V.32bis is still used is because of its relatively rapid
   start-up sequence, particularly on leased lines.  Operating over the
   public telephone network, the start-up begins as follows:

   a.  the answering end begins with the V.25 answering procedure (1.8
       to 2.5 s of silence followed by continuous ANS tone to a maximum
       of 3.3 s, with possible phase reversals to disable echo
       cancelling equipment);

   b.  the calling end waits in silence until it has detected ANS for
       1 s;

   c.  the calling end begins to transmit a V.32/V.32bis pattern
       designated AA, i.e., a series of '0000' bit sequences transmitted
       at 4800 bits/s;

   d.  upon detecting the AA pattern for at least 100 ms, the called
       modem is silent for 75 +/- 20 ms, then responds with an AC
       pattern, which is a series of '0011' bit sequences transmitted at
       4800 bits/s.

   The difference in leased line operation is that the calling modem
   starts the session by sending AA.  After that, the called modem
   responds with AC, and the rest of the sequence is unchanged.

   In support of V.32/V.32bis operation, Table 5 defines two events,
   V32AA and V32AC.

    +----------------+------------------+------------+------+---------+
    | Event          | Bit Pattern      | Event Code | Type | Volume? |
    +----------------+------------------+------------+------+---------+
    | V32AA          | b'0000' repeated |         63 | tone |     yes |
    |                |                  |            |      |         |
    | V32AC          | b'0011' repeated |         27 | tone |     yes |
    +----------------+------------------+------------+------+---------+

                 Table 5: Events for V.32/V.32bis Signals





Schulzrinne & Taylor        Standards Track                    [Page 18]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   V32AA:

      Indicates that the AA calling pattern of a V.32/V.32bis terminal
      has been detected.

   V32AC:

      Indicates that the AC answering pattern of a V.32/V.32bis terminal
      has been detected.

   Each of these two events begins at the beginning of its pattern, and
   ends nominally when the pattern stops being received.  Following the
   sending of either of these events the session may continue using
   V.150.1 modem relay [32] or Clearmode [17] as negotiated or
   configured in advance.  To help make the transition as quickly as
   possible, the V32AA or V32AC event SHOULD be reported as soon as the
   corresponding pattern is detected.  It seems likely that the
   implementation will be transmitting the event reports simultaneously
   with the same data in an alternate form, typically using RFC 2198 [2]
   redundancy.

2.5.1.  Handling of Congestion

   The primary issue raised by congestion is the loss or undue delay of
   the initial report.  Once the receiver is aware that an AA or AC
   pattern has been detected, further reports are of no interest.  The
   actual duration of the AC pattern may be as short as 27 ms.  On this
   basis, the appropriate sender behavior may be to send at least three
   packets reporting the event using normal event updates and end of
   event retransmission behavior and a fairly short packetization
   interval (20-30 ms).

2.6.  T.30 Events

   ITU-T Recommendation T.30 [8] defines the procedures used by Group
   III fax terminals.  The pre-message procedures for which the events
   of this section are defined are used to identify terminal
   capabilities at each end and negotiate operating mode.  Post-message
   procedures are also included, to handle cases such as multiple
   document transmission.  Fax terminals support a wide variety of
   protocol stacks, so T.30 has a number of options for control
   protocols and sequences.

   T.30 defines two tone signals used at the beginning of a call.  The
   CNG signal is sent by the calling terminal.  It is a pure 1100-Hz
   tone played in bursts: 0.5 s on, 3 s off.  It continues until timeout





Schulzrinne & Taylor        Standards Track                    [Page 19]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   or until the calling terminal detects a response.  Its primary
   purpose is to let human operators at the called end know that a fax
   terminal has been activated at the calling end.

   The called terminal waits in silence for at least 200 ms.  It then
   may return CED tone (which is physically identical to V.25 ANS), or
   else V.8 ANSam if it has V.8 capability.  If called and calling
   terminals both support V.8, the called terminal will detect CI or
   more likely CM in response to its ANSam and will continue with V.8
   negotiation.  Otherwise, the called terminal stops transmitting CED
   after 2.6 to 4 seconds, waits 75 +/- 20 ms in silence, then enters
   the T.30 negotiation phase.

   In the T.30 negotiation phase the terminals exchange binary messages
   using V.21 signals, high channel frequencies only, at 300 bits/s.
   Each message is preceded by a one-second (nominal) preamble
   consisting entirely of HDLC flag octets (0x7E).  This flag has the
   function of preparing echo control equipment for the message that
   follows.

   The pre-transfer messages exchanged using the V.21 coding are:

   Digital Identification Signal (DIS):

      Characterizes the standard ITU-T capabilities of the called
      terminal.  This is always the first message sent.

   Digital Transmit Command (DTC):

      A possible response to the DIS signal by the calling terminal.  It
      requests the called terminal to be the transmitter of the fax
      content.

   Digital Command Signal (DCS):

      A command message sent by the transmitting terminal to indicate
      the options to be used in the transmission and request that the
      other end prepare to receive fax content.  This is sent by the
      calling end if it will transmit, or by the called end in response
      to a DTC from the calling end.  It is followed by a training
      signal, also sent by the transmitting terminal.

   Confirmation To Receive (CFR):

      A digital response confirming that the entire pre-message
      procedure including training has been completed and the message
      transmissions may commence.




Schulzrinne & Taylor        Standards Track                    [Page 20]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   Each message may consist of multiple frames bounded by HDLC flags.
   The messages are organized as a series of octets, but like V.8 bis,
   T.30 calls for the insertion of extra '0' bits to prevent spurious
   recognition of HDLC flags.

   T.30 also provides for the transmission of control messages after
   document transmission has completed (e.g., to support transmission of
   multiple documents).  The transition to and from the modem used for
   document transmission (V.17 [24], V.27ter [26], V.29 [27], V.34 [28])
   is preceded by 75 ms (nominal) of silence).

   Applications supporting T.30 signalling using the telephone-event
   payload MAY report the preamble preceding each message both as a
   series of V.21 bit events and, when it has been recognized, as a
   single V.21 preamble event.  The T.30 control message following the
   preamble MAY be reported in the form of a sequence of V.21 bit events
   or using some other payload type.  If transmitted as bit events, the
   transmitted information MUST include the complete contents of the
   message: the initial HDLC flags, the information field, the checksum,
   the terminating HDLC flags, and the extra '0' bits added to prevent
   false recognition of HDLC flags at the receiver.  Implementers should
   note that these extra '0' bits mean that in general T.30 messages as
   transmitted on the wire will not come out to an even multiple of
   octets.

   The training signal sent by the transmitting terminal after DCS
   consists of a steady string of V.21 high channel zeros (1850-Hz tone)
   for 1.5 s.  Since the bit rate (nominally 300 bits/s) should have
   been clearly established when processing the preceding signalling, it
   is natural that if the telephony-event payload type is being used,
   this training signal will also be sent as a series of V.21 bit events
   at that bit rate.  However, if the sending gateway is capable of
   recognizing the transition from the end of the DCS to the start of
   training, it MAY report the training signal as a single extended V.21
   (high channel) '0' event.

   The events defined for T.30 signalling are shown in Table 6.  The CED
   and /CED events represent exactly the same tone signals as V.25 ANS
   and /ANS, and are given the same codepoints; they are reproduced here
   only for convenience.











Schulzrinne & Taylor        Standards Track                    [Page 21]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   +--------------------+----------------+------------+------+---------+
   | Event              | Frequency (Hz) | Event Code | Type | Volume? |
   +--------------------+----------------+------------+------+---------+
   | CED (Called tone)  | 2100           |         32 | tone |     yes |
   |                    |                |            |      |         |
   | /CED               | 2100 ph. rev.  |         33 | tone |     yes |
   |                    |                |            |      |         |
   | CNG (Calling tone) | 1100           |         36 | tone |     yes |
   |                    |                |            |      |         |
   | V.21 preamble flag | (V.21 bits)    |         54 | tone |     yes |
   +--------------------+----------------+------------+------+---------+

                     Table 6: Events for T.30 Signals

   CED:

      The beginning of the event is at the beginning of the 2100-Hz
      tone.  The end of the event is at the sooner of the ending of the
      tone or the occurrence of a phase reversal (marking the beginning
      of a /CED event).

      An initial CED event packet SHOULD NOT be sent until it is
      possible to discriminate between a CED event and an ANSam event
      (see V.8 events, above).

   /CED:

      /CED reports the same physical signal as CED, but is reported
      following the first phase reversal in that signal.  It begins with
      the phase reversal and ends at the end of the tone.  The receiver
      of /CED MUST reverse the phase of the tone at the beginning of
      playout of /CED and every 450 ms thereafter until the end of the
      tone is reached.

   CNG:

      The beginning of the CNG event is at the beginning of an
      individual burst of the 1100-Hz tone.  The end of the event is at
      the end of that tone burst.

   V.21 preamble flag:

      This event begins with the first V.21 bits transmitted after a
      period of silence.  It ends when a pattern of V.21 bits other than
      an HDLC flag is observed.  This means that the V.21 preamble event
      absorbs the initial HDLC flags of the following message.





Schulzrinne & Taylor        Standards Track                    [Page 22]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


      It is expected that the V.21 preamble flag event will be most
      useful when the modem content is being transmitted primarily using
      another payload type.  The event acts as a commentary on that
      content, allowing the receiver to prepare itself to transition to
      fax mode.

2.6.1.  Handling of Congestion

   T.30 appears to be an intermediate case in terms of its vulnerability
   to congestion.  Tone playout in the face of packet delay or loss is
   subject to the same considerations as for V.25 (see Section 2.4.1).
   Similarly, the receiver may extend playout of the preamble event
   while waiting for further reports.  However, gaps or extended playout
   of the V.21 sequences are not feasible.  This means, as with V.8 bis,
   that the receiver must manage its playout buffer appropriately to
   increase robustness in the face of congestion.

2.7.  Events for Text Telephony

2.7.1.  Signal Format Indicators for Text Telephony

   Legacy text telephony uses a wide variety of terminals, with
   different standards favored in different parts of the world.  Going
   forward, the vision is that new terminals will work directly into the
   packet network and be based on RFC 4103 [18] packetization of
   character data.  In anticipation of this migration, it is RECOMMENDED
   that text carried in the PSTN by legacy modem protocols be converted
   to RFC 4103 packets at the sending gateway.

   During a transitional period, however, gateways of a lesser
   capability may be able to recognize the nature of incoming content,
   but may only be able to encode it as voice-band data on the packet
   side.  In such circumstances, it will help to optimize processing of
   the signal at the receiving end if that end receives an indication of
   the nature of the voice-encoded data signals.  The events defined in
   this section provide such indications, and MAY be used in conjunction
   with ITU-T Recommendation V.152 [33], as one example, to carry the
   content as voice-band data.

   Implementers should take note of an additional class of text
   terminals not considered in the events below.  These terminals use
   dual tone multi-frequency (DTMF) tones to encode and exchange
   signals.  This application is described in RFC 4733 [5], Section 3.1,
   in conjunction with the registration of DTMF events.







Schulzrinne & Taylor        Standards Track                    [Page 23]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   The events shown in Table 7 correspond to signals coming from the
   following modem types:

   o  Baudot [34], a five bit character encoding nominally operating at
      45.45 or 50 bits/s with frequencies 1800 Hz = '0', 1400 Hz = '1';

   o  EDT, which is V.21 [12] operating at 110 bits/s in half-duplex
      mode (lower channel only); characters are 7-bit IA5 plus initial
      start bit, trailing parity bit, and two stop bits;

   o  Bell 103 mode (documented in Recommendation V.18 Annex D), which
      is structurally similar to V.21, but uses different frequencies:
      lower channel, 1070 Hz = '0', 1270 Hz = '1'; upper channel, 2025
      Hz = '0', 2225 Hz = '1'; characters are US ASCII framed by one
      start bit, one trailing parity bit, and one stop bit;

   o  V.23 [25] based videotex, in Minitel and Prestel versions.  V.23
      offers a forward channel operating at 1200 bits/s if possible
      (2100 Hz = '0', 1300 Hz = '1') or otherwise at 600 bits/s (1700 Hz
      = '0', 1300 Hz = '1'), and a 75 bits/s backward channel, which is
      transmitting 390 Hz (continuous '1's) except when '0' is to be
      transmitted (450 Hz);

   o  a non-V.18 text terminal using V.21 [12] at 300 bits/s.
      Characters are 7-bit national (e.g., US ASCII) with a start bit,
      parity, and one stop bit.

























Schulzrinne & Taylor        Standards Track                    [Page 24]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   +----------+-----------+----------------+---------+-------+---------+
   | Event    | Bit Rate  | Frequency (Hz) |   Event |  Type | Volume? |
   |          | bits/s    |                |    Code |       |         |
   +----------+-----------+----------------+---------+-------+---------+
   | ANS2225  | N/A       | 2225           |      52 |  tone |     yes |
   |          |           |                |         |       |         |
   | V21L110  | 110       | 980/1180       |      55 | other |      no |
   |          |           |                |         |       |         |
   | V21L300  | 300       | 980/1180       |      30 | other |      no |
   |          |           |                |         |       |         |
   | V21H300  | 300       | 1650/1850      |      31 | other |      no |
   |          |           |                |         |       |         |
   | B103L300 | 300       | 1070/1270      |      56 | other |      no |
   |          |           |                |         |       |         |
   | V23Main  | 600/1200  | 1700-2100/1300 |      57 | other |      no |
   |          |           |                |         |       |         |
   | V23Back  | 75        | 450/390        |      58 | other |      no |
   |          |           |                |         |       |         |
   | Baud4545 | 45.45     | 1800/1400      |      59 | other |      no |
   |          |           |                |         |       |         |
   | Baud50   | 50        | 1800/1400      |      60 | other |      no |
   |          |           |                |         |       |         |
   | XCIMark  | 1200      | 2100/1300      |      62 |  tone |     yes |
   +----------+-----------+----------------+---------+-------+---------+

                  Table 7: Indicators for Text Telephony

   ANS2225:

      indicates that a 2225-Hz answer tone has been detected.  This is a
      pure tone with no amplitude modulation and no semantics attached
      to phase reversals, if there are any.  The sender SHOULD report
      the beginning of the event when the tone is detected.  The sender
      MAY send updates as the tone continues, and MUST report the end of
      the event when the tone ceases.  The tone concerned is generated
      by a Bell 103-type modem in answer mode.  This event MUST NOT be
      reported outside of the startup context (i.e., on the answering
      side at the beginning of a call).

   V21L110:

      indicates that the sender has detected V.21 modulation operating
      in the lower channel at 110 bits/s.  Note that it may take some
      time to distinguish between 300 bits/s and 110 bits/s operation.
      It is expected that implementations will not transmit both this
      event and individual V.21 bit events for the same content.





Schulzrinne & Taylor        Standards Track                    [Page 25]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   V21L300:

      indicates that the sender has detected V.21 modulation operating
      in the lower channel at 300 bits/s.  Note that it may take some
      time to distinguish between 300 bits/s and 110 bits/s operation.
      It is expected that implementations will not transmit both this
      event and individual V.21 bit events for the same content.

   V21H300:

      indicates that the sender has detected V.21 modulation operating
      in the upper channel at 300 bits/s.  It is expected that
      implementations will not transmit both this event and individual
      V.21 bit events for the same content.

   B103L300:

      indicates that the sending device has detected Bell 103 class
      modulation operating in the low channel at 300 bits/s.

   V23Main:

      indicates that the sending device has detected V.23 modulation
      operating in the high-speed channel.  As described below, this
      indicator may alternate with the XCIMark indication.

   V23Back:

      indicates that the sending device has detected V.23 modulation
      operating in the 75 bit/s back-channel.

   Baud4545:

      indicates that the sending device has detected Baudot modulation
      operating at 45.45 bits/s.

   Baud50:

      indicates that the sending device has detected Baudot modulation
      operating at 50 bits/s.

   XCIMark:

      Indicates that the sending device has detected the specific bit
      pattern (0) 1111 1111(1)(0)1111 1111(1) sent at 1200 bits/s using
      V.23 upper-channel modulation, following a period of V.23 main
      channel "mark" (1300 Hz).




Schulzrinne & Taylor        Standards Track                    [Page 26]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   It is assumed in all cases that the event reports described here are
   being transmitted in addition to another media encoding, typically
   G.711 [19] voice-band data, reporting the same information.  A
   natural method to do this is to combine the voice-band data with
   event reports in an RFC 2198 [2] redundancy payload.

   The handling of ANS2225 has been indicated above.  Since it is a
   specific tone, it can be handled like any other tone event.

   For all of the other indicators, the sender SHOULD generate an
   initial event report as soon as the nature of the audio content has
   been recognized.  For reliability, the initial event report SHOULD be
   retransmitted twice at short intervals. (20 ms is a suggested value,
   although the packetization period of the associated media may be
   sufficient.)  The sender MAY continue to send additional reports of
   the same indicator event, although these have little value once the
   receiver has adjusted itself to the type of content it is receiving.

   If the nature of the content changes (e.g., because it is coming from
   a V.18 terminal in the probing stage), the sender MUST send an event
   report for the new content type as soon as it is recognized.  If the
   sender has been sending updates for the previous indicator, it SHOULD
   report the end of that previous indicator event along with the
   beginning of the new one.

2.7.1.1.  Handling of Congestion

   In the face of packet loss or delay, it is appropriate for the
   receiver to continue to play out the ANS2225 event until further
   packets are received.  For the other events, the issue is loss of the
   initial event report rather than maintenance of playout continuity.
   The advice on retransmission of these other events already given
   above is sufficient to deal with packet loss or delay due to
   congestion.

2.7.2.  Use of Events with V.18 Modems

   ITU-T Recommendation V.18 [11] defines a terminal for text
   conversation, possibly in combination with voice.  V.18 is intended
   to interoperate with a variety of legacy text terminals, so its
   start-up sequence can consist of a series of stimuli designed to
   determine what is at the other end.  Two V.18 terminals talking to
   each other will use V.8 to negotiate startup and continue at the
   physical level with V.21 at 300 bits/s carrying 7-bit characters
   bounded by start and stop bits.






Schulzrinne & Taylor        Standards Track                    [Page 27]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   The V.18 terminal is also designed to interoperate with the text
   modems listed in the previous sub-section.  The startup sequences for
   all these different terminal types are naturally quite different.
   The V.18 initial startup sequence specifically addresses itself to
   V.8-capable terminals and V.21 terminals and, by the combination of
   signals, to V.23 videotex terminals.  During the initial startup
   sequence, the V.18 terminal listens for frequency responses
   characterizing the other terminal types.  If it does not make contact
   in the preliminary step, it probes for each type specifically.  By
   the nature of the application, V.18 has been designed to provide an
   extremely robust startup capability.

   The handling of the V.18 XCI signal is a specific case of the
   procedures described in the previous section.  XCI is a signal
   transmitted in high-band V.23 modulation to stimulate V.23 terminals
   to respond and to allow detection of V.18 capabilities in a DCE.  The
   3-second XCI signal uses the V.23 upper channel having periods of
   "mark" (i.e., 1300 Hz) alternating with the XCIMark pattern.  The
   full definition is found in V.18, Section 3.13.  The sender SHOULD
   indicate V23Main during the transmission of the "mark" portion of
   XCI, and change the indication to XCIMark when that pattern is
   detected.

2.8.  A Generic Indicator

   Numerous proprietary modem protocols exist, as well as standardized
   protocols not identified above.  Table 8 defines a single indicator
   event that may be used to identify modem content when a more specific
   event is unavailable.  Typically, this would be sent in combination
   with another payload type, for example, voice-band data as specified
   by ITU-T Recommendation V.152 [33].

   As with the indicators in the previous section, the sender SHOULD
   generate an initial event report as soon as the nature of the audio
   content has been recognized.  For reliability, the initial event
   report SHOULD be retransmitted twice at short intervals. (20 ms is a
   suggested value, although the packetization period of the associated
   media may be sufficient.)  The sender MAY continue to send additional
   reports of the VBDGen event, although these have little value once
   the receiver has adjusted itself to the type of content it is
   receiving.










Schulzrinne & Taylor        Standards Track                    [Page 28]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   +--------+---------------+------------+-----------+-------+---------+
   | Event  | Bit Rate      | Frequency  |     Event |  Type | Volume? |
   |        | bits/s        | (Hz)       |      Code |       |         |
   +--------+---------------+------------+-----------+-------+---------+
   | VBDGen | Variable      | Variable   |        61 | other |      no |
   +--------+---------------+------------+-----------+-------+---------+

                  Table 8: Generic Modem Signal Indicator

   VBDGen:

      indicates that the sender has detected tone patterns indicating
      the operation of some form of modem.  This indicator SHOULD NOT be
      sent if a more specific event is available.

3.  Strategies for Handling Fax and Modem Signals

   As described in Section 1.2, the typical data application involves a
   pair of gateways interposed between two terminals, where the
   terminals are in the PSTN.  The gateways are likely to be serving a
   mixture of voice and data traffic, and need to adopt payload types
   appropriate to the media flows as they occur.  If voice compression
   is in use for voice calls, this means that the gateways need the
   flexibility to switch to other payload types when data streams are
   recognized.

   Within the established IETF framework, this implies that the gateways
   must negotiate the potential payloads (voice, telephone-event, tones,
   voice-band data, T.38 fax [21], and possibly RFC 4103 [18] text and
   Clearmode [17] octet streams) as separate payload types.  From a
   timing point of view, this is most easily done at the beginning of a
   call, but results in an over-allocation of resources at the gateways
   and in the intervening network.

   One alternative is to use named events to buy time while out-of-band
   signals are exchanged to update to the new payload type applicable to
   the session.  Thanks to the events defined in this document, this is
   a viable approach for sessions beginning with V.8, V.8 bis, T.30, or
   V.25 control sequences.

   Named data-related events also allow gateways to optimize their
   operation when data signals are received in a relatively general
   form.  One example is the use of V.8-related events to deduce that
   the voice-band data being sent in a G.711 payload comes from a
   higher-speed modem and therefore requires disabling of echo
   cancellers.





Schulzrinne & Taylor        Standards Track                    [Page 29]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   All of the control procedures described in the sub-sections of
   Section 2 eventually give way to data content.  As mentioned above,
   this content will be carried by other payload types.  Receiving
   gateways MUST be prepared to switch to the other payload type within
   the time constraints associated with the respective applications.
   (For several of the procedures documented above, the sender provides
   75 ms of silence between the initial control signalling and the
   sending of data content.)  In some cases (V.8 bis [10], T.30 [8]),
   further control signalling may happen after the call has been
   established.

   A possible strategy is to send both the telephone-event and the data
   payload in an RFC 2198 [2] redundancy arrangement.  The receiving
   gateway then propagates the data payload whenever no event is in
   progress.  For this to work, the data payload and events (when
   present) MUST cover exactly the same content over the same time
   period; otherwise, spurious events will be detected downstream.  An
   example of this mode of operation is shown below.

   Note that there are a number of cases where no control sequence will
   precede the data content.  This is true, for example, for a number of
   legacy text terminal types.  In such instances, the events defined in
   Section 2.7 in particular MAY be sent to help the remote gateway
   optimize its handling of the alternative payload.

4.  Example of V.8 Negotiation

   This section presents an example of the use of the event codes
   defined in Section 2.  The basic scenario is the startup sequence for
   duplex V.34 modem operation.  It is assumed that once the initial V.8
   sequence is complete, the gateways will enter into voice-band data
   operation using G.711 encoding to transmit the modem signals.  The
   basic packet sequence is indicated in Table 9.  Sample packets are
   then shown in detail for two variants on event transmission strategy:

   o  simultaneous transmission of events and retransmitted events using
      RFC 2198 [2] redundancy;

   o  simultaneous transmission of events, retransmitted events, and
      voice-band data covering the same content using RFC 2198
      redundancy.

   For simplicity and semi-realism, the times shown for the example
   scenario assume a fixed lag at each gateway of 20 ms between the
   packet side of the gateway and the local user equipment and vice
   versa (i.e., minimum of 40 ms between packet received and packet sent
   specifically in response to the received packet).  A propagation
   delay of 5 ms is assumed between gateways.  It is assumed that the



Schulzrinne & Taylor        Standards Track                    [Page 30]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   event packetization interval is 30 ms, a reasonable compromise
   between packet volume and buffering delay, particularly for V.21
   events.

   At the basic V.8 protocol level, the table assumes that the answering
   modem waits 0.2 s (200 ms) from the beginning of the call to start
   transmitting ANSam.  The calling modem waits 1 s (1000 ms) from the
   time it begins to receive ANSam until it begins to send the V.8 CM
   signal.  Both modems wait 75 ms from the time they finish sending and
   receiving CJ, respectively, until they begin sending V.34 modem
   signals.

   +------------+------------------------------------------------------+
   |  Time (ms) | Event                                                |
   +------------+------------------------------------------------------+
   |      220.0 | The called gateway detects the start of ANSam from   |
   |            | its end.                                             |
   |            |                                                      |
   |      250.0 | The called gateway sends out the first ANSam event   |
   |            | packet.  M bit is set, timestamp is ts0 + 1760       |
   |            | (where ts0 is the timestamp value at the start of    |
   |            | the call).  The initial ANSam event continues until  |
   |            | a phase shift is detected at 670.0 ms (see below).   |
   |            | Up to this time, the called gateway sends out        |
   |            | further ANSam event updates, with the same initial   |
   |            | timestamp, M bit off, and cumulative duration        |
   |            | increasing by 240 units each time.                   |
   |            |                                                      |
   |      255.0 | The calling gateway receives the first ANSam event   |
   |            | report and begins playout of ANSam tone at its end.  |
   |            |                                                      |
   |      275.0 | The calling terminal receives the beginning of ANSam |
   |            | tone and starts its timer.  It will begin sending    |
   |            | the CM signal 1 s later (at 1275.0 ms into the       |
   |            | call).                                               |
   |            |                                                      |
   |      670.0 | The called gateway detects a phase shift in the      |
   |            | incoming signal, marking a change from ANSam to      |
   |            | /ANSam.  This happens to coincide with the end of a  |
   |            | packetization interval.  For the sake of the         |
   |            | example, assume that the called gateway does not     |
   |            | detect this in time for the event report it sends    |
   |            | out.                                                 |
   |            |                                                      |







Schulzrinne & Taylor        Standards Track                    [Page 31]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   |      700.0 | The called gateway issues its next-scheduled event   |
   |            | report packet, indicating an initial report for      |
   |            | /ANSam (M bit set, timestamp ts0 + 5360, duration    |
   |            | 240 timestamp units).  The packet also carries the   |
   |            | first retransmission of the final ANSam report,      |
   |            | total duration 3600 units, this time with the E bit  |
   |            | set.                                                 |
   |            |                                                      |
   |     1295.0 | The calling gateway begins to receive the CM signal  |
   |            | from the calling modem.                              |
   |            |                                                      |
   |     1325.0 | The calling gateway sends a packet containing the    |
   |            | first 9 bits of the CM signal.                       |
   |            |                                                      |
   |     1445.0 | The calling gateway sends out a packet containing    |
   |            | the last 4 bits of the first CM signal, plus the     |
   |            | first 5 bits of the next repetition of that signal.  |
   |            | CM bits will continue to be transmitted from the     |
   |            | calling gateway until 2015.0 ms (see below), for a   |
   |            | total of 24 packets.  (The final packet also carries |
   |            | the beginning of the CJ signal.)                     |
   |            |                                                      |
   |     1596.7 | The called gateway completes playout of the final    |
   |            | bit of the second occurrence of the CM signal.       |
   |            |                                                      |
   |     1636.7 | The called gateway detects end of /ANSam (and        |
   |            | beginning of JM) from the called modem.  The next    |
   |            | packet is not yet due to go out.                     |
   |            |                                                      |
   |     1660.0 | The called gateway sends out a packet combining the  |
   |            | final /ANSam event report (E bit set and total       |
   |            | duration 533 timestamp units) with the first 7 bits  |
   |            | of the JM signal.  The M bit for the packet is set   |
   |            | and the packet timestamp is ts0 + 12560 (the start   |
   |            | of the now-discontinued /ANSam event).               |
   |            |                                                      |
   |     1690.0 | The called gateway sends out a packet containing the |
   |            | next nine bits of JM signal.  The M bit is set and   |
   |            | the timestamp is ts0 + 13280 (beginning of the first |
   |            | bit in the packet).  JM will continue to be          |
   |            | transmitted until 2170.0 ms (see below), for a total |
   |            | of 18 packets (plus two for final retransmissions).  |
   |            |                                                      |
   |     1938.3 | The calling gateway completes playout of the final   |
   |            | packet of the second occurrence of the JM signal.    |
   |            |                                                      |
   |     1995.0 | The calling gateway begins to receive the initial    |
   |            | bits of the CJ signal.                               |



Schulzrinne & Taylor        Standards Track                    [Page 32]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   |            |                                                      |
   |     2015.0 | The calling gateway sends a packet containing the    |
   |            | final 3 bits of the first decad of a CM signal and   |
   |            | first 6 bits of a CJ signal.                         |
   |            |                                                      |
   |     2095.0 | The calling gateway receives the last bit of the CJ  |
   |            | signal.  A period of silence lasting 75-ms begins at |
   |            | the called end.  It is not yet time to send out an   |
   |            | event report.                                        |
   |            |                                                      |
   |     2105.0 | The calling gateway sends out a packet containing    |
   |            | the final 6 bits of the CJ signal.                   |
   |            |                                                      |
   |     2130.0 | The called gateway finishes playing out the last CJ  |
   |            | signal bit sent to it.                               |
   |            |                                                      |
   |     2135.0 | The calling gateway sends a packet containing no new |
   |            | events, but retransmissions of the last 15 bits of   |
   |            | the CJ signal (in two generations).                  |
   |            |                                                      |
   |     2165.0 | The calling gateway sends out a packet containing no |
   |            | new events, but retransmissions of the final 6 bits  |
   |            | of the CJ signal.                                    |
   |            |                                                      |
   |     2170.0 | The called gateway sends out the last packet         |
   |            | containing bits of the JM signal (except for         |
   |            | retransmissions).  Note that according to the V.8    |
   |            | specification these bits do not in general complete  |
   |            | a JM signal or even an "octet" of that signal        |
   |            | (although they happen to do so in this example).  A  |
   |            | 75 ms period of silence begins at the called end.    |
   |            |                                                      |
   |     2170.0 | The calling gateway begins to receive V.34           |
   |            | signalling from the called modem.                    |
   |            |                                                      |
   |     2175.0 | The calling gateway finishes playing out the last JM |
   |            | signal bit sent to it.                               |
   |            |                                                      |
   |     2195.0 | The calling gateway sends out a first packet of V.34 |
   |            | signalling as voice-band data (PCMU).  Timestamp is  |
   |            | ts0 + 17360 and M bit is set to indicate the         |
   |            | beginning of content after silence.  The packet      |
   |            | contains 200 8-bit samples.  Packetization interval  |
   |            | is shown here as continuing to be 30 ms.  It could   |
   |            | be less, but MUST NOT be more because that would     |
   |            | make the silent period too long.                     |
   |            |                                                      |




Schulzrinne & Taylor        Standards Track                    [Page 33]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   |     2200.0 | The called gateway sends a packet containing no new  |
   |            | events, but retransmissions of the last 18 bits of   |
   |            | the JM signal (in two generations).                  |
   |            |                                                      |
   |     2225.0 | The calling gateway sends out the second packet of   |
   |            | V.34 signalling as voice-band data (PCMU).           |
   |            | Timestamp is ts0 + 17560 and M bit is not set.  The  |
   |            | packet contains 240 8-bit samples.                   |
   |            |                                                      |
   |     2230.0 | The called gateway sends out a packet containing no  |
   |            | new events, but retransmissions of the final 9 bits  |
   |            | of the JM signal.                                    |
   |            |                                                      |
   |     2245.0 | The called gateway begins to receive V.34 signalling |
   |            | from the called modem.                               |
   |            |                                                      |
   |     2255.0 | The calling gateway sends out a third packet of V.34 |
   |            | signalling as voice-band data (PCMU).  Timestamp is  |
   |            | ts0 + 17800 and M bit is not set.  The packet        |
   |            | contains 240 8-bit samples.                          |
   |            |                                                      |
   |     2260.0 | The called gateway sends out a first packet of V.34  |
   |            | signalling as voice-band data (PCMU).  Timestamp is  |
   |            | ts0 + 17960 and M bit is set to indicate the         |
   |            | beginning of content after silence.  The packet      |
   |            | contains 120 samples.  Packetization interval is     |
   |            | shown here as continuing to be 30 ms.  It could be   |
   |            | less, but MUST NOT be more because that would make   |
   |            | the silent period too long.                          |
   |            |                                                      |
   |      . . . | . . .                                                |
   +------------+------------------------------------------------------+

                 Table 9: Events for Example V.8 Scenario

















Schulzrinne & Taylor        Standards Track                    [Page 34]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


4.1.  Simultaneous Transmission of Events and Retransmitted Events Using
      RFC 2198 Redundancy

   Negotiation of the transmission mode being described in this section
   would use SDP similar to the following:

      m=audio 12343 RTP/AVP 99
      a=rtpmap:99 pcmu/8000
      m=audio 12345 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,32-41,43,46,48-49,52-68

   This indicates two media streams, the first for G.711 (i.e., voice or
   voice-band data), the second for triply-redundant telephone events.
   As RFC 2198 notes, it is also possible for the sender to send
   telephone-event payloads without redundancy in the second stream,
   although the redundant form is the primary transmission mode.  (It
   would be reasonable to send the interim ANSam reports without
   redundancy.)  The set of telephone events supported includes the DTMF
   events (not relevant in this example), and all of the data events
   defined in this document.  In fact, only event codes 34-35 and 37-40
   are used in the example.

   For the purpose of illustrating the use of RFC 2198 redundancy as
   well as showing the basic composition of the event reports, the
   second packet reporting JM signal bits (sent by the called gateway at
   1690.0 ms) seems to be a good choice.  This packet will also carry
   the second retransmission of the final /ANSam event report and the
   first retransmission of the initial 7 bits of the JM signal.  The
   detailed content of the packet is shown in Figure 1.  To see the
   contents of the successive generations more clearly, they are
   presented as if they were aligned on successive 32-bit boundaries.
   In fact, they are all offset by one octet, following on consecutively
   from the RFC 2198 header.

   The M bit is set in the RTP header for the packet, as required for
   the coding of multiple events in the primary block of data.  In fact,
   RFC 2198 implies that this is the correct behavior, but does not say
   so explicitly.  The E bit is set for every event.  It is possible
   that it would not be set for the final event in the primary block.









Schulzrinne & Taylor        Standards Track                    [Page 35]

RFC 4734         Modem, Fax, and Text Telephony Events     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=0  |1|  PT=100     |   sequence number = seq0 + 48 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              timestamp = ts0 + 13280                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           synchronization source (SSRC) identifier            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1| block PT=101|  timestamp offset = 720   | block length =  4 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1| block PT=101|  timestamp offset = 267   | block length = 28 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |0| block PT=101|     (begin block for /ANSam ...)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      /ANSam block (second retransmission)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 35  |1|R| volume    |       duration = 533        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              First 7 bits of JM (="1111111" in V.21 high channel)
                    (first retransmission)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 40  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /    (5 similar events, durations 27,26,27,27,26 respectively)  /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 40  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Next 9 bits of JM (="111000000" in V.21 high channel)
                    (new content)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 40  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /     (7 similar events, codes 40,40,39,39,39,39,39 and         /
      /      durations 26,27,27,26,27,27,26 respectively)             /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 39  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Figure 1: Packet Contents, Redundant Events Only





Schulzrinne & Taylor        Standards Track                    [Page 36]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   Since all of the events in the above packet are consecutive and
   adjacent, it would have been permissible according to the telephone-
   event payload specification to carry them as a simple event payload
   without the RFC 2198 header.  The advantage of the latter is that the
   receiving gateway can skip over the retransmitted events when
   processing the packet, unless it needs them.

4.2.  Simultaneous Transmission of Events and Voice-Band Data Using RFC
      2198 Redundancy

   Negotiation of the transmission mode being described in this section
   would use SDP similar to the following:

      m=audio 12343 RTP/AVP 99 100 101
      a=rtpmap:99 red/8000/1
      a=fmtp:99 100/101/101/101
      a=rtpmap:100 pcmu/8000
      a=rtpmap:101 telephone-event/8000
      a=fmtp:101 0-15,32-41,43,46,48-49,52-68

   This indicates one media stream, with G.711 (i.e., voice or voice-
   band data) as the primary content, along with three blocks of
   telephone events.  RFC 2198 requires that the more voluminous
   representation (i.e., the G.711) be the primary one.  The most recent
   block of events covers the same time period as the voice-band data.
   The other two streams provide the first and second retransmissions of
   the events as in the previous example.  Because G.711 is the primary
   content, the M bit for the packets will in general not be set, except
   after periods of silence.

   Figure 2 shows the detailed packet content for the same sample point
   as in the previous figure, but including the G.711 content.



















Schulzrinne & Taylor        Standards Track                    [Page 37]

RFC 4734         Modem, Fax, and Text Telephony Events     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=0  |0|  PT=99      |   sequence number = seq0 + 48 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              timestamp = ts0 + 13280                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           synchronization source (SSRC) identifier            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1| block PT=101|  timestamp offset = 720   | block length =  4 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1| block PT=101|  timestamp offset = 267   | block length = 28 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1| block PT=101|  timestamp offset = 0     | block length = 36 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |0| block PT=100|     (begin block for /ANSam ...)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      /ANSam block (second retransmission)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 35  |1|R| volume    |       duration = 533        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              First 7 bits of JM (="1111111" in V.21 high channel)
                    (first retransmission)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 40  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /    (5 similar events, durations 27,26,27,27,26 respectively)  /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 40  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Next 9 bits of JM (="111000000" in V.21 high channel)
                    (new content)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 40  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /     (7 similar events, codes 40,40,39,39,39,39,39 and         /
      /      durations 26,27,27,26,27,27,26 respectively)             /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     event = 39  |1|R| volume    |       duration = 27         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+





Schulzrinne & Taylor        Standards Track                    [Page 38]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


             30 ms of G.711-encoded voice-band data (240 samples)

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Sample 1    |   Sample 2    |   Sample 3    |   Sample 4    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                            . . .                              /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Sample 237  |   Sample 238  |   Sample 239  |   Sample 240  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Figure 2: Packet Contents with Voice-Band Data Combined with Events

5.  Security Considerations

   The V.21 bit events defined in this document may be used to transmit
   user-sensitive data.  This could include initial log-on sequences and
   application-level protocol exchanges as well as user content.  As a
   result, such a usage of V.21 bit events entails, in the terminology
   of [16], threats to both communications and system security.  The
   attacks of concern are:

   o  confidentiality violations and password sniffing;

   o  hijacking of data sessions through message insertion;

   o  modification of the transmitted content through man-in-the-middle
      attacks;

   o  denial of service by means of message insertion, deletion, and
      modification aimed at interference with the application protocol.

   To prevent these attacks, the transmission of V.21 bit events MUST be
   given confidentiality protection.  Message authentication and the
   protection of message integrity MUST also be provided.  These address
   the threats posed by message insertion and modification.  With these
   measures in place, RTP sequence numbers and the redundancy provided
   by the RFC 4733 procedures for transmission of events add protection
   against and some resiliency in the face of message deletion.

   The other events defined in this document (and V.21 bit events within
   control sequences) are used only for the setup and control of
   sessions between data terminals or fax devices.  While disclosure of
   these events would not expose user-sensitive data, it can potentially
   expose capabilities of the user equipment that could be exploited by
   attacks in the PSTN domain.  Thus, confidentiality protection SHOULD
   be provided.  The primary threat is denial of service, through
   injection of inappropriate signals at vulnerable points in the
   control sequence or through alteration or blocking of enough event



Schulzrinne & Taylor        Standards Track                    [Page 39]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   packets to disrupt that sequence.  To meet the injection threat,
   message authentication and integrity protection MUST be provided.

   The Secure Real-time Transport Protocol (SRTP) [3] meets the
   requirements for protection of confidentiality, message integrity,
   and message authentication described above.  It SHOULD therefore be
   used to protect media streams containing the events described in this
   document.

      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.

6.  IANA Considerations

   This document adds the events in Table 10 to the registry established
   by RFC 4733 [5].

   +-------+--------------------------------------------+--------------+
   | Event | Event Name                                 |    Reference |
   |  Code |                                            |              |
   +-------+--------------------------------------------+--------------+
   |   23  | CRdSeg: second segment of V.8 bis CRd      |     RFC 4734 |
   |       | signal                                     |              |
   |       |                                            |              |
   |   24  | CReSeg: second segment of V.8 bis CRe      |     RFC 4734 |
   |       | signal                                     |              |
   |       |                                            |              |
   |   25  | MRdSeg: second segment of V.8 bis MRd      |     RFC 4734 |
   |       | signal                                     |              |
   |       |                                            |              |
   |   26  | MReSeg: second segment of V.8 bis MRe      |     RFC 4734 |
   |       | signal                                     |              |
   |       |                                            |              |
   |   27  | V32AC: A pattern of bits modulated at 4800 |     RFC 4734 |
   |       | bits/s, emitted by a V.32/V.32bis          |              |
   |       | answering terminal upon detection of the   |              |
   |       | AA pattern.                                |              |
   |       |                                            |              |
   |   28  | V8bISeg: first segment of initiating V.8   |     RFC 4734 |
   |       | bis signal                                 |              |
   |       |                                            |              |
   |   29  | V8bRSeg: first segment of responding V.8   |     RFC 4734 |
   |       | bis signal                                 |              |
   |       |                                            |              |




Schulzrinne & Taylor        Standards Track                    [Page 40]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   |   30  | V21L300: 300 bits/s low channel V.21       |     RFC 4734 |
   |       | indication                                 |              |
   |       |                                            |              |
   |   31  | V21H300: 300 bits/s high channel V.21      |     RFC 4734 |
   |       | indication                                 |              |
   |       |                                            |              |
   |   32  | ANS (V.25 Answer tone).  Also known as CED |     RFC 4734 |
   |       | (T.30 Called tone).                        |              |
   |       |                                            |              |
   |   33  | /ANS (V.25 Answer tone after phase shift). |     RFC 4734 |
   |       | Also known as /CED (T.30 Called tone after |              |
   |       | phase shift)                               |              |
   |       |                                            |              |
   |   34  | ANSam (V.8 amplitude modified Answer tone) |     RFC 4734 |
   |       |                                            |              |
   |   35  | /ANSam (V.8 amplitude modified Answer tone |     RFC 4734 |
   |       | after phase shift)                         |              |
   |       |                                            |              |
   |   36  | CNG (T.30 Calling tone)                    |     RFC 4734 |
   |       |                                            |              |
   |   37  | V.21 channel 1 (low channel), '0' bit      |     RFC 4734 |
   |       |                                            |              |
   |   38  | V.21 channel 1, '1' bit.  Also used for    |     RFC 4734 |
   |       | ESiSeg (second segment of V.8 bis ESi      |              |
   |       | signal).                                   |              |
   |       |                                            |              |
   |   39  | V.21 channel 2, '0' bit                    |     RFC 4734 |
   |       |                                            |              |
   |   40  | V.21 channel 2, '1' bit.  Also used for    |     RFC 4734 |
   |       | ESrSeg (second segment of V.8 bis ESr      |              |
   |       | signal).                                   |              |
   |       |                                            |              |
   |   49  | CT (V.25 Calling Tone)                     |     RFC 4734 |
   |       |                                            |              |
   |   52  | ANS2225: 2225-Hz indication for text       |     RFC 4734 |
   |       | telephony                                  |              |
   |       |                                            |              |
   |   53  | CI (V.8 Call Indicator signal preamble)    |     RFC 4734 |
   |       |                                            |              |
   |   54  | V.21 preamble flag (T.30)                  |     RFC 4734 |
   |       |                                            |              |
   |   55  | V21L110: 110 bits/s V.21 indication for    |     RFC 4734 |
   |       | text telephony                             |              |
   |       |                                            |              |
   |   56  | B103L300: Bell 103 low channel indication  |     RFC 4734 |
   |       | for text telephony                         |              |
   |       |                                            |              |




Schulzrinne & Taylor        Standards Track                    [Page 41]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   |   57  | V23Main: V.23 main channel indication for  |     RFC 4734 |
   |       | text telephony                             |              |
   |       |                                            |              |
   |   58  | V23Back: V.23 back channel indication for  |     RFC 4734 |
   |       | text telephony                             |              |
   |       |                                            |              |
   |   59  | Baud4545: 45.45 bits/s Baudot indication   |     RFC 4734 |
   |       | for text telephony                         |              |
   |       |                                            |              |
   |   60  | Baud50: 50 bits/s Baudot indication for    |     RFC 4734 |
   |       | text telephony                             |              |
   |       |                                            |              |
   |   61  | VBDGen: Tone patterns indicative of use of |     RFC 4734 |
   |       | an unidentified modem type                 |              |
   |       |                                            |              |
   |   62  | XCIMark: A pattern of bits modulated in    |     RFC 4734 |
   |       | the V.23 main channel, emitted by a V.18   |              |
   |       | calling terminal.                          |              |
   |       |                                            |              |
   |   63  | V32AA: A pattern of bits modulated at 4800 |     RFC 4734 |
   |       | bits/s, emitted by a V.32/V.23bis calling  |              |
   |       | terminal.                                  |              |
   +-------+--------------------------------------------+--------------+

   Table 10: Data-Related Additions to RFC 4733 Telephony Event Registry

7.  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.

   Gunnar Hellstrom and Keith Chu provided particularly useful comments
   helping to shape the present document.  Amiram Allouche and Ido Benda
   drew the authors' attention to the value of including events for
   V.32/V.32bis in the document, and Yaakov Stein confirmed details of
   operation of this modem.













Schulzrinne & Taylor        Standards Track                    [Page 42]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


8.  References

8.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]   Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
         Norrman, "The Secure Real-time Transport Protocol (SRTP)",
         RFC 3711, March 2004.

   [4]   Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
         Description Protocol", RFC 4566, July 2006.

   [5]   Schulzrinne, H. and T. Taylor, "RTP Payload for DTMF Digits,
         Telephony Tones, and Telephony Signals", RFC 4733, December
         2006.

   [6]   International Telecommunication Union, "Echo suppressors",
         ITU-T Recommendation G.164, November 1988.

   [7]   International Telecommunication Union, "Echo cancellers", ITU-T
         Recommendation G.165, March 1993.

   [8]   International Telecommunication Union, "Procedures for document
         facsimile transmission in the general switched telephone
         network", ITU-T Recommendation T.30, July 2003.

   [9]   International Telecommunication Union, "Procedures for starting
         sessions of data transmission over the public switched
         telephone network", ITU-T Recommendation V.8, November 2000.

   [10]  International Telecommunication Union, "Procedures for the
         identification and selection of common modes of operation
         between data circuit-terminating equipments (DCEs) and between
         data terminal equipments (DTEs) over the public switched
         telephone network and on leased point-to-point telephone-type
         circuits", ITU-T Recommendation V.8 bis, November 2000.

   [11]  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.



Schulzrinne & Taylor        Standards Track                    [Page 43]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   [12]  International Telecommunication Union, "300 bits per second
         duplex modem standardized for use in the general switched
         telephone network", ITU-T Recommendation V.21, November 1988.

   [13]  International Telecommunication Union, "Automatic answering
         equipment and general procedures for automatic calling
         equipment on the general switched telephone network including
         procedures for disabling of echo control devices for both
         manually and automatically established calls", ITU-T
         Recommendation V.25, October 1996.

         See also Corrigendum 1 to Recommendation V.25, Jul. 2001.

   [14]  International Telecommunication Union, "A family of 2-wire,
         duplex modems operating at data signalling rates of up to 9600
         bit/s for use on the general switched telephone network and on
         leased telephone-type circuits", ITU-T Recommendation V.32,
         March 1993.

   [15]  International Telecommunication Union, "A duplex modem
         operating at data signalling rates of up to 14 400 bit/s for
         use on the general switched telephone network and on leased
         point-to-point 2-wire telephone-type circuits", ITU-T
         Recommendation V.32bis, February 1991.

8.2.  Informative References

   [16]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on
         Security Considerations", BCP 72, RFC 3552, July 2003.

   [17]  Kreuter, R., "RTP Payload Format for a 64 kbit/s Transparent
         Call", RFC 4040, April 2005.

   [18]  Hellstrom, G. and P. Jones, "RTP Payload for Text
         Conversation", RFC 4103, June 2005.

   [19]  International Telecommunication Union, "Pulse code modulation
         (PCM) of voice frequencies", ITU-T Recommendation G.711,
         November 1988.

   [20]  International Telecommunication Union, "Terminal for low bit-
         rate multimedia communication", ITU-T Recommendation H.324,
         March 2002.

   [21]  International Telecommunication Union, "Procedures for real-
         time Group 3 facsimile communication over IP networks", ITU-T
         Recommendation T.38, July 2003.




Schulzrinne & Taylor        Standards Track                    [Page 44]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   [22]  International Telecommunication Union, "International
         interworking for videotex services", ITU-T
         Recommendation T.101, November 1994.

   [23]  International Telecommunication Union, "Data protocols for
         multimedia conferencing", ITU-T Recommendation T.120,
         July 1996.

   [24]  International Telecommunication Union, "A 2-wire modem for
         facsimile applications with rates up to 14 400 bit/s", ITU-T
         Recommendation V.17, February 1991.

   [25]  International Telecommunication Union, "600/1200-baud modem
         standardized for use in the general switched telephone
         network", ITU-T Recommendation V.23, November 1988.

   [26]  International Telecommunication Union, "4800/2400 bits per
         second modem standardized for use in the general switched
         telephone network", ITU-T Recommendation V.27ter,
         November 1988.

   [27]  International Telecommunication Union, "9600 bits per second
         modem standardized for use on point-to-point 4-wire leased
         telephone-type circuits", ITU-T Recommendation V.29,
         November 1988.

   [28]  International Telecommunication Union, "A modem operating at
         data signalling rates of up to 33 600 bit/s for use on the
         general switched telephone network and on leased point-to-point
         2-wire telephone-type circuits", ITU-T Recommendation V.34,
         February 1998.

   [29]  International Telecommunication Union, "A digital modem and
         analogue modem pair for use on the Public Switched Telephone
         Network (PSTN) at data signalling rates of up to 56 000 bit/s
         downstream and up to 33 600 bit/s upstream", ITU-T
         Recommendation V.90, September 1998.

   [30]  International Telecommunication Union, "A digital modem
         operating at data signalling rates of up to 64 000 bit/s for
         use on a 4-wire circuit switched connection and on leased
         point-to-point 4-wire digital circuits", ITU-T
         Recommendation V.91, May 1999.

   [31]  International Telecommunication Union, "Enhancements to
         Recommendation V.90", ITU-T Recommendation V.92, November 2000.





Schulzrinne & Taylor        Standards Track                    [Page 45]

RFC 4734         Modem, Fax, and Text Telephony Events     December 2006


   [32]  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.

   [33]  International Telecommunication Union, "Procedures for
         supporting voice-band data over IP networks", ITU-T
         Recommendation V.152, January 2005.

   [34]  Telecommunications Industry Association, "A Frequency Shift
         Keyed Modem for Use on the Public Switched Telephone Network",
         ANSI TIA- 825-A-2003, April 2003.

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 46]

RFC 4734         Modem, Fax, and Text Telephony Events     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 47]


Html markup produced by rfcmarkup 1.107, available from http://tools.ietf.org/tools/rfcmarkup/