|
|
|
|
|
| |
| |
|
SIP Protocol Structure through an Example
| This example illustrates, as a slide show, the structure of the SIP protocol,
as outlined in chapter 5 of RFC 3261: |
| |
| "The lowest layer is the
transport layer. It defines how a client 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 second layer is the transaction layer. A transaction is a request sent by a
client transaction (using the transport layer) to a server transaction, along with
all responses to that request sent from the server transaction back to the client. Any
task that a user agent client (UAC) accomplishes takes place using a series of
transactions. Stateless proxies do not contain a transaction layer. |
| |
| The layer above the transaction layer is called the
transaction user (TU).
Each of the SIP entities, except the stateless proxy, is a transaction user." |
|
| |
| Note: we set aside the syntax and encoding as the lowest layer. |
| | |
|
SIP Protocol Structure through an Example
-- 26 Nov 2007, v2.2
| |
| Note: A bug pointed out on Oct 9, 2007 by Danilo Valerio (University of Applied Sciences, Wien) has been corrected in version 2.2: RFC 3261 mandates explicitly (section 16.11, page 116): "when handling
a request statelessly, an element MUST NOT generate its own '100 trying'
or any other provisional response". |
| |
|
Figure 1: SIP Protocol Layers
|
|
Figure 2: Example's Sequence Diagram
|
| |
| In this example, the rejection of the first INVITE request, followed by a valid
INVITE request, enables the analysis of the processing of the ACK for these
two situations. |
| |
| It is assumed that both Proxy 1 and Proxy 3 stateful proxy servers are in the
final signalling path because they requested it in the INVITE requests they routed on. |
| |
| |
| |
|
|
|
|