Speak Freely for Unix: sfecho
by John Walker
SFECHO(1) USER COMMANDS SFECHO(1)
sfecho - Speak Freely remote echo server
sfecho [ -du ] [ -pport ] [ -vtimeout ]
[ -zdrop%,shuffle%,depth ]
sfecho is a server program which receives sound from re
mote hosts in the same manner as sfspeaker, but instead of
playing sound on the workstation's audio output, buffers
it in memory for ten seconds and then retransmits it to
the sending host. This allows remote users, even those
with half-duplex audio hardware, to experiment with dif
ferent compression and encryption modes to optimise end-
to-end performance without tying up a person on the other
end of the connection.
sfecho can echo sound in RTP and VAT protocols as well as
Speak Freely's native protocol. To permit this, messages
on both the specified port and the next higher numbered
port are monitored, queued, and retransmitted.
An echo server can invite connections by publishing its
existence on one or more directory servers. See the
``Look Who's Listening'' section in the sfspeaker manual
page for details on how to set the environment variables.
-d Enables debug output from sfecho.
-pport Causes sfecho to listen on the specified port num
ber instead of the default port specified by ``IN
TERNET_PORT'' in the Makefile. To comply with the
RTP standard, the port specified should have an
even number; the next higher numbered port is used
for RTCP control messages.
-u Prints how-to-call information.
When sfecho receives a packet from a host it hasn't
heard from in timeout seconds, it will attempt to
find the host name and print a message on standard
error noting the new connection and what compres
sion mode is being used. If the host name can't be
found, the numeric IP address is given. After
timeout seconds of inactivity a message is issued
indicating the host is idle. If no timeout is
specified, 180 seconds is used.
sfecho will simulate an imperfect Internet connec
tion by randomly dropping (discarding) drop% per
cent of the packets it receives, then shuffling in
order shuffle% percent of the remaining packets
with a maximum reordering of depth packets. This
option should never be used on a production echo
server; it is intended to simulate bad connections
to permit testing various error-tolerant algorithms
to cope with them.
If sfecho runs out of memory to buffer sound awaiting re
transmission, packets are discarded without warning.
By default, sfecho listens on Internet port number 2074,
the same as sfspeaker, and hence cannot run at the same
time on the same machine as sfspeaker. You can specify a
different port for sfecho with the -p option, but many
users have difficulty connecting to servers with nonstan
dard port numbers, so this isn't a terribly good idea for
public servers. If your server is intended primarily to
echo messages in RTP protocol, you may want to specify
port 5004, the default port for RTP specified in RFC
1890. Many VAT compatible applications default to port
The implementation of MD5 message-digest algorithm is
based on a public domain version written by Colin Plumb in
1993. The algorithm is due to Ron Rivest. The algorithm
is described in Internet RFC 1321.
by John Walker
August 28, 2002