talkd is the server that notifies a user that
somebody 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 talk client 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 client. 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.