Subject: Errors in RFC 4824

From: Henrik Levkowetz <[email-masked]>
Date: Sun, 08 Apr 2007 18:43:12 +0200

Hi,

While I appreciate the work and dedication going into RFC 4824, and
appreciated reading it :-), I was disappointed when I realized that
the current specification is flawed, and will not be able to lead to
guaranteed interoperable implementations without further
specification :-(

Error:
------
  
The illustrated SFS for symbol 'Y', signifying control signal 'RTT',
is depicted as identical with symbol 'M', which signals nibble value
0x0C.  This means that some implementations may break off receipt with
an error on receiving 0x0C and interpreting it as RTT, while others
may see RTT and interpret it as a spurious 0x0C, and ignore it.

References [JCroft, Wikipedia] gives a different way of signalling 'Y',
which does not coincide with any of the other symbols.  This
discrepancy between the current specification and the references may
also result in both implementation and execution differences, as some
interfaces may already have signal 'Y' hard-coded according to [JCroft]
or [Wikipedia], which will result in transmission of an SFS which will
not be understood by an interface that follows the current specification
strictly.

Accordingly, errata should be issued with the following change, which
matches [JCroft] and [Wikipedia]:

OLD::
                   SFS        0__     0__
                             /|       |\
                             / \     / \
                              Y       Z
                   IP-SFS    RTT    unused

                   -----------------------------------------

NEW::
                   SFS       \0__     0__
                              |       |\
                             / \     / \
                              Y       Z
                   IP-SFS    RTT    unused

                   -----------------------------------------   

Nits:
-----

In Section 3. reference is made to sections 3.2.1 and 3.2.2, which
don't exist.  I believe you meant to refer to 3.3 and 3.4 respectively:

OLD::
   IP-SFS adapts the standard SFSS to encode an alphabet of 16 signals
   (flag patterns) to represent data values 0-15 (Section 3.2.1) and 9
   signals to represent control functions (Section 3.2.2).  With 16 data
   signals, IP-SFS transmission is based upon 4-bit nibbles, two per
   octet.  Each of the signal patterns defined in Section 3.2 is called
   an SFS.

NEW::
   IP-SFS adapts the standard SFSS to encode an alphabet of 16 signals
   (flag patterns) to represent data values 0-15 (Section 3.3) and 9
   signals to represent control functions (Section 3.4).  With 16 data
   signals, IP-SFS transmission is based upon 4-bit nibbles, two per
   octet.  Each of the signal patterns defined in Section 3.2 is called
   an SFS.

(Copied from RFC 4824:

   [JCroft]     Croft, J., "Semaphore Flag Signalling System",
                <http://www.anbg.gov.au/flags/semaphore.html>.

   [Wikipedia]  Wikipedia, "Modern semaphore", <http://
                en.wikipedia.org/wiki/Semaphore#Modern_semaphore>.)

Regards,

	Henrik