home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ferkel.ucsb.edu!taco!gatech!swrinde!zaphod.mps.ohio-state.edu!uwm.edu!spool.mu.edu!hri.com!noc.near.net!news.bbn.com!news.bbn.com!wbe
- From: wbe@bbn.com (Winston Edmond)
- Newsgroups: comp.dcom.modems
- Subject: Re: Need software for Zyxel
- Message-ID: <WBE.93Jan26122425@crystal.bbn.com>
- Date: 26 Jan 93 17:24:25 GMT
- References: <3D3sXB2w165w@questor.org> <1993Jan25.160555.22606@urz.unibas.ch>
- Organization: Bolt Beranek and Newman, Inc., Cambridge, MA
- Lines: 41
- NNTP-Posting-Host: crystal.bbn.com
- In-reply-to: balmer@ifi.unibas.ch's message of 25 Jan 93 16:05:55 GMT
-
- balmer@ifi.unibas.ch (Marc Balmer) writes:
- >... The manual states somewhere, that the bisync
- >protocol is to be used when transmitting voice data ...???
-
- >If someone had a piece of C that explains the usage of this function I would
- >be happy to receive a copy of it.
-
- The bi-sync protocol aspect is easy to explain. All characters 0-255 except
- DLE (16. = 0x10 = 020) are nominally "data". A DLE in the character stream
- begins an "escape" sequence, consisting of the DLE and one or more of the
- characters that follow it. Classic bi-sync protocol escape sequences are:
- ( Octal )
- DLE STX (020 002) start of transmission
- DLE ETX (020 003) end of transmission
- DLE DLE (020 020) send one DLE (***)
-
- and ZyXEL defined the sequences:
- DLE 0 (020 060) DTMF '0' received
- ... DLE * (020 052) DTMF '*' received
- etc.
-
- ***: This is often called DLE doubling, since you have to check every byte of
- the data you want to send to see if it's a DLE, and if it is, you have
- to send two of them.
-
- Historical note:
- The DLE doubling effect is one of the main reasons HDLC was developed.
- Consider an arbitrary bunch of characters you want to send from "here" to
- "there". If the characters are random, doubling the DLEs in the data won't
- add much, on average, to the number of characters transmitted. However, if
- the data consists solely of DLE characters, use of bi-sync protocol means
- you'll need twice the bandwidth you'd otherwise need. HDLC, by working at
- the bit level, reduced this "worst case is +100%" to "worst case is +20%"
- (which happens when all bits are 1's).
- [end historical note]
-
- On the receiving side, it means read characters, watching for a DLE. If it's
- not a DLE, it's data. When you see a DLE, read the next character to get the
- "command", and go from there. At the end of the escape sequence, you're back
- in "data" mode again.
- -WBE
-