`A Network Voice Terminal
`
`H. Schulsrinne
`
`C5 Technical Report 92-50
`July 1992
`
`RPX Exhibit 1116
`
`RPX Exhibit 1116
`RPX v. DAE
`
`RPX V. DAE
`
`
`
`Voice Communication Across the Internet:
`
`A Network Voice Terminal*
`
`Henning Schnlzrinne
`Department of Electrical and Computer Engineering
`Department of Computer Science
`University of Massachusetts
`Amherst, MA 01003
`hgschulzflcs sumass . odu
`
`July 29, 1992
`
`Abstract
`
`Voice conferencing has attracted interest as a useful and viable first real-time application on
`the Internet. This report describes NEVOT a network voice terminal meant to support multiple
`concurrent both two-party and multi-party conferences on top of a variety of transport protocols
`and using audio encodings offering from vocoder to multi-channel CD quality. As it is to be
`used as an experimental tool, it offers extensive configuration, trace and statistics options. The
`design is kept modular so that additional audio encodings, transport and real-time protocols
`as well as user interfaces can be added readily.
`In the first part, the report describes the X-
`based graphical user interface, the configuration and operation. The second part describes the
`individual components of NEvo'r and compares alternate implementations. An appendix covers
`the installation of NEVOT.
`
`1
`
`Introduction
`
`3
`teleconferencing [1] and simple one-to-one "videote1ephones" [2, 3] are applications that have at-
`tracted a large amount of implementation and research interest.
`Transmitting voice and video across a pacl(et—switched network offers a number of advantages
`other the circuit-switched approach. First, we obtain all the well-known benefits of service inte-
`gration, particularly important in a multi-media setting. Secondly, we may be able to achieve a
`higher bandwidth utilization since voice and video do not always use their peak bandwidth (due to
`silence periods and variable rate coding). Finally, because interleaving several associations tends to
`be easier in a packet-switched network, control (signaling, to use the telephony term) can be more
`sophisticated’.
`Research in transmitting voice across a packet network dates back to the early AR.PAnet days.
`Cohen [4] refers to cross-continental packet voice experiments in 1974. According to [5], low-bit
`.Z__________.__.___:_.._
`‘This work is supported in part by the Office of Naval Research under contract N80014:-90-J-1293. the Defense
`Advanced Research Projects Agency under contract NAG2—578 and a National Science Foundation equipment grant,
`CERDCR 3500332.
`‘Even narrowband ISDN uses the packet-switched D channel for signaling.
`
`
`
`rate voice conferences very carried out in 1976. The early '80s saw experiments of transmitting
`low-bitrate voice across mobile radio [6, 7] and satellite [8] packet channels. The first Internet
`packet voice protocol was specified formally in 1977 [9], and a packet video standard followed in
`1981 [10]. The CCITT standard G.PVNP [11] was published in 1989. Packet audio/video should
`be set apart from the approach to voice/data integration that provides fixed-bandwidth circuits on
`multiple access networks [12, 13].
`Interest in packet audio has increased recently as more and more workstations now come equip-
`ped with built-in toll-quality (Sun SPARCstations, DEC workstations) or CD-quality (NeXt) audio
`hardware support. There exist a fair number of simple programs that utilize the SPARCstation
`audiohardware to communicate between two workstation on a local net, for example vtalk (Miran
`Cuperman, OKI) or PhoneTalk (Patrilc Nises and Joakim Wettby, Royal Institute of Technology,
`Stockholm). Programs designed for multiple-party connections across wide-area networks include
`VT [1] and vat (Van Jacobsen and Steve McCan.ne, LBL). A number of commercial products use
`medium-bitrate packet voice to more efiectively utilize leased private lines, extending the concept
`of the traditional data-only multiplexer [14]. System implementations of packet voice terminals are
`described in [5, 18, 19]- Packet radio experiments are featured in [20]. Surveys on packet voice
`performance are presented in [18].
`Numerous other voice/data integration schemes have been studied, usually combining a circuit-
`switched path for voice and a packet-switched path for data, possibly with bandwidth traded
`between the two. Examples include [21]. Economic studies comparing alternative network strategies
`were performed by Gitman and Frank [22].
`
`2 The Network Voice Terminal (NEVlOT) -— User’s Guide
`
`NEVOT (“NEtwork VOice Terminal”) is a tool to support audio conferences across local and wide
`area networks, including the Internet. It supports multiple simultaneous conferences and a variety
`of standard and experimental network protocols, including ‘ST-II [23], IP multicast [24, 25, 26] [27,
`p. 2811] and TCP. It is meant to serve several purposes:
`
`a as a demonstration tool for Internet audio conferences,
`
`0 as a measurement tool to investigate traflic patterns and losses in packet voice applications
`across wide-area networks,
`
`0 as a demonstrationimplementation ofreal-time services in a distinctly non—real-time operating
`system (Unix)
`
`0 as a trafiic source to validate and evaluate resource allocation protocols and algorithms
`u as a platform for implementing conference control mechanisms
`
`Extensive tracing and parameterization facilities as well as a modular architecture support experi-
`ments in packet voice. The major features are summarized below.
`
`
`
`2.1 Features of Version 0.95
`
`Features anticipated for versions released shortly are also listed, but so indicated. Due to operating
`system or hardware support, a few features are platform-specific. A symbol is used to mark the
`corresponding platform.
`
`0 platforms:
`
`— Sun SPAB.Cstationll
`
`— Silicon Graphics 4D/30 and 4D/35 (Iud.igo)§
`- Personal DECstationl[in preparation]
`
`0 audio protocols:
`
`- NVP-H (network voice protocol) as used by vat (Lawrence Berkeley Laboratory) and
`vt (ISI)
`
`— vat audio packet format
`
`0 transport protocols:
`
`— unicast UDP
`
`—- multicast UDP
`
`- TCP
`
`— sr-nil
`
`0 operation as gateway or end system
`
`a compatible with rat session protocol
`
`a user interfaces:
`
`- XView (OpenLook)-
`— Motif GUI
`
`— curses (for terminals with cursor positioning)
`— dumb terminal
`
`a control:
`
`— initialization file
`
`-— command line argumts
`
`— interactive
`
`0 several independent concurrent conferces, each with different encoding and compression
`u DES-based voice encryption
`
`0 current audio encodings supported:
`
`- 16 bit linear encoding, with all hardware-supported sample ratesg
`— 64 lrb/s G.711 p-law PCM
`
`
`
`— 32 lib/s G.721 ADPCI‘./Ill
`
`— 32 kb/s Intel/DVI ADPCM
`
`— 24 kb/s G123 ADPCMll
`
`— 4.8 kb/5 LPC (1inear—predictive coding) with setable vocoder interval
`
`0 dynamic change in audio encoding, with each site having different encodings (but the same
`sample rate)
`
`0 one or multiple audio channels (i.e., mono or stereo)
`
`a playback and recording of audio files (.au and AIFF/AIFC formats], with encoding translation
`
`0 extensive statistics and tracing facilities
`
`0 arbitrary voice packet length, which may diifer for each site
`
`a lost packet substitution
`
`0 setable audio buffer occupancy
`
`0 configurable adjustment mechanisms for playout delay, VU meter, silence detector and auto-
`matic gain control
`
`: redefinable session identifier string with variable substitution
`
`Most commonly, NEVOT interacts with the user through the Open LookTM or MotifTM graphical
`user interface on X11-capable workstations. Another version with identical functionality, but a more
`limited user interface, requires only cursor-addressable ASCII terminals supported by the curses
`library. A fourth version is meant mostly for remote use and uses only terse sequential terminal
`output to stdio. The command interface used to control the text versions is also available for the
`XView and Motif versions.
`
`
`
`Figure 1: The NEVOT icon
`
`NEVOT may utilize the network services of unicast UDP, multicast UDP, TCP and ST-H [28, 23].
`The source address option allows operation behind a UDP-level packet reflector, e.g., the simple
`version written by the author. The packet reflector is used to allow a site running kernels without
`multicast support to participate in rnulticast audio conferences. The packet reflector is executed
`on a multicast-capable site, declares itself part of the multicast group and simply forwards every
`packet arriving from the multicast group on a unicast UDP socket. The address where the voice
`packet originated from (i.e., the source address) is prepended by the packet reflector as the first four
`user data bytes of the packet. This is necessary for proper operation of the voice terminal, since
`the IP source address of the UDP packet reaching the ‘final destination contains the IP address of
`the packet reflector rather than that of the speaker, while the actual source address is needed to
`distinguish several audio streams coming from the same reflector.
`
`
`
`NEVOT can maintain several concurrent conferences. The user can participate in all conferences
`simultaneously, but the conferences remain separate for the other participants. A conference with
`participation from remote sites could be set-up using the following scenario’. Conference audio
`from the meeting room is distributed via multicast to all sites, who are only listening to that
`conference. Each remote site also maintains a second “call-in” conference which it uses to pose
`questions through a moderator at the conference location. Before a remote participant raises a
`question, he or she listens to the "call-in” channel to reduce conflicts.
`NEVOT can act as an application-level gateway between different conferences. Each conference
`can employ different audio encodings and transport protocols. The audio from all sites within a
`stream is mixed and distributed to streams, except the originating one.3
`NEVOT can play and record sound files in AIFF/AJFC and Sun/DEC .au format. Recording
`may be useful to document speech quality or to take notes of important announcements. The
`usefulness is somewhat limited by the disk space requirement of480,000 bytes per minute. Optional
`voice compression independent of the packet audio compression is planned. It is also planned to
`extend the drag-and-drop mechanism of the windowing system to playing sound files.
`The distribution and reception of audio can be controlled at different levels. Check boxes at
`the top of the base window mute the microphone or speaker, effective for all conferences. Similarly,
`check boxes within each conference control area control talking or listening to the participants of
`that conference only. Finally, the site control area has a button that toggles listening to that site.
`If a site is talking, a one eighth note symbol appears in the listen button, highlighting the current
`speaker. A muted site is indicated by a crossed-out listen button, as shown in the figure. Note
`that the muting can also be controlled by keyboard control (see section 2.5); in particular, the
`microphone mute is toggled by the space bar.
`The long propagation and queueing delays in packet networks combined with the use of loud-
`speakers and omnidirectional microphones may create severe acoustical echo problems. The echo
`suppressor check box enables a simple echo suppression mechanism that mutes the speaker when
`sound is received through the local microphone. While reducing echo effects, echo suppression may
`also cause speech break-ups during local noise peaks.
`
`2.2 Setting up a Conference
`
`To set up a new conference (stream), press the join button. The panel shown in Fig. 3 requests the
`necessary information for the conference: The host field contains a list of hosts and their source
`routing, if necessary, as described in the next paragraph.
`Instead of specifying hosts directly,
`Mile retrieves the information from a text file. Nesting is currently not supported. Hosts can be
`specified in either dotted decimal notation or as a name. Any name that can be resolved through
`the network information services (NIS, aka YP), the resolver (bind), the Ietc!hosts file or other
`locally available means is permissible. Multicast addresses can be added to /etc/hosts file or
`its YP distributed version. Multicast addresses are automatically recognized and thus require no
`further identification. Multicast addresses are currently only supported using UDP transport. To
`wait for connections initiated by other sites, leave the field blank.
`The host field contains a. white-space separated list structured by the (case—sensitive) keywords
`TARGET, STB.IC'I_5‘I' (strict ST source route), LODSE_ST (loose ST source route), S‘I'ltIC'1‘.IP (strict
`source route with IP encapsulation), LDDSEJP (loose source route with IP encapsulation) and PORT.
` m_m
`“This is actually being planned for the Internet engineering task force (IETF) working group sessions.
`"It is planned to allow gateway operation even on machines without audio support so that a superminicomputer
`could serve as a transcoder for high-quality low-bitrate audio conferences, once a mechanism for predictable task
`scheduling on 20 ms intervals can be determined.
`
`
`
`
`
`a i
`0
`
`III Talk
`
`Cl Echosupp.
`52: um...
`
`Nevot: Network Voice Terminal
`
` 3
`
`
`
`
`I:1_ Talk E Listen
`
`El Lixia (PARC)
`Cl yhc@ happyuconcert net
`Usteve Pink. SICS Sweden
`E Ernst Biersack
`13 Ron Broers ma (NOSC, San Diego)
`Cl Michael S. Shappe (Cornell)
`
`
`
`
`
`
`
`III Aydiru Edguer (cwnu)
`Cl Paul Traina (pst@-cisco.com)
`D kph@snace.cisco.com
`[3 Ron Fre derick (PP. RC)
`Dion Crowcroftte UC London
`
`
`
`
`
`
`
`,_ vI1.94(c) 1332 Henning SchuIzrinne,Uni1-ersity of Massachusetts
`
`Figure 2: NEVOT display when connected other sites
`
`TARGET is followed by a single host name, while the routing options are followed by lists of zero
`or more hosts. The current port number, valid until the next occurrence of the PORT specifier, is
`given by a positive integer following PORT. Currently, only the ST-II API understands about source
`routes; other transport protocols simple ignore these specifications. As an example, consider:
`
`TARGET desperado . ecs . unass . edu
`LOBSE__ST spar.-c1 .ecs . umass . edu
`PORT 3458
`
`TARGET despot . ecs . umass . edu
`
`The encryption key is used when encryption mode setting is chosen‘.
`The conference identifier distinguishes several conferences using the same protocol and port.
`The fields labeled audio send port and audio receive port are filled in with the ports for
`sending and receiving audio data. In normal operation, both ports will have the same value, agreed
`upon by all conference participants. However, transmission quality over a link can be tested by
`specifying a send port number of 7, the echo port. The remote host will simply reverse sender and
`receiver address and return the audio packet. Currently, echo facilities are not available for ST-ll.
`The session port is used to send and receive session control messages. The ttl field specifies
`the time-to—]ive of multicast packets. The value currently is interpreted only by multicast UDP
`conferences. The choice menu beneath the time-to-live field determines the protocol to be used,
`namely UDP (or multicast UDP), TC]? or ST-Ii.
`The audio encoding is set by the next choice menu. The supported encodings and their rates are
`listed in Table 1. Note that incoming audio data from different sites within the same conference can
`use different encodings, all outgoing voice data for a. conference, however, uses the same encoding.
`‘The key is limited to 8 characters, where only the least significant 7 bits of each character are used. Control
`characters can be specified using the customary C language notation, i.e., \n for newline, \t for horizontal tab, etc.,
`or \ooo as a three-digit octal number.
`
`
`
`Figure 3: The conference set-up panel
`
`
`
`
`
`The third column in the table indicates the increment in the packetization interval so that all
`packets have the same integer number of bytes. The LPC codec can be configured to compute the
`filter coefiicients over different intervals, given by the vocoder parameter. Also, if the vocoder
`period is a submultiple of the packetization interval, several predictor sets are packed into a single
`network packet, arnortizing the header overhead over a larger number of audio bytes. The vet
`LP C1 codec is equivalent to setting the vocoder period and pacltetization interval to 22.5 ms, while
`the LPC4 codec uses a packetization interval of 90 ms and a vocoder interval of 22.5 ms. If the
`vocoder intervals differ between sender and receiver, speech will appear to be pitch-shifted and
`slowed down or speeded up. Vocoder intervals above 25 ms degrade voice performance below the
`already barely acceptable communication quality achieved by LPC. The LPC codec allows to run
`packet voice over a 9.6 kbps SLIP (modem) connection.
`
`name
`(3.711
`G.721
`DVI
`G323
`LPC
`
`kb/s
`64
`32
`32
`24
`4.8
`
`packetization increment (ms)
`voice coding method
`0.125
`8-bit pt-law PCM
`4-bit CCITT G.721 ADPCM 0.25
`4-bit Intel/DVI ADPCM
`0.25
`3-bit CCITT G123 ADPCM 0.33333
`LPC codec
`vocoder
`
`Table 1: Voice encoding
`
`The check boxes determine the characteristics of the conference. Checking oil‘ the encrypt box
`enables DES voice data encryption, with the key entered above. The listen only box disables the
`automatic creation of reciprocal ST-II connections.
`If the identify when listening box is checked,
`NEvo'I' sends out periodic messages containing the user and host name in a format compatible
`with vat even if we have muted our site. The feature may be useful to turn off that feature for
`large conferences with mostly passive audiences where it is undesirable to flood the network and
`the displays of participants with the names of all listeners. Conversely, the show listeners option
`indicates that sites that have not sent audio data are to be displayed. Ifnot checked, only those sites
`that have talked recently are shown. The source address field was discussed earlier and is only used
`in conjunction with the packet refiector. Reverse name looknp, i.e., the mapping from Internet
`addresses to host names, can be enabled by checking reverse name Iookup. Since name lookup
`may take an indeterminate amount of time, during which NEVOT is otherwise blocked and since
`most sites transmit site identification strings, the use of this option is generally not recommended.
`Checking the exclusive option ensures that if talking for this conference is enabled, talking to all
`other conferences is automatically disabled. This is useful for side chats, making it a bit less likely
`that what was considered a confidential remark gets distributed to the conference at large. — The
`join button establishes the conference.
`To leave a conference, press the leave button in the conference control panel. To add a new site
`to the conference, pressing the add button adds popup panel, where the site name can be filled in.
`Sites that send audio or control information are automatically added. Adding sites is unnecessary
`for rnulticast UDP conferences and thus the button is inactive and shown dimmed. The properties
`of an existing conference can he modified by modifying the conference set—up pop up, which is
`invoked by pressing the mouse menu button‘ while the pointer is within the conference control
`panel.
`
`‘typically, the right-most button
`
`
`
`Each conference site has its own control panel. On the right, it displays the site identifier, which
`may be an Internet number (if the Internet number could not be translated into a host name), a
`host name or, if the other site is sending its identifier, the rote user name and host name. Note
`that it is very easy to spoof this identifier, so it should not be relied upon for authentication.
`If there are a large number of sites in a conference, the site panels will overlap. The number
`of rows displayed per conference is given by the max_height configuration parameter. During a
`conference, you can resist: the NEVOT window to allow more or less space for each site entry.
`Clicking with the right (menu) mouse button on a site panel brings up the status display for
`that site (Fig. 4). It shows site statistics and features a button to drop the site and a check mark
`that enables talking to this site. Talking is by default enabled for multicast UDP, but must be
`enabled explicitly for ST-H and unicast UDP, establishing a connection in the outgoing direction.
`The status pop-up panel is dismissed by selecting the “d.ismiss" button or unpegging the pushpin.
`
`o-{F0
`
`Henning SchuIzrinne(i_ldemo8
`
`Internet number: 128.119.40.212
`
`Gateway: 0.0.0.0
`
`Audio encoding: G.?‘l1
`
`Sample rate: 8000 H2
`
`Channels:
`1
`Received:'10.1X10.1
`
`Pia-gout delay:
`
`1
`
`ms
`
`Lat-e=s:_.:::.:> 030*
`
`Lost=.<;.:.::> 030*
`
`Duplicates: £ 050%
`
`57:2: 0*”
`
`Figure 4: The site status pop-up
`
`A single site can be dropped from the conference by selecting the Drop bntton in the site
`status panel. Sites that have been inactive for long periods of time are dropped automatically (see
`description of time outs in the properties menu).
`
`9
`
`
`
`Clicking on a site with the middle mouse button provides a. simplified way to start a second
`conference. A join panel as in Fig. 3 is displayed, with the current conference characteristics
`such as encoding, port numbers, etc. The conference identifier is incremented by one and the
`exclusive option is checked. Naturally, any of the parameters can be changed just as when creating
`a conference using the Join button. However, either the port number, protocol or conference
`identifier must diifer from all other conferences.
`
`2.3 _ Recording, Playback and Volume Adjustment
`
`NBVOT can play back audio files. The play button invokes a file pop-up menu (see Fig. 55). Pressing
`play within the pop-up starts the playback. For standard Sun audio files (extension .au or .snd),
`the description is shown in the base window footer. The normal conference and site talk controls
`also apply while playing audio files. Naturally, the microphone is disabled during playback, but
`reception is unafiected. Putting a check mark in the looping check box plays the same sound file
`again and again. Vllhile playing, the play button becomes a stop play button. Selecting the stop
`or pause cancels or pauses playback. Playing resumes when selecting the resume button.
`‘While
`playing sound, the descriptive header information and length is displayed in the footer of the base
`window.
`
`Figure 5: The play file pop-up menu
`
`Recording audio works in a similar fashion. In addition to directory and file name, the descrip-
`‘The second item in the list shows another possibility for this feature.
`
`10
`
`
`
`functionality, in addition to side tone adjustment and switching between speaker and headphone
`jack output.
`
`automatic gain control, VU to the voice volume gauge, SD to the silence detector and DEL to the
`delay adjustment. The abbreviations VE denotes voice energy, ranging from zero to 127. String
`values can be enclosed in quotation marks; strings containing white space must be enclosed in
`quotation marks. Bits within flags are specified by concatenating the listed symbols, separated by
`vertical bars, I. White space is not allovved. A flag is negated by prefixing it with an exclamation
`mark or tilde. Example:
`
`3 mode dell isd
`
`sets the “deI" bit and resets the “sd" bit in the “mode” flag. An example of an initialization file is
`shown below:
`
`s tracs_1ength 5000
`s trace_eveuts !audio_inl!audio,outlitrnnsmitllreceivel!packet_1oas|!ei1encel!AGCl!de1ay_ndj
`s agc_tc 1024
`5 agc_hyst 20
`5 agc_nom 4294967295
`5 agc_interva1 0.5
`s vu_tc 100
`5 vu_hyst 2
`s vu_nom 0
`s vu_:i.ntarvaJ. 0.1
`s sd_tc 0
`s sd_hyst B
`s sd_nom 50
`s sd_intervnl O
`
`s davg_tc 1000
`s davg_hyst 2
`s dnvg_non 4
`s davg_interve1 2.5
`3 dvar_tc 1000
`s dvar_hyst 2
`s dvar_non 4
`a dva:,interval 2.5
`a host "224.2.0.1"
`s st_racv_port 3456
`s st_sand_port 3456
`s st_session_port 345?
`
`11
`
`
`
`51:_t'l'.1 127
`st_proto UDP
`s'l:_con.feranc.e_:i.d O
`
`5t_node !encrypt|!aource_addI!1isten_on1y|id_1iaten_om1ylahow_1i5tenera|Ereaolvellaxclusivo
`voico_coding G.711
`p1ay_dir "/us:/demo/SOUND/sounds"
`p1ay_fi1e (null)
`p1ay_1oop O
`p1ay_gain -1
`rac_gain -1
`mon_gain 0
`p1ay_pnrt jack
`reo_port default
`p1ay_channe1s 1
`rec_channe1s 1
`
`p1ay,5amp1e_rate 8000
`roc_sanp1e_rate B000
`rec,1oaater 22.5
`p1ay_1owate: 22.5
`play_hiIater 90
`rec_h:i.nater 90
`packetization 22.5
`vocoder 22.5
`ao£t_to 1
`ha:d_to 10
`check_interva1 6
`IIII
`repeat_th 40
`echo_th 30
`batore_spurt 40
`aiter_apu:t 100
`si1ence,aub 0
`echo_supp O
`verbosity 2
`
`WMMUNMMMUOMMWMNUUUWMMMMMlkflfiflifllflflfl!Uiflfllflflflfllfil
`
`node !niko_1oop|!a1_1oopI!a£_only|sdI!agc|vu|de1
`user "finlzh"
`protocol vat
`role end_node
`nax_heighx 2
`The properties pop-up menu is invoked by pressing the mouse menu button while in the global
`control panel (i.e., the panel at the top, not associated with a. conference or site).
`The parameters have the following meaning:
`
`Silence, lost packet: Determines what happens if a packet is lost or there is silence (i.e., no packet
`to be played out). NEVOT either repeats the last packet or inserts actual silce. Repeating
`the last packet reducing the push-to-tall: effect where the speaker background noise of the
`speaker is cut off abruptly during silence periods.
`
`Audio before/after tallcspurtz Determines the time (in milliseconds) of “silence” sent before
`and after a tall: spurt, reducing front and end clipping.
`
`Audio low/high water mark: To compensate for non-periodic scheduling, the operating syst
`buffers a number of bytes before playout. This number determines the range of acceptable
`buffering. Too low a value will lead to clicks, particularly if the system is busy. A high value
`incurs additional play out delay.
`
`12
`
`
`
`agc_1-.c
`agc_hys1:
`agc_nom
`agc...'i.n1:e:rval
`davg_1:c
`davgjiyst
`davg_nom
`davg_'i.nterva1
`dvar_tc
`dvar.hys1:
`dvar_nom
`dvar_:i.nterva.'I.
`vu.tc
`v-u.hyst
`vu_nom
`vu..i.nterva.1
`ed_tc
`sruiyst
`ed.nom
`sd.interval
`
`AGC: time constant (ms)
`AGC: hysteresis (VE)
`AGC: set point; desired energy level
`AGC: adjustment interval
`delay average: time constant (ms)
`delay average: hysteresis (VE]
`delay average: variance multiplier
`delay average: adjustment interval
`delay variation: time constant
`delay variation: hysteresis (VE)
`delay variation: variance multiplier
`delay variation: adjustment interval
`VU meter: time constant (ms)
`VU meter: hysteresis (VE)
`VU meter: currently not used
`VU meter: update interval (sec)
`silence detection: time constant (ms)
`silence detection: hysteresis (VE)
`silence detection: max. threshold
`silence detection: update interval for minimum (sec)
`
`Table 2: Filter parameters
`
`play_:Ei1e
`p1ay.d:i.r
`p1ay.1oop
`1-ec..ga:Ln
`play.ga:Ln
`mon_gain
`rec_port
`play_port
`rec..channele
`
`p1ay_channels
`1-ec_samp1e_rate
`p1ay_s aInp1e_rat.e
`bef ore_spu.rt
`at tenspurt
`play_1owat or
`play .111 was or
`rec.loua1:er
`reciiiuater
`
`packet izat ion
`vocoder
`s i1ence._sub
`
`default playback file name
`default directory for sound files
`play same audio file again and again
`audio recording gain; --1: leave as is
`audio playback gain; -1: leave as is
`audio monitor gain; -1: leave as is
`audio input port: default, line, mic or digital
`audio output port: default, speaker or jack
`audio record channels
`audio output channels
`audio input sample rate
`audio output sample rate
`packets before talk spurt
`packets after talk spurt
`the minimum occupancy of the audio output buffer buffer [ms]
`the maximuni occupancy of the audio output bufier buffer (ms)
`the minimum occupancy of the audio input bufier buffer (ms)
`the maximum occupancy of the audio input buffer buffer (ms)
`packetisation interval (ins)
`vocoder interval (ins)
`silence substitution algorithm
`echo suppressor flag
`don’t repeat it" packet energy is above this threshold
`threshold below which microphone audio is treated as echo
`voic e_c oding
`audio encod.ing°
`__—..j_j.:..:___j:j
`
`echo _supp
`repeat _th
`echo .tl:L
`
`“G.711,G.T21,G.723,CELP.LPC,DVI.linear B,1inear 16
`
`Table 3: Audio and audio file parameters
`
`13
`
`
`
`
`
`
`
`
`
`
`
`
`Low water mark: 22.5
`High water rnarlc 90
`
`
`22.5
`90
`
`ms
`ms
`
`
`
`Channels:
`
`1
`
`EE]
`
`l__....
`
` '
`Nevot: Properties
`-
`
`Audio Input
`
`Audio Output
`
`
`
`
` Audio before talkspurt: 40
`_.j_—
`aftertall-cspurt: 100
`ms
`
`Silence, lost packet:
`play last packet
`
`
`
`Sampling rate:
`
`8.000
`
`H2
`
`
`
`
`
`Soft timeout:
`voice packet size:
`Check interval:
`
`1
`OTIU
`
`[J U1
`
`
`
`
`Hard timeout: 10
`
`min
`
`WIS
`sec
`
`l~l'UF'
`
`vat
`
`
`
`
`
`
`Echo threshold:
`sound directory:
`
`UJ
`Repeat threshold: 40
`EIQ
`0
`
`
`;'usr!demo/SOUND,-‘sounds
`-
`
`E2]
`
`User name: %n@%h
`
`
`
`
`
` De lay
`VU
`avg.
`var.
`
`
`
`1
`sec
`0.1
`1
`
`2
`
`0
`
`0.1
`
`
`4
`4
`
`
`2.5
`
`sec
`
`
`
`
`
`
`
`
`Silence Mic
`Time constant: 0
`1.024
`Hysteresis: 8
`20
`
`Nominal: 50
`80
`
`Interval: 0
`0.5
`
`Enable: E
`
`
`
`I]
`
`M
`
`ET
`
`El
`
`
`
`verbosity: 2
`
`Max. number of trace events: 5000
`
`
`
`
`
`Packetloss
`I] Microphone loopbacl:
`Cancel
`
`
`
`Traceevents
`
`Delavadi
`I] Audiofileloopback E]
`iiudiofileonly
`
`Figure 5: The properties pop-up
`
`14
`
`
`
`
`
`
`
`
`
`
`
`
`
`trace.1ength
`trac-.e.events
`
`number of trace events
`events to be traced“
`
`et..3end.port
`st.recv.port
`st._.session_port
`st._tt1
`st_proto
`st_con.ference_-i.d
`st_mode
`
`default audio send port
`default audio receive port
`default session control port
`time-to-live for multicast packets
`default protocol: UDP, TCP, ST-II
`default conference identifier
`stream model’
`
`soft time-out
`soft.to
`hard time-out
`ha.rd_to
`interval to send identifier and check time-out (sec)
`check_:‘..nterval'
`0: no output; 1: niinimal messages on stdout
`verbosity
`flags: mike._'loop, a:E_1oop, sd, agc, vu, del
`mode
`user name format, as described on p. 15
`user
`audio packet format: vat or nvp
`protocol
`role: end.node or gateway
`role
`maxirnum number of rows per conference
`maxjieight
`_j....:_j_.j_j.__j
`
`°aud.:‘.o_i.n, aud:i.o.out, transmit, receive, packetloss. silence. AGC, de1ay.adj
`“values: encrypt, sour-ce.acld.r, 1:i.sten.on1y. :i.d_1.:i.sten.on1y, shou.1 ieteners
`
`Table 4: Network parameters
`
`Softfhard time out: The waiting time, in minutes, after the last audio/control packet is received
`before a site is timed out.
`
`Voice packet size: The voice packetization interval, in milliseconds. Sites within a conference
`may use diiferent packetization intervals. The voice packetization interval must yield a integer
`packet size after encoding. See the voice encoding table above for acceptable increments. The
`standard paclzetization interval that ensures interoperability with vat is 22.5 ms.
`
`NVP /vat: The audio packet format, either NV? or the vat private header format. All conferences
`must use the same format; thus, you can switch between the two only prior to opening the
`first conference.
`
`Check interval: The check interval is the time after which the program sends out an identifying
`message to all other conference participants. This is also the granularity with which time-outs
`are checked.
`
`Echo threshold: If voice packets with average energy below this threshold are encountered while
`other users are talking, it is assumed that the microphone is picking up the audio of these
`other users. This mechanism is enabled only when the echo suppressor box is checked.
`Repeat threshold: Packets with energy above this threshold are not repeated during silence
`periods.
`
`Sound directory: The default directory for sound files.
`
`User name: The message to be send with the session protocol. The string may contain format
`characters which are replaced by the current value :
`
`15
`
`
`
`‘tie
`lih
`' i
`7.11
`‘(Lo
`‘rip
`'/.r
`‘flu
`ll?!
`
`telephone extension (e.g., x3179)
`host name (e.g., gaia.cs.umass .edu)
`host Internet number (e.g., 128. 119.40. 186)
`real user name (e.g., Banning Schulzrinne)
`office room number (e.g., £203)
`home phone number (e.g., 555-1212)
`terminal device name (e.g., /dev/1:r.y01)
`the user login name (e.g., hgschulz)
`the percent sign itself
`
`I typically, user name and host, but can be anything. This can be used for a crude messaging
`protocol.
`
`Silence: This column determines the parameters for the silence detector. Currently, the time
`constant is not used. The hysteresis determines the amount by which the energy of a packet
`must exceed the current minimum average. The maximum silence threshold is given by the
`sum of the nominal value and the hysteresis. The interval determines how long the silence
`detector waits during a tall: spurt before raising the minimum average.
`
`AGC: This column contains the parameters for the automatic gain control, namely time constant,
`hysteresis (i.e., the band around the nominal energy value where no gain adjustment is made),
`the desired average energy value and the adjustment interval.
`Vlil: This column contains the parameters for the VU meter, both for incoming and outgoing
`audio. The VU display is updated with a period given by the interval entry. The nominal
`value is ign