11. TALK: Exchanging Terminal Messages

Introduction

The TALK utility allows you to exchange messages you type at your terminal with another local or remote user. You do not need to wait between sending your message and receiving one from your destination user. TALK uses a split screen where what you type is on the top half and what the other person types is on the bottom. This allows you to talk in "real time."

Using TALK

First make sure the OpenVMS Phone Utility is on. If you show the broadcast status for your terminal and get something like the following:

$ SHOW BROADCAST
Broadcasts are currently disabled for:
    PHONE
    MAIL
    QUEUE
    SHUTDOWN
Then you enable phone broadcasting as follows:

$ SET BROADCAST=PHONE

To set up and invoke TALK, enter at the DCL prompt:

$ TALK:==$TCPWARE:TALK.EXE
$ TALK username[@host] [ttyname]
If you are communicating with another local user, type the user's username. If communicating with a user on another system, use the username@host syntax.

You can also include the terminal port (ttyname) as a parameter. Most UNIX servers only ring one of and not all the remote user's terminals. If the remote user is logged in many times, and you would rather ring a terminal that has been idle for only a short period, specify the terminal port using ttyname.

One way to discover terminal ports is by using the FINGER utility, such as in the following example, where there are two terminal ports, ttyp5 and ttyp7. Since the ttyp7 terminal has a much shorter idle time (and is more current), it is therefore a better candidate for a TALK terminal:

$ FINGER MARGE@MARGE.ZOZO.COM
Login name: marge                       In real life: Marge Simpson
Directory: /home/spectre                Shell: /usr/local/bin/tcsh
On since Nov 3 10:06:48 on ttyp5 from bart.nene.com
59 minutes Idle Time

Login name: marge                       In real life: Marge Simpson
Directory: /home/spectre                Shell: /usr/local/bin/tcsh
On since Nov 3 10:06:44 on ttyp7 from bart.nene.com
36 seconds Idle Time

$ TALK MARGE@MARGE.ZOZO.COM TTYP7

After the above command, TALK sends the following message to the recipient if the connection is successful:

Message from Talk_Daemon@destination-host...
talk: connection requested by yourname@yourhost.
talk: respond with: talk yourname@yourhost

To establish the connection, the recipient follows the instructions from the Talk_Daemon and types the following at the system prompt:

talk yourname@yourhost

It does not matter from which machine the recipient replies, as long as the recipient's login name is the same. Once communication is established, the two parties can type simultaneously, with their output appearing in two parts of a split screen. What you type appears on the top half and what the other person types is on the bottom half of the screen.

To signal that you are expecting a response, it is customary to leave a blank line after your last line of text. You can use a convention such as -oo ("over and out") to signal that your part of the correspondence is over.

Type Ctrl/L to reprint the screen. You can also use the erase, kill, and word kill (Ctrl/K) characters.

To exit, type the interrupt character (Ctrl/C, Ctrl/Y, or Ctrl/Z). TALK moves the cursor to the bottom of the screen and restores the terminal to its previous state.

Example 11-1 shows a sample exchange between user BART on host BART.ZOZO.COM (an OpenVMS system) and user MARGE on host MARGE.NENE.COM.

Example 11-1     Sample TALK Message Exchange

On Bart:

(Bart) $ TALK:==$TCPWARE:TALK.EXE
(Bart) $ TALK MARGE@MARGE.NENE.COM

------------[Waiting for your party to respond]---------------------

On Marge:

(Marge) $

Message from Talk_Daemon@BART.ZOZO.COM at 11:23 ...
talk: connection requested by bart@bart.zozo.com.
talk: respond with:  talk bart@bart.ZOZO.com
(Marge) $ TALK BART@BART.ZOZO.COM

------------[Connection established: bart@bart.zozo.com]-----------

On Bart:

Hi, there!

------------[Connection established:

marge@marge.nene.com]-----------

On Marge:

Good to hear from you!

------------[Connection established: bart@bart.zozo.com]--

Hi, there!

 

On Bart:

Hi, there!

See you soon! -oo   Ctrl/C

------------[Connection closed.
Exiting]-----------------------------
Good to hear from you!

(Bart) $

Command Reference

The following is a command reference to the TALK utility.


 

TALK

The TALK command is a visual communication program that exchanges messages with another host user by copying lines you type on your terminal to the other user's terminal. The other host recipient must support the ntalk protocol to accept (and respond to) your messages.

It does not matter from which machine the recipient replies, as long as the recipient's login name is the same. Once communication is established, the two parties can type simultaneously, with their output appearing in different parts of the same window.

Typing Ctrl/L causes the screen to be reprinted, while the erase, kill, and word kill (Ctrl/K) characters work in TALK as normal.

To exit, type your interrupt character (Ctrl/C, Ctrl/Y, or Ctrl/Z). TALK moves the cursor to the bottom of the screen and restores the terminal.

Format

TALK username[@host] [ttyname]

Parameters

username[@host]

If you want to talk to someone on your own machine, username is just the local user's login name. If you want to talk to a user on another host, use the form username@host.

ttyname

Name of the specific remote terminal. Many UNIX clients do not send talk request messages to every terminal of the user, and usually select just one. You may, however, want to make a particular selection.

Restrictions

This version of TALK is incompatible with versions of ULTRIX earlier than v3.0. Starting with ULTRIX v3.0, TALK communicates with other machines running ULTRIX v3.0 (and later), and machines running 4.3BSD or versions of UNIX based on 4.3BSD.

TALK is not eight-bit clean. Typing in DEC Multinational Characters (ISO-8859/1) causes the characters to echo as a sequence of carets (^) followed by the character represented with its high bit cleared. This limitation makes TALK unusable if you want to communicate using a language that has ISO-8859/1 characters in its alphabet.

Example

system1>talk user2@system2

The following message appears on the screen of user2:

Message from Talk_Daemon@system2 at 12:37 ...
talk: connection requested by user1@system1.
talk: respond with: talk user1@system1

To establish the connection, user2 follows the instructions from the Talk_Daemon and types the following at the system prompt:

system2>talk user1@system1

Troubleshooting

The Your party is refusing messages message may come up if the remote terminal is set up with messages off, such as the first terminal (tty5) in the following example:

(Bart) FINGER MARGE@MARGE.ZOZO.COM
Login name: marge     (messages off)    In real life: Marge Simpson
Directory: /home/spectre                Shell: /usr/local/bin/tcsh
On since Nov 3 10:06:48 on ttyp5 from bart.nene.com
59 minutes Idle Time
No unread mail
No Plan.

Login name: marge                       In real life: Marge Simpson
Directory: /home/spectre                Shell: /usr/local/bin/tcsh
On since Nov 3 10:06:44 on ttyp7 from bart.nene.com
36 seconds Idle Time

(Bart) TALK MARGE@MARGE.ZOZO.COM TTYP5

----------------[Your party is refusing messages]--------------------

The Checking for invitation on caller's machine message may come up when the client is waiting for a response from the remote system. If the message appears for an extended time, it may mean that the remote system's server does not support the ntalk protocol, in which case a connection is not possible.

If the message Your party is not logged on appears, the remote user is not logged on at the time.