SIP vs. IMS: What is the difference?
1) SIP is a just one protocol. IMS is a whole architecture that describes how a set of components (PCCF, HSS, etc.) can be assembled to provide scalable services. IMS specifies a set of interfaces (protocols) between these components. Only two of these interfaces (Gm & Mw) are based on SIP. The following points apply to these interfaces.
2) IMS/SIP provides Quality of Service for voice and video calls. This is important to the carriers because they want to control the QoS to their subscribers: it should be not too good, not too bad. The QoS parameters in IMS/SDP are interpreted by the carrier and are used to select appropriate bearer (wireless channel) qualities (like bandwidth, error rates, latency, etc.).
3) Several 3GPP sponsored SIP extensions that were authored by 3GPP and shoved through the IETF. These extensions are required by carriers to provide reasonable commercial service. Examples:
a. SigComp: header compression to reduce signaling overhead
b. Private Headers, to convey additional information between IMS components.
c. Service-route, to control the route of SIP requests
4) IMS adds Presence services, using the new SUBSCRIBE & NOTIFY methods.
5) Privacy & Encryption support for SIP headers.
6) IMS uses SIP to support applications. The intent is to provide a QoS for application communications. Like getting decent YouTube on your phone.
IMS is a standard within the telecommunications world. Carriers who build service networks buy components from telecommunications vendors. When they purchase components, carriers usually issue RFPs that specify parts of the IMS standards as requirements. Vendors build products that comply with the requirements.
For competitive reasons, one carrier’s implementation of IMS may not be identical to that of another. They may interoperate, but only to the limit that a carrier feels is necessary for their success.
In conclusion, IMS is a ‘Carrier Supported Internal Standard”. SIP is an “Open Standard” and is too open to be well supported by carriers. On a carrier provided mobile handset, the native phone service would use IMS for the reasons listed above. A Third Party provided voice application may use SIP or something else. It is unlikely that a carrier would willingly open up full access to its IMS services to arbitrary Third Party developed applications. If I were the carrier, I wouldn’t either. The risks are just not worth it.