<P> The network elements that use the Session Initiation Protocol for communication are called SIP user agents . Each user agent (UA) performs the function of a user agent client (UAC) when it is requesting a service function, and that of a user agent server (UAS) when responding to a request . Thus, any two SIP endpoints may in principle operate without any intervening SIP infrastructure . However, for network operational reasons, for provisioning public services to users, and for directory services, SIP defines several specific types of network server elements . Each of these service elements also communicates within the client - server model implemented in user agent clients and servers . </P> <P> A user agent is a logical network end - point used to create or receive SIP messages . The user agent manages SIP sessions . As a client (UAC), it sends SIP requests, and as a server (UAS) it receives requests and returns a SIP response . Unlike other network protocols that fix the roles of client and server, e.g., in HTTP, in which a web browser only acts as a client, and never as a server, SIP requires both peers to implement both roles . The roles of UAC and UAS only last for the duration of a SIP transaction . </P> <P> A SIP phone is an IP phone that implements client and server functions of a SIP user agent and provides the traditional call functions of a telephone, such as dial, answer, reject, call hold, and call transfer . SIP phones may be implemented as a hardware device or as a softphone . As vendors increasingly implement SIP as a standard telephony platform, the distinction between hardware - based and software - based SIP phones is blurred and SIP elements are implemented in the basic firmware functions of many IP - capable devices . </P> <P> In SIP, as in HTTP, the user agent may identify itself using a message header field (User - Agent), containing a text description of the software, hardware, or the product name . The user agent field is sent in request messages, which means that the receiving SIP server can evaluate this information to perform device - specific configuration or feature activation . Operators of SIP network elements sometimes store this information in customer account portals, where it can be useful in diagnosing SIP compatibility problems or display of service status . </P>

Which of the following are important classes are required to handle a sip call in android