SIP Addressing
The “objects” addressed by SIP are users at hosts, identified by a SIP URL. The SIP URL takes a form similar to that of an e-mail address: user@host. The user part is a user name or a telephone number. The host part is a domain name or a numeric network address.
Locating a SIP Server
When a client wishes to send a request, the client sends it to a locally configured SIP proxy server (as in HTTP), independent of the request-URL, or to the IP address and port corresponding to the Request-URL. For the latter case, the client must determine the protocol, port, and IP address of the server receiving the request.
SIP Transaction
Once the host part has been resolved to a SIP server, the client sends one or more SIP requests to that server and receives one or more responses from the server. A request (and its retransmissions) and the responses triggered by that request make up a SIP transaction.
SIP Invitation
A successful SIP invitation consists of two requests: INVITE, followed by ACK. The INVITE request asks the callee to join a particular conference or establish a two-party conversation. After the callee has agreed to participate in the call, the caller confirms that it has received that response by sending an ACK request. If the caller no longer wants to participate in the call, it sends a BYE request instead of an ACK.
SIP itself only defines the initiation of a session. All other parts of the session are covered by the other parts of the aforementioned protocol, some of which come from other applications or functions not necessarily designed for real-time multimedia over IP. Compared with H.323, SIP is less defined and more open, which can result in interworking difficulties because of different implementations of the standard. Every SIP developer can implement a unique version with different extensions that aren’t included in the basic standard. Although H.323 and SIP handle call set-up, call control, and media in different ways, H.323 defines all of these processes, whereas SIP defines call set-up only, and uses other protocols for call control and media. Using SIP, call control and set up are handled separately from media. This becomes an important issue when interworking with the PSTN, which uses SS7 for signaling, although SS7 can be translated to SIP through a gateway or softswitch. Otherwise, intelligent networking services such as caller ID and call forwarding will not work with SIP. Media and signaling are handled sepa- rately in SIP, requiring separate media gateway and signaling gateways for interoperability with the PSTN. This can create a major problem in the case of common PSTN services like DTMF or touch tones, in which signaling is carried in the media. There is also no SIP equivalent of ISUP message transport from SS7.