Learn how Session Initiation Protocol (SIP) works.
SIP (Session Initiation Protocol) is an Application Layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include telephone calls, multimedia distribution, multimedia conferences and presence. The SIP Protocol is defined
as part of IETF RFC 3261, located at www.ietf.org.
SIP invitations are used to create sessions that carry session descriptions, which allow participants to agree on a set of compatible media types. SIP makes use of elements called proxy servers to help route requests to the user’s current location, authenticate and authorize users for services, implement provider call-routing policies, and provide features for users. SIP also offers a registration function that allows users to upload their current locations for use by proxy servers. SIP runs on top of several different transport protocols, such as UDP, TCP and TLS.
The SIP requests and responses are written in plain text within the datagram of the IP Header. Contained in the SIP requests and responses are the addresses of the source and the destination of the participants. These addresses are SIP URI’s, which have a UserInfo and Host Address, and this host address can either be an IP address or a domain name. Therefore, the routing of SIP is done using IPv4 addresses at the Application layer and does not route at the Transport or Network layer.
As the addressing and routing of SIP are done at the Application layer, the biggest problem the SIP protocol now has is the disconnect between the IPv4 addressing and routing at the Application layer versus the IPv4 addressing and routing at the Transport and Network layers. Network Address Translation (NAT) occurs at the Transport and Network layers, and thus the challenge.