The
talkd
utility
is the server that notifies a user that someone else wants to
initiate a conversation.
It acts as a repository of invitations, responding to requests
by clients wishing to rendezvous to hold a conversation.
In normal operation, a client, the caller,
initiates a rendezvous by sending a
CTL_MSG
to the server of
type
LOOK_UP
(see
<protocols/talkd.h>).
This causes the server to search its invitation
tables to check if an invitation currently exists for the caller
(to speak to the callee specified in the message).
If the lookup fails,
the caller then sends an
ANNOUNCE
message causing the server to
broadcast an announcement on the callee's login ports requesting contact.
When the callee responds, the local server uses the
recorded invitation to respond with the appropriate rendezvous
address and the caller and callee client programs establish a
stream connection through which the conversation takes place.