SIP
Click on the red underlined text to get to the source
... voice, video, or text messages. The Session
Initiation Protocol (SIP) works in concert with these protocols by
enabling Internet ...
... like to share. For locating prospective session participants, and
for other functions, SIP enables the creation of an infrastructure of
network hosts ...
... registrations, invitations to sessions, and other requests. SIP is
an agile, general-purpose tool for creating, modifying, and
...
... Overview of SIP Functionality ...
... multimedia sessions (conferences) such as
Internet telephony calls. SIP can also invite participants to
already existing sessions, such as multicast ...
... be added to (and removed from) an existing session. SIP
transparently supports name mapping and redirection services, which
...
... network location.
SIP supports five facets of establishing and terminating multimedia
communications:
...
... services.
SIP is not a vertically integrated communications system. SIP is
rather a component that can be used with other IETF protocols ...
...
SIP is not a vertically integrated communications system. SIP is
rather a component that can be used with other IETF protocols to
...
... 1]) for describing
multimedia sessions. Therefore, SIP should be used in conjunction
with other protocols in order to provide complete services ...
... with other protocols in order to provide complete services to the
users. However, the basic functionality and operation of SIP does
not depend on any of these protocols.
...
... not depend on any of these protocols.
SIP does not provide services. Rather, SIP provides primitives that
...
... SIP does not provide services. Rather, SIP provides primitives that
can be used to implement different services. For example, SIP ...
... SIP provides primitives that
can be used to implement different services. For example, SIP can
locate a user and deliver an opaque object to his current location.
...
... services.
SIP does not offer conference control services such as floor control
or voting and does not prescribe how a conference is to be managed.
...
... services such as floor control
or voting and does not prescribe how a conference is to be managed.
SIP can be used to initiate a session that uses some other conference
control protocol ...
... session that uses some other conference
control protocol. Since SIP messages and the sessions they establish
can pass through entirely different networks ...
... sessions they establish
can pass through entirely different networks, SIP cannot, and does
not, provide any kind of network resource reservation ...
... services provided make security particularly
important. To that end, SIP provides a suite of security services,
which include denial-of-service ...
...
This section introduces the basic operations of SIP using simple
examples. This section is tutorial in nature and does not contain
any normative statements.
...
... any normative statements.
The first example shows the basic functions of SIP: location of an
end point, signal of a desire to communicate, negotiation of session
parameters ...
... established.
Figure 1 shows a typical example of a SIP message exchange between
two users, Alice and Bob. (Each message is labeled with the letter
"F" and a number for reference by the text.) In this example, Alice
...
... two users, Alice and Bob. (Each message is labeled with the letter
"F" and a number for reference by the text.) In this example, Alice
uses a SIP application on her PC (referred to as a softphone) to call
Bob on his SIP ...
... SIP application on her PC (referred to as a softphone) to call
Bob on his SIP phone over the Internet. Also shown are two SIP proxy
servers that act on behalf of Alice and Bob to facilitate the session
establishment ...
... Bob on his SIP phone over the Internet. Also shown are two SIP proxy
servers that act on behalf of Alice and Bob to facilitate the session
establishment. This typical arrangement is often referred to as the
"SIP ...
... SIP proxy
servers that act on behalf of Alice and Bob to facilitate the session
establishment. This typical arrangement is often referred to as the
"SIP trapezoid" as shown by the geometric shape of the dotted lines
in Figure 1.
...
... in Figure 1.
Alice "calls" Bob using his SIP identity, a type of Uniform Resource
Identifier (URI ...
... identity, a type of Uniform Resource
Identifier (URI) called a SIP URI. SIP URIs are defined in Section
...
... Uniform Resource
Identifier (URI) called a SIP URI. SIP URIs are defined in Section
19.1. It has a similar form to an email address ...
... host name. In this case, it is
sip:bob@biloxi.com, where biloxi.com is the domain of Bob's SIP
service provider. Alice has a SIP URI ...
... SIP
service provider. Alice has a SIP URI of sip:alice@atlanta.com.
Alice might have typed in Bob's URI or perhaps clicked on a hyperlink
...
... URI or perhaps clicked on a hyperlink
or an entry in an address book. SIP also provides a secure URI,
called a SIPS URI ...
... transaction begins with Alice's softphone sending
an INVITE request addressed to Bob's SIP URI. INVITE is an example
of a SIP ...
... SIP URI. INVITE is an example
of a SIP method that specifies the action that the requestor (Alice)
wants the server (Bob) to take. The INVITE ...
... . .
Alice's . . . . . . . . . . . . . . . . . . . . Bob's
softphone SIP Phone
| | | |
| INVITE ...
... INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
...
... transaction.
To contains a display name (Bob) and a SIP or SIPS URI
(sip:bob@biloxi.com) towards which the request was originally
...
... 3].
From also contains a display name (Alice) and a SIP or SIPS URI
(sip:alice@atlanta.com) that indicate the originator of the request.
...
... and Call-ID completely defines a peer-to-peer SIP relationship
between Alice and Bob and is referred to as a dialog.
...
... message body.
The complete set of SIP header fields is defined in Section 20.
The details of the session ...
... codec, or
sampling rate, are not described using SIP. Rather, the body of a
SIP message contains a description of the session ...
... sampling rate, are not described using SIP. Rather, the body of a
SIP message contains a description of the session, encoded in some
other protocol format. One such format is the Session Description
Protocol ...
... SDP message (not shown in the
example) is carried by the SIP message in a way that is analogous to
a document attachment being carried by an email message, or a web
...
... HTTP message.
Since the softphone does not know the location of Bob or the SIP
server in the biloxi.com domain, the softphone sends the INVITE ...
... domain, the softphone sends the INVITE to
the SIP server that serves Alice's domain, atlanta.com. The address
...
... domain, atlanta.com. The address
of the atlanta.com SIP server could have been configured in Alice's
softphone, or it could have been discovered by DHCP, for example.
...
... DHCP, for example.
The atlanta.com SIP server is a type of SIP server known as a proxy
server. A proxy server ...
...
The atlanta.com SIP server is a type of SIP server known as a proxy
server. A proxy server receives SIP requests ...
... SIP server known as a proxy
server. A proxy server receives SIP requests and forwards them on
behalf of the requestor. In this example, the proxy server receives
...
... the INVITE to the destination. Responses in SIP use a three-digit
code followed by a descriptive phrase. This response contains the
same To, From, Call-ID ...
... (Domain Name Service) lookup to find the SIP server that serves the
biloxi.com domain. This is described in [4 ...
... alerts Bob to the incoming
call from Alice so that Bob can decide whether to answer the call,
that is, Bob's phone rings. Bob's SIP phone indicates this in a 180
(Ringing) response, which is routed back through the two proxies in
...
...
In this example, Bob decides to answer the call. When he picks up
the handset, his SIP phone sends a 200 (OK) response to indicate that
the call has been answered. The 200 (OK) contains a message body
...
... no media session being
established. The complete list of SIP response codes is in Section
21. The 200 (OK) (message F9 in Figure 1) might look like this as
...
... SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3
...
... UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
...
... UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bK776asdhds ;received=192.0.2.1
...
... INVITE request. (There are three Via header field values - one
added by Alice's SIP phone, one added by the atlanta.com proxy, and
one added by the biloxi.com proxy ...
... proxy, and
one added by the biloxi.com proxy.) Bob's SIP phone has added a tag
parameter to the To header field ...
... header field
contains a URI at which Bob can be directly reached at his SIP phone.
The Content-Type and Content-Length ...
... proxy servers can make flexible "routing decisions" to
decide where to send a request. For example, if Bob's SIP phone
returned a 486 (Busy Here) response, the biloxi.com proxy server
...
... softphone sends an acknowledgement message, ACK, to Bob's SIP phone
to confirm the reception of the final response (200 (OK)). In this
example, the ACK ...
... to confirm the reception of the final response (200 (OK)). In this
example, the ACK is sent directly from Alice's softphone to Bob's SIP
phone, bypassing the two proxies. This occurs because the endpoints ...
... ACK three-way handshake used to establish
SIP sessions. Full details on session setup are in Section 13.
...
... In general, the end-to-end media packets take a different path from
the SIP signaling messages.
...
... INVITE will be discussed later, but relate to
the reliability mechanisms in SIP, the length of time it can take for
a ringing phone to be answered, and forking. For this reason,
request handling in SIP ...
... SIP, the length of time it can take for
a ringing phone to be answered, and forking. For this reason,
request handling in SIP is often classified as either INVITE or non-
INVITE ...
...
In some cases, it may be useful for proxies in the SIP signaling path
to see all the messaging between the endpoints ...
... session. For example, if the biloxi.com proxy server wished to
remain in the SIP messaging path beyond the initial INVITE, it would
add to the INVITE ...
... IP address of
the proxy. This information would be received by both Bob's SIP
phone and (due to the Record-Route header field being passed back in
...
...
Registration is another common operation in SIP. Registration is one
way that the biloxi.com server can learn the current location of Bob.
...
... way that the biloxi.com server can learn the current location of Bob.
Upon initialization, and at periodic intervals, Bob's SIP phone sends
REGISTER messages to a server in the biloxi.com domain ...
... REGISTER messages to a server in the biloxi.com domain known as a SIP
registrar. The REGISTER messages associate Bob's SIP or SIPS URI ...
... domain known as a SIP
registrar. The REGISTER messages associate Bob's SIP or SIPS URI
(sip:bob@biloxi.com) with the machine into which he is currently
...
... SIPS URI
(sip:bob@biloxi.com) with the machine into which he is currently
logged (conveyed as a SIP or SIPS URI in the Contact header field).
...
... proxy for that domain. It is an
important concept that the distinction between types of SIP servers
is logical, not physical.
...
...
Bob is not limited to registering from a single device. For example,
both his SIP phone at home and the one in the office could send
registrations. This information is stored together in the location
...
... administrator.
Finally, it is important to note that in SIP, registration is used
for routing ...
... registration is used
for routing incoming SIP requests and has no role in authorizing
outgoing requests. Authorization ...
... Authorization and authentication are handled in
SIP either on a request-by-request basis with a challenge/response
mechanism, or by using a lower layer scheme as discussed in Section
...
... 26.
The complete set of SIP message details for this registration example
is in Section 24.1.
...
... is in Section 24.1.
Additional operations in SIP, such as querying for the capabilities
of a SIP server or client ...
... Additional operations in SIP, such as querying for the capabilities
of a SIP server or client using OPTIONS, or canceling a pending
request using CANCEL, will be introduced in later sections.
...
...
SIP is structured as a layered protocol, which means that its
behavior is described in terms of a set of fairly independent
processing stages with only a loose coupling between each stage. The
...
... BNF). The
complete BNF is specified in Section 25; an overview of a SIP
message's structure can be found in Section 7.
The second layer ...
... sends requests and receives responses and how a server receives
requests and sends responses over the network. All SIP elements
contain a transport layer. The transport layer ...
... layer. Transactions are a
fundamental component of SIP. A transaction is a request sent by a
client ...
... layer is called the transaction user
(TU). Each of the SIP entities, except the stateless proxy, is a
...
... registrations play an important role in
SIP, a UAS that handles a REGISTER is given the special name
...
... Certain other requests are sent within a dialog. A dialog is a
peer-to-peer SIP relationship between two user agents that persists
for some time. The dialog facilitates sequencing of messages and
...
... the purposes of communication. Section 13 discusses how sessions are
initiated, resulting in one or more SIP dialogs. Section 14
discusses how characteristics of that session are modified through
...
...
The following terms have special significance for SIP.
Address-of-Record ...
... Client: A client is any network element that sends SIP requests
and receives SIP responses. Clients ...
... network element that sends SIP requests
and receives SIP responses. Clients may or may not interact
directly with a human user ...
...
Core: Core designates the functions specific to a particular type
of SIP entity, i.e., specific to either a stateful or stateless
proxy ...
...
Dialog: A dialog is a peer-to-peer SIP relationship between two
UAs that persists for some time. A dialog is established by
...
... UAs that persists for some time. A dialog is established by
SIP messages, such as a 2xx response to an INVITE request. A
dialog is identified by a call identifier ...
... user agent server.
Final Response: A response that terminates a SIP transaction, as
opposed to a provisional response that does not. All 2xx, 3xx,
...
... Header: A header is a component of a SIP message that conveys
information about the message. It is structured as a sequence
of header fields ...
... Home Domain: The domain providing service to a SIP user.
Typically, this is the domain present in the URI ...
... Location Service: A location service is used by a SIP redirect or
proxy server to obtain information about a callee's possible
...
... router.
Message: Data sent between SIP elements as part of the protocol.
SIP messages are either requests or responses.
...
... Message: Data sent between SIP elements as part of the protocol.
SIP messages are either requests or responses.
Method ...
... Provisional Response: A response used by the server to indicate
progress, but that does not terminate a SIP transaction. 1xx
responses are provisional, other responses are considered
...
... ACK, or CANCEL.
Request: A SIP message sent from a client to a server, for the
purpose of invoking a particular operation.
...
... purpose of invoking a particular operation.
Response: A SIP message sent from a server to a client, for
indicating the status of a request sent from the client to the
server ...
... Route Set: A route set is a collection of ordered SIP or SIPS URI
which represent a list of proxies ...
... transaction.
Spiral: A spiral is a SIP request that is routed to a proxy,
forwarded onwards, and arrives once again at that proxy ...
... user agent server is a logical entity
that generates a response to a SIP request. The response
accepts, rejects, or redirects the request. This role lasts
...
... SIP Messages ...
... 7]).
A SIP message is either a request from a client to a server, or a
response from a server to a client ...
... 3], even though the syntax differs in
character set and syntax specifics. (SIP allows header fields that
would not be valid ...
...
Except for the above difference in character sets, much of SIP's
message and header field syntax is identical to HTTP/1.1 ...
...
SIP requests are distinguished by having a Request-Line for a start-
line. A Request-Line contains a method ...
... sessions, BYE for terminating sessions, and
OPTIONS for querying servers about their capabilities. SIP
extensions, documented in standards track RFCs, may define
additional methods ...
... Request-URI: The Request-URI is a SIP or SIPS URI as described in
Section 19.1 or a general URI ...
... control
characters and MUST NOT be enclosed in "<>".
SIP elements MAY support Request-URIs with schemes other than
"sip" and "sips", for example the "tel" URI scheme ...
... 2806(-> 3966prop) [9]. SIP elements MAY translate non-SIP URIs using any
mechanism at their disposal, resulting in SIP URI ...
... SIP URIs using any
mechanism at their disposal, resulting in SIP URI, SIPS URI,
or some other scheme.
...
... request and response messages include the
version of SIP in use, and follow [H3.1] (with HTTP replaced
...
... by SIP, and HTTP/1.1 replaced by SIP/2.0) regarding version
ordering, compliance requirements ...
... requirements, and upgrading of version
numbers. To be compliant with this specification,
applications sending SIP messages MUST include a SIP-Version
...
... version
numbers. To be compliant with this specification,
applications sending SIP messages MUST include a SIP-Version
of "SIP ...
...
SIP responses are distinguished from requests by having a Status-Line
as their start-line. A Status-Line consists of the protocol version ...
... referred to as a "1xx response", any response with a status code
between 200 and 299 as a "2xx response", and so on. SIP/2.0 allows
six values for the first digit:
...
...
SIP header fields are similar to HTTP header fields in both syntax
and semantics. In particular, SIP header fields ...
... SIP header fields are similar to HTTP header fields in both syntax
and semantics. In particular, SIP header fields follow the [H4.2]
definitions of syntax for the message-header and the rules for
...
... name whose value is a comma-separated list can be combined into one
header field. That applies to SIP as well, but the specific rule is
different because of the different grammars. Specifically, any SIP
...
... header field. That applies to SIP as well, but the specific rule is
different because of the different grammars. Specifically, any SIP
header whose grammar is of the form
...
...
SIP provides a mechanism to represent common header field names in an
abbreviated form. This may be useful when messages would otherwise
...
... header field that does not contain multipart.
SIP messages MAY contain binary bodies or body parts. When no
explicit charset parameter is provided by the sender ...
... The "chunked" transfer encoding of HTTP/1.1 MUST NOT be used for SIP.
(Note: The chunked encoding modifies the body of a message in order
...
... Framing SIP Messages ...
...
Unlike HTTP, SIP implementations can use UDP or other unreliable
datagram protocols. Each such datagram ...
... Content-Length header field value is used to locate the end of
each SIP message in a stream. It will always be present when SIP
messages are sent over stream ...
... each SIP message in a stream. It will always be present when SIP
messages are sent over stream-oriented transports.
...
... peer-to-peer relationship
between user agents and are established by specific SIP methods, such
as INVITE ...
...
A valid SIP request formulated by a UAC MUST, at a minimum, contain
the following header fields ...
... Call-ID, Max-Forwards,
and Via; all of these header fields are mandatory in all SIP
requests. These six header fields are the fundamental building
blocks of a SIP message ...
... SIP
requests. These six header fields are the fundamental building
blocks of a SIP message, as they jointly provide for most of the
critical message routing ...
... UA by a user or service provider
manually, or through some other non-SIP mechanism. When a provider
wishes to configure a UA ...
... not be the ultimate recipient of the request. The To header field
MAY contain a SIP or SIPS URI, but it may also make use of other URI
schemes (the tel URL ...
... 2806(-> 3966prop) [9]), for example) when appropriate.
All SIP implementations MUST support the SIP URI scheme. Any
implementation that supports TLS ...
... 9]), for example) when appropriate.
All SIP implementations MUST support the SIP URI scheme. Any
implementation that supports TLS MUST support the SIPS URI scheme ...
... to choose how to interpret this input. Using the string to form the
user part of a SIP URI implies that the UA wishes the name to be
resolved in the domain ...
... resolved in the domain to the right-hand side (RHS) of the at-sign in
the SIP URI (for instance, sip:bob@example.com). Using the string to
form the user part of a SIPS URI ...
... header field, it contains a URI and optionally a display name. It is
used by SIP elements to determine which processing rules to apply to
a request (for example, automatic call rejection). As such, it is
...
... globally unique
identifier over space and time unless overridden by method-specific
behavior. All SIP UAs must have a means to guarantee that the Call-
ID header fields ...
... originates with a value that SHOULD be 70. This number was chosen to
be sufficiently large to guarantee that a request would not be
dropped in any SIP network when there were no loops, but not so large
as to consume proxy resources when a loop does occur. Lower values
...
... version in the header field
MUST be SIP and 2.0, respectively. The Via header field value MUST
contain a branch parameter. This parameter is used to identify the
...
...
The Contact header field provides a SIP or SIPS URI that can be used
to contact that specific instance of the UA ...
... UA for subsequent requests.
The Contact header field MUST be present and contain exactly one SIP
or SIPS URI in any request that can result in the establishment of a
...
...
If the UAC supports extensions to SIP that can be applied by the
server to the response, the UAC SHOULD include a Supported header
field ...
... In some cases, the response returned by the transaction layer will
not be a SIP message, but rather a transaction layer error. When a
...
... URI scheme not supported by the
server. The client SHOULD retry the request, this time, using a SIP
URI.
If a 420 (Bad Extension) response is received (Section 21.4.15), the
...
... header field is used by a UAC to tell a UAS about SIP
extensions that the UAC expects the UAS ...
...
Note that Require and Proxy-Require MUST NOT be used in a SIP CANCEL
request, or in an ACK request sent for a non-2xx response. These
...
... header field in the request. If the
desired extension is not supported, the server SHOULD rely only on
baseline SIP and any other extensions supported by the client. In
rare circumstances, where the server cannot process the request
...
...
A redirect server does not issue any SIP requests of its own. After
receiving a request other than CANCEL, the server either refuses the
...
... well-formed CANCEL requests, it SHOULD return a 2xx response. This
response ends the SIP transaction. The redirect server maintains
...
... parameters such as a different server or multicast address to try, or
a change of SIP transport from UDP to TCP ...
... Note that a Contact header field value MAY also refer to a different
resource than the one originally called. For example, a SIP call
connected to PSTN gateway may need to deliver a special informational
...
... header field can contain any suitable URI
indicating where the called party can be reached, not limited to SIP
URIs. For example, it could contain URIs ...
...
SIP offers a discovery capability. If a user wants to initiate a
session with another user, SIP ...
... SIP offers a discovery capability. If a user wants to initiate a
session with another user, SIP must discover the current host(s) at
which the destination ...
... which the destination user is reachable. This discovery process is
frequently accomplished by SIP network elements such as proxy servers
...
... receiving a request,
determining where to send it based on knowledge of the location of
the user, and then sending it there. To do this, SIP network
elements consult an abstract service ...
... domain. These
address bindings map an incoming SIP or SIPS URI, sip:bob@biloxi.com,
for example, to one or more URIs ...
... Bob is known to be a member of the engineering department through
access to a corporate database. However, SIP provides a mechanism
for a UA to create ...
... elements.
SIP does not mandate a particular mechanism for implementing the
location service. The only requirement ...
... reading that same data. A registrar MAY be co-located with a
particular SIP proxy server for the same domain.
...
... registration is meant (for example,
"sip:chicago.com"). The "userinfo" and "@" components of the
SIP URI MUST NOT be present.
To: The To header field ...
... REGISTER request sent to a registrar includes the contact
address(es) to which SIP requests for the address-of-record should be
forwarded. The address-of-record ...
... The Contact header field values of the request typically consist of
SIP or SIPS URIs that identify particular SIP endpoints (for example,
...
... SIP or SIPS URIs that identify particular SIP endpoints (for example,
"sip:carol@cube2214a.chicago.com"), but they MAY use any URI scheme.
...
... "sip:carol@cube2214a.chicago.com"), but they MAY use any URI scheme.
A SIP UA can choose to register telephone numbers ...
... address-of-record "sip:carol@chicago.com",
would register with the SIP registrar of the domain chicago.com. Her
registrations ...
... address is guaranteed by other means.
This may be applicable to URIs that invoke protocols other than SIP,
or SIP devices secured by protocols other than TLS ...
... URIs that invoke protocols other than SIP,
or SIP devices secured by protocols other than TLS.
...
... Request-URI and address the request there, using the
normal SIP server location mechanisms [4]. For example, the UA for
...
... registrations are addressed to the well-known "all SIP servers"
multicast address "sip.mcast.net" (224.0.1.75 for IPv4 ...
... IPv6 multicast address has been allocated; such an allocation
will be documented separately when needed. SIP UAs MAY listen to
that address ...
... UAC. Mechanisms for the
authentication of SIP user agents are described in Section 22.
Registration behavior in no way overrides the generic
...
... authentication framework for SIP. If no authentication
mechanism is available, the registrar MAY take the From address
...
... Request-URI,
which could identify another UA or a SIP server. If the OPTIONS is
addressed to a proxy server, the Request-URI ...
...
An OPTIONS request is constructed using the standard rules for a SIP
request as discussed in Section 8.1.1.
A Contact header field ...
... OPTIONS sip:carol@chicago.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKhjhs8ass877
Max-Forwards: 70
...
...
The response to an OPTIONS is constructed using the standard rules
for a SIP response as discussed in Section 8.2.6. The response code
chosen MUST be the same that would have been chosen had the request
...
... SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKhjhs8ass877
;received=192.0.2.4
...
... user agent is that of a dialog. A dialog
represents a peer-to-peer SIP relationship between two user agents
that persists for some time. The dialog facilitates sequencing of
...
... between both of them. The dialog represents a context in which to
interpret SIP messages. Section 8 discussed method independent UA
...
... request that contains a tag in the To field. The rules for computing
the dialog ID of a message depend on whether the SIP element is a UAC
or UAS ...
... host. The URI provided in the Contact header field MUST be a SIP
or SIPS URI. If the request that initiated the dialog contained a
...
... UAC sends a request that can establish a dialog (such as an
INVITE) it MUST provide a SIP or SIPS URI with global scope (i.e.,
the same SIP URI ...
... SIP or SIPS URI with global scope (i.e.,
the same SIP URI can be used in messages outside this dialog) in the
Contact header field of the request. If the request has a Request-
...
... Content-Disposition is "session".
SIP uses an offer/answer model where one UA sends a session ...
... offer/answer exchange is within the
context of a dialog, so that if a SIP INVITE results in multiple
dialogs, each is a separate offer/answer ...
... (for example, you cannot make a new offer while one is in progress).
This results in restrictions on where the offers and answers can
appear in SIP messages. In this specification, offers and answers
can only appear in INVITE requests and responses, and ACK ...
... This section describes the procedures for terminating a session
established by SIP. The state of the session and the state ...
... ACK for its 2xx response or until the server
transaction times out. If no SIP extensions have defined other
application layer states associated with the dialog, the BYE also
...
... established by any 2xx responses, or MAY terminate them with BYE.
The notion of "hanging up" is not well defined within SIP. It is
specific to a particular, albeit common, user interface.
...
... proxies are elements that route SIP requests to user agent
servers and SIP responses to user agent ...
... route SIP requests to user agent
servers and SIP responses to user agent clients. A request may
...
... Being a proxy is a logical role for a SIP element. When a request
arrives, an element that can play the role ...
...
When stateful, a proxy is purely a SIP transaction processing engine.
Its behavior is modeled here in terms of the server and client ...
... header field (Section 20.22) is used to limit the
number of elements a SIP request can traverse.
If the request does not contain a Max-Forwards header field ...
... service
created by a SIP Registrar, reading a database, consulting a presence
server, utilizing other protocols, or simply performing an
...
... dynamic source of information while building the target set (for
instance, if it consults a SIP Registrar), it SHOULD monitor that
source for the duration of processing the request. New locations
SHOULD be added to the target set ...
... identity of that next hop,
expressed as a SIP or SIPS URI, is inserted as the top-most Route
...
... URI placed in the Record-Route header field value MUST be a
SIP or SIPS URI. This URI MUST contain an lr parameter (see
...
... element, so it must
restrict itself to the mandatory elements of a SIP
implementation: SIP URIs ...
... server location procedures of [4] are applied to it, so that
subsequent requests reach the same SIP element. If the
Request-URI contains a SIPS URI ...
...
The Record-Route process is designed to work for any SIP
request that initiates a dialog. INVITE is the only such
request in this specification, but extensions to the protocol
...
... proxy has already attempted.
3xx responses may contain a mixture of SIP, SIPS, and non-SIP
URIs ...
... URIs. A proxy may choose to recurse on the SIP and SIPS URIs
and place the remainder into the response context ...
... URI Scheme) response to
a request whose Request-URI scheme was not SIP, but the scheme
in the original received request was
