IntroductionxiiiSIP establishes a session between endpoints. SIP also supports mid-call changes, such asthe addition of another endpoint to the conference or the change of a media characteristicor codec. Handle the transfer and termination of calls -- SIP supports the transfer of calls from oneendpoint to another. During a call transfer, SIP simply establishes a session between thetransferee and a new endpoint (specified by the transferring party) and terminates thesession between the transferee and the transferring party. At the end of a call, SIPterminates the sessions between all parties.SIP ComponentsSIP is a peer-to-peer protocol. The peers in a session are called User Agents (UAs). A user agentcan function as one of following roles: User Agent Client (UAC) -- A client application that initiates the SIP request. User Agent Server (UAS) -- A server application that contacts the user when a SIP request isreceived and that returns a response on behalf of the user.User Agent Client (UAC)The UAC is an application that initiates up to six feasible SIP requests to the UAS. The sixrequests issued by the UAC are: INVITE, ACK, OPTIONS, BYE, CANCEL and REGISTER. When theSIP session is being initiated by the UAC SIP component, the UAC determines the informationessential for the request, which is the protocol, the port and the IP address of the UAS to whichthe request is being sent. This information can be dynamic and will make it challenging to putthrough a firewall. For this reason, it may be recommended to open the specific application typeon the firewall. The UAC is also capable of using the information in the request URI to establishthe course of the SIP request to its destination, as the request URI always specifies the hostwhich is essential. The port and protocol are not always specified by the request URI. Thus if therequest does not specify a port or protocol, a default port or protocol is contacted. It may bepreferential to use this method when not using an application layer firewall. Application layerfirewalls like to know what applications are flowing through which ports and it is possible to usecontent types of other applications other than the one you are trying to let through what hasbeen denied.User Agent Server (UAS)UAS is a server that hosts the application responsible for receiving the SIP requests from a UAC,and on reception it returns a response to the request back to the UAC. The UAS may issuemultiple responses to the UAC, not necessarily a single response. Communication between UACand UAS is client/server and peer-to–peer.Typically, a SIP endpoint is capable of functioning as both a UAC and a UAS, but it functions onlyas one or the other per transaction. Whether the endpoint functions as a UAC or a UAS dependson the UA that initiates the request.