IntroductionxiiiSIP provides capabilities to: Determine the location of the target endpoint -- SIP supports address resolution, namemapping, and call redirection. Determine media capabilities of the target endpoint -- Via Session Description Protocol(SDP), SIP determines the “lowest level” of common services between endpoints.Conferences are established using only media capabilities that can be supported by allendpoints. Determine the availability of the target endpoint -- A call cannot be completed becausethe target endpoint is unavailable, SIP determines whether the called party is already onthe IP phone or does not answer in the allotted number of rings. It then returns a messageindicating why the target endpoint is unavailable. Establish a session between the origin and target endpoint -- The call can be completed,SIP 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 layer