Responses are sent by the user agent server indicating the result of a received request. Several classes of responses are recognized, determined by the numerical range of result codes:
- 1xx: Provisional responses to requests indicate the request was valid and is being processed.
- 2xx: 200-level responses indicate a successful completion of the request. As a response to an INVITE, it indicates a call is established.
- 3xx: This group indicates a redirection is needed for completion of the request. The request has to be completed with a new destination.
- 4xx: The request contained bad syntax or cannot be fulfilled at the server.
- 5xx: The server failed to fulfill an apparently valid request.
- 6xx: This is a global failure, as the request cannot be fulfilled at any server.
SIP defines a transaction mechanism to control the exchanges between participants and deliver messages reliably. A transaction is a state of a session, which is controlled by various timers. Client transactions send requests and server transactions respond to those requests with one or more responses. The responses may include provisional responses with a response code in the form 1xx, and one or multiple final responses (2xx – 6xx).
Transactions are further categorized as either type Invite or type Non-Invite. Invite transactions differ in that they can establish a long-running conversation, referred to as a dialog in SIP, and so include an acknowledgment (ACK) of any non-failing final response, e.g., 200 OK.
Because of these transactional mechanisms, unreliable transport protocols, such as the "User Datagram Protocol (UDP), are sufficient for SIP operation.
Instant messaging and presence
The "Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE) is the SIP-based suite of standards for "instant messaging and "presence information. MSRP ("Message Session Relay Protocol) allows instant message sessions and file transfer.
The SIP developer community meets regularly at conferences organized by SIP Forum to test interoperability of SIP implementations. The "TTCN-3 test specification language, developed by a task force at "ETSI (STF 196), is used for specifying conformance tests for SIP implementations.
When developing SIP software or deploying a new SIP infrastructure, it is very important to test capability of servers and IP networks to handle certain call load: number of concurrent calls and number of calls per second. SIP performance tester software is used to simulate SIP and RTP traffic to see if the server and IP network are stable under the call load. The software measures performance indicators like answer delay, "answer/seizure ratio, RTP "jitter and "packet loss, "round-trip delay time.
SIP trunking is a marketing term for native "Voice over Internet Protocol (VoIP) communication services offered by carriers. SIP Trunking service provides communication of VoIP phone calls between an organization's locations over an IP network with Quality of Service mechanisms to guarantee transmission characteristics (packet loss, delay and jitter) suitable for voice. A SIP Trunking service also includes gateway service to connect VoIP calls to the legacy "Public Switched Telephone Network (PSTN). This simplifies organizations' telecom infrastructure and saves money by sharing the carrier access circuit for voice, data and Internet traffic, and removing the need for "Primary Rate Interface (PRI) connections.
Many "VoIP phone companies allow customers to use their own SIP devices, such as SIP-capable telephone sets, or "softphones.
SIP-enabled video surveillance cameras can make calls to alert the owner or operator that an event has occurred; for example, to notify that motion has been detected out-of-hours in a protected area.
SIP is used in "audio over IP for "broadcasting applications where it provides an interoperable means for audio interfaces from different manufacturers to make connections with one another.
The U.S. "National Institute of Standards and Technology (NIST), Advanced Networking Technologies Division provides a public-domain "Java implementation that serves as a "reference implementation for the standard. The implementation can work in proxy server or user agent scenarios and has been used in numerous commercial and research projects. It supports RFC 3261 in full and a number of extension RFCs including RFC 6665 (event notification) and RFC 3262 (reliable provisional responses).
Numerous other commercial and open-source SIP implementations exist. See "List of SIP software.
SIP-I, or the Session Initiation Protocol with encapsulated "ISUP, is a protocol used to create, modify, and terminate communication sessions based on ISUP using SIP and IP networks. Services using SIP-I include voice, video telephony, fax and data. SIP-I and SIP-T are two protocols with similar features, notably to allow ISUP messages to be transported over SIP networks. This preserves all of the detail available in the ISUP header, which is important as there are many country-specific variants of ISUP that have been implemented over the last 30 years, and it is not always possible to express all of the same detail using a native SIP message. SIP-I was defined by the "ITU-T, whereas SIP-T was defined via the "IETF "RFC route.
The increasing concerns about the security of calls that run over the public Internet has made SIP encryption more popular and more desired.
If "secure transmission is required, the sips URI scheme is used and mandates that each hop over which the request is forwarded up to the target domain must be secured with "Transport Layer Security (TLS). The last hop from the proxy of the target domain to the user agent has to be secured according to local policies. TLS protects against attackers who try to listen on the signaling link but it does not provide real end-to-end security to prevent espionage and law enforcement interception, as the encryption is only hop-by-hop and every single intermediate proxy has to be trusted.
Because "VPN is not an option for most service providers, most service providers that offer secure SIP (SIPS) connections use TLS for securing signaling. The relationship between SIP (port 5060) and SIPS (port 5061), is similar to that as for HTTP and HTTPS, and uses URIs in the form "sips:firstname.lastname@example.org". The media streams, which occur on different connections to the signaling stream, can be encrypted with "SRTP. The key exchange for SRTP is performed with "SDES (RFC 4568), or the newer and often more user friendly "ZRTP (RFC 6189), which can automatically upgrade RTP to SRTP using dynamic key exchange (and a verification phrase). One can also add a "MIKEY (RFC 3830) exchange to SIP and in that way determine session keys for use with SRTP.
- "Voice over IP
- "Rendezvous protocol
- "Peer-to-peer SIP
- "Computer telephony integration (CTI)
- "Computer-supported telecommunications applications (CSTA)
- "H.323 protocols "H.225.0 and "H.245
- "IP Multimedia Subsystem (IMS)
- "Extensions to the Session Initiation Protocol for the IP Multimedia Subsystem
- "Media Gateway Control Protocol (MGCP)
- "Message Session Relay Protocol (MSRP)
- "Mobile VoIP
- "MSCML (Media Server Control Markup Language)
- "Network convergence
- "RTP audio video profile
- "SIGTRAN (Signaling Transport)
- "SIP trunking
- "SIP provider
- "Skinny Client Control Protocol (SCCP)
- "XIMSS (XML Interface to Messaging, Scheduling, and Signaling)
- "SIP core working group charter". Ietf.org. 2010-12-07. Retrieved 2011-01-11.
- "Search Internet-Drafts and RFCs". "Internet Engineering Task Force.
- "What is SIP?". "Network World. May 11, 2004.
- "RFC 3261 – SIP: Session Initiation Protocol". "IETF. 2002.
- Margaret Rouse. "Session Initiation Protocol (SIP)". "TechTarget.
- Johnston, Alan B. (2004). SIP: Understanding the Session Initiation Protocol, Second Edition. Artech House. "ISBN "1-58053-168-7.
- Coll, Eric (2016). Telecom 101. Teracom Training Institute. pp. 77–79. "ISBN "9781894887038.
- RFC 3986, Uniform Resource Identifiers (URI): Generic Syntax, IETF, The Internet Society (2005)
- Miikka Poikselkä et al. 2004.
- Brian Reid & Steve Goodman 2015.
- William Stallings, p.209
- RFC 4168, The Stream Control Transmission Protocol (SCTP) as a Transport for the Session Initiation Protocol (SIP), IETF, The Internet Society (2005)
- RFC 3581, An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing, IETF, The Internet Society (2003)
- Azzedine (2006). Handbook of algorithms for wireless networking and mobile computing. CRC Press. p. 774. "ISBN "978-1-58488-465-1.
- Porter, Thomas; Andy Zmolek; Jan Kanclirz; Antonio Rosela (2006). Practical VoIP Security. Syngress. pp. 76–77. "ISBN "978-1-59749-060-3.
- "User-Agents We Have Known ""VoIP User.org
- Stallings, p.214
- Stallings, pp.216-217
- James Wright. "SIP - An Introduction" (PDF). Konnetic. Retrieved 2011-01-11.
- Experiences of Using TTCN-3 for Testing SIP and also OSP Archived March 30, 2014, at the "Wayback Machine.
- "Performance and Stress Testing of SIP Servers, Clients and IP Networks". StarTrinity. 2016-08-13.
- "AT&T Discusses Its SIP Peering Architecture". sip-trunking.tmcnet.com. Retrieved 2017-03-20.
- "From IIT VoIP Conference & Expo: AT&T SIP transport PowerPoint slides". HD Voice News. 2010-10-19. Retrieved 2017-03-20.
- Jonsson, Lars; Mathias Coinchon (2008). "Streaming audio contributions over IP" (PDF). EBU Technical Review. Retrieved 2010-12-27.
- "JAIN SIP project". Retrieved 2011-07-26.
- "RFC3372: SIP-T Context and Architectures". September 2002. Retrieved 2011-01-11.
- White Paper: "Why SIP-I? A Switching Core Protocol Recommendation"
- Brian Reid; Steve Goodman (22 January 2015), Exam Ref 70-342 Advanced Solutions of Microsoft Exchange Server 2013 (MCSE), Microsoft Press, p. 24, "ISBN "978-0-73-569790-4
- Miikka Poikselkä; Georg Mayer; Hisham Khartabil; Aki Niemi (19 November 2004), The IMS: IP Multimedia Concepts and Services in the Mobile Domain, John Wiley & Sons, p. 268, "ISBN "978-0-47-087114-0