talkd 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
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.