Session Initiation Protocol and SIP Servers (Windows CE 5.0)
VoIP networks use SIP (or another signaling protocol) to connect phones so the phones can exchange media information through a media exchange protocol, like RTP.
In this context, "connect" includes resolving the address of the destination and negotiating the types of media to be exchanged.
For address resolution, SIP provides functionality analogous to what Domain Name System (DNS) provides for URLs. DNS maps human-friendly fully qualified domain names, like www.microsoft.com, to numeric IP addresses required for communication over an IP network. Similarly, SIP maps a URL or a phone number (xxx-xxx-xxxx in the United States) to an IP address to which the phone can send media.
SIP also provides additional functionality that DNS does not provide. For example, people can have multiple IP phones that they use in different locations. A SIP server can dynamically change the IP address it returns for a specific URL or phone number depending on whether the recipient is in the office, car, home or other location. Because the IP address changes, calls are routed to the phone that the person is using.
In addition to resolving addresses of destination phones, SIP uses Session Description Protocol (SDP) to negotiate media formats that both phones support.
The content of the SIP invitation message that a phone generates during call setup contains an SDP message that defines the media formats that the source phone supports. The destination phone examines the SDP message and creates a SIP response that says which media formats the call should use.
In terms of communication between SIP endpoints and the structure of SIP packets, SIP resembles HTTP in that it is a request-response protocol. However, unlike HTTP, SIP allows for additional responses to a single request.
For example, in response to an invitation a phone can initially return a "ringing" response, and then an "ok" response when the phone is picked up.
VoIP networks that use SIP generally provide a few common services that phones use to carry out SIP conversations. These services provide much of the additional functionality for which SIP was designed, like robust address resolution to multiple locations for a single URL or phone number. These services refer to server functionality, not to where or how the functionality is implemented. For example, in many cases the same physical server computer provides all of these services.
The following additional services are commonly provided by SIP:
Registrar and Location. One of the first SIP operations an IP phone performs is to register with a registrar server, by providing a URL or phone number and a corresponding IP address.
The registrar server stores this information and often provides it to proxy and redirect servers to resolve URLs and phone numbers to IP addresses.
Proxy and Redirect. Proxy and redirect servers assist IP phones in routing SIP messages to a destination. The mechanisms they use to accomplish this goal are slightly different.
A proxy server accepts SIP requests and forwards them to another SIP device, which can be an endpoint like a phone, or another server (which can then forward to a phone or another server, and so on). As far as the original client is concerned, the proxy server handles everything required to get the request to the destination.
In contrast, a redirect server does not forward requests. Instead, it returns an IP address to the IP phone; the IP phone then uses the returned address to submit the request to the correct location (which can be a proxy server or the actual phone).
For More Information
SIP is defined in IETF RFC 3261. Additional SIP-related information is defined in RFCs 3262, 3263, 3264, and 3265. SDP is defined in RFC 2327. For more information about these RFCs, search for their RFC numbers at this IETF Web site.
See Also
VoIP Technology and Protocol Overview
Send Feedback on this topic to the authors