## Communicating with other network voice programs

Note: sending voice over the Internet is complicated enough even when the same application is used on both ends. Speak Freely supports the emerging standard protocol, RTP, and will eventually transition to using it as the default. Since the standard is so new, no program, Speak Freely included, can be absolutely guaranteed to support it completely correctly. So unless you are an experienced Speak Freely user who needs to communicate with users of other programs which support RTP or VAT protocols, you're well advised to ignore this section. As long as you're talking to another Speak Freely user, Speak Freely's own protocol (selected by default) will give you better performance and more secure encryption than are available with the standard interchange protocols. Further, many of the widely-publicised commercial Internet voice programs have their own proprietary protocols and do not yet support RTP. Do not assume you can communicate with a user of such a program unless its vendor explicitly certifies it to be RTP compliant.

As voice communication over the Internet moves from the exotic to the everyday, standards are emerging which allow users of a variety of Internet voice programs to communicate with one another. As users demand the ability to speak to one another regardless of which program they're using, vendors will be forced to conform to these standards.

Speak Freely supports the Internet Real-Time Transport Protocol (RTP) (RFC 1899) and RTP Profile for Audio and Video Conferences with Minimal Control (RFC 1890), as issued in January of 1996. See the Bookshelf for complete citations of these documents, including where you can download them on the Internet. In addition to RTP, Speak Freely also supports the protocol used by the Lawrence Berkeley Laboratory Visual Audio Tool (VAT), a widely used Unix conferencing program. (Starting with Version 4, VAT supports RTP in addition to its native protocol, so there's no reason to use the more limited VAT protocol except when communicating with an earlier version of VAT, or a VAT-compatible program which does not yet support RTP.)

When you receive sound from a remote site, Speak Freely automatically detects the protocol the user is transmitting and displays this in the connection window (unless a face image is displayed, but since only Speak Freely's native protocol supports face images, if a face appears you know you're connected to another copy of Speak Freely).

To transmit to the user of an RTP or VAT compatible application, you must select the appropriate protocol with the Options/Protocol menu item--Speak Freely does not automatically transmit in the protocol it's receiving, so if you are establishing a new connection to a site, you have to choose a protocol that site understands. (Since Speak Freely understands all three protocols, you can communicate with Speak Freely users regardless of which protocol you've chosen.)

Due to design differences in the various protocols, the following restrictions apply when using RTP and VAT protocols:

- Simple and LPC-10 compression modes cannot be selected. RTP and VAT protocols do include these forms of compression.

- The only encryption option available is DES. The other forms of encryption provided by Speak Freely are not presently a part of the specification of the other protocols.

- VAT protocol programs do not all use the same transformation of the key string into the DES key, so DES encryption may or may not work in VAT protocol, depending on which program you're talking to. It's best to use RTP protocol if at all possible.

- The DES encryption specified for RTP and VAT protocols includes the initial and final bit permutations, which most cryptographers believe serve only to deter software implementations. They do this quite effectively--DES encryption in RTP and VAT protocol require a substantially faster CPU to perform in real time than the permutation-free DES used by Speak Freely's own protocol.

- RTP and VAT use smaller packets than Speak Freely. This, coupled with the relatively poor real-time response of Windows, may result in "choppier" audio than with Speak Freely's own protocol. The stronger the compression mode you've selected (GSM and LPC are the strongest), the less the small packets will degrade the audio quality. A workaround allows you to transmit larger packets in RTP protocol, but this is not guaranteed to work with all RTP applications.

- RTP and VAT encrypt the entire transmitted packet, as opposed to including an in-the-clear prefix containing control information of no use to an eavesdropper as Speak Freely does. This has the consequence that if somebody is sending you encrypted packets in RTP or VAT protocol, there's no way to determine the identity of the sender or to discern what protocol they're sending.

### Payload Types Supported

The "payload type" of a real-time protocol packet refers to the encoding and compression modes used to represent the data within it. All applications are not required to support all payload types, though support of a minimum subset is encouraged. Speak Freely supports all the payload types of VAT protocol and the following RTP payload types, using the nomenclature of RFC 1890.

> DVI4, GSM, L16, LPC, PCMA, PCMU

To transmit in the protocol RTP and VAT refer to as DVI, select ADPCM Compression on the Options menu. PCMA is supported on receive only--since PCMU provides equivalent compression and fidelity and is one of the recommended minimum subset payload types, there is no need to implement PCMA transmission.