conformance.docs 30.2 KB
Newer Older
Pekka Pessi's avatar
Pekka Pessi committed
1 2 3
/*  -*- html -*- */
/**

Pekka Pessi's avatar
Pekka Pessi committed
4
@page sofia_sip_conformance SIP and SDP Protocol Features in Sofia-SIP
Pekka Pessi's avatar
Pekka Pessi committed
5

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
This document describes how Sofia-SIP stack supports specifications listed
below.

<table border=0>
<tr valign="top">
<td>
<a href="#3261">RFC 3261</a> <br>
<a href="#2617">RFC 2617</a> <br>
<a href="#3262">RFC 3262</a> <br>
<a href="#3263">RFC 3263</a> <br>
<a href="#3265">RFC 3265</a> <br>
<a href="#2806">RFC 2806</a> <br>
<a href="#2976">RFC 2976</a> <br>
<a href="#3311">RFC 3311</a> <br>
<a href="#3313">RFC 3313</a> <br>
<a href="#3323">RFC 3323</a> <br>
<a href="#3326">RFC 3326</a> <br>
</td><td>
<a href="#3325">RFC 3325</a> <br>
<a href="#3327">RFC 3327</a> <br>
<a href="#3329">RFC 3329</a> <br>
<a href="#3361">RFC 3361</a> <br>
<a href="#3420">RFC 3420</a> <br>
<a href="#3428">RFC 3428</a> <br>
<a href="#3486">RFC 3486</a> <br>
<a href="#3515">RFC 3515</a> <br>
<a href="#3608">RFC 3608</a> <br>
<a href="#3680">RFC 3680</a> <br>
<a href="#3824">RFC 3824</a> <br>
</td><td>
<a href="#3840">RFC 3840</a> <br>
<a href="#3841">RFC 3841</a> <br>
<a href="#3842">RFC 3842</a> <br>
<a href="#3856">RFC 3856</a> <br>
<a href="#3857">RFC 3857</a> <br>
<a href="#3858">RFC 3858</a> <br>
<a href="#3891">RFC 3891</a> <br>
<a href="#3892">RFC 3892</a> <br>
<a href="#3903">RFC 3903</a> <br>
<a href="#4028">RFC 4028</a> <br>
46
<a href="#4566">RFC 4566</a> <br>
47 48 49 50 51 52 53 54 55 56 57 58 59 60
</td><td>
<a href="#2327">RFC 2327</a> <br>
<a href="#3264">RFC 3264</a> <br>
<a href="#3266">RFC 3266</a> <br>
<a href="#3312">RFC 3312</a> <br>
<a href="#3388">RFC 3388</a> <br>
<a href="#3407">RFC 3407</a> <br>
<a href="#3524">RFC 3524</a> <br>
<a href="#3556">RFC 3556</a> <br>
<a href="#3605">RFC 3605</a> <br>
<a href="#3890">RFC 3890</a> <br>
</td></tr>
</table>

Pekka Pessi's avatar
Pekka Pessi committed
61 62 63 64
<table border=1 cellpadding=4 cellspacing=0>
<tr>
   <th>Feature</th>
   <th>Supported</td>
Pekka Pessi's avatar
Pekka Pessi committed
65
   <th>Notes</td>
Pekka Pessi's avatar
Pekka Pessi committed
66 67 68 69
</tr>

<tr valign=top>
    <th align="left">
70
       <a name="3261"></a>
Pekka Pessi's avatar
Pekka Pessi committed
71 72 73 74
	@RFC3261: Basic SIP Protocol
    </th>
    <td>
	The SIP registration and dialog level implementation enables the
Pekka Pessi's avatar
Pekka Pessi committed
75
	application to operate as a SIP UA, SIP proxy or a redirect server
Pekka Pessi's avatar
Pekka Pessi committed
76 77
	according to the @RFC3261.

78 79 80 81
	The @RFC3261 functionality is divided into five layers:
	-# <a href="sip/index.html">message syntax and encoding</a>
	-# <a href="tport/index.html">transport</a>
	-# <a href="nta/index.html">transaction</a>
Pekka Pessi's avatar
Pekka Pessi committed
82
	-# transaction user (UAS and UAC cores, proxy core)
83 84
	-# SIP elements: <a href="nua/index.html">user agent</a>
           client and server, proxies,
Pekka Pessi's avatar
Pekka Pessi committed
85 86 87
	   registrars
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
88
        &nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
89 90 91 92 93
    </td>
</tr>

<tr valign=top>
    <th align="left">
94
       <a name="3261.19"></a> <a name="3261.20"></a>
Pekka Pessi's avatar
Pekka Pessi committed
95
	@RFC3261 Sections&nbsp;19&nbsp;and&nbsp;20:<br>
Pekka Pessi's avatar
Pekka Pessi committed
96 97 98 99
	Syntax and encoding
    </td>
    <td>
	The supported @RFC3261 methods are: @b REGISTER, @b OPTIONS, @b
100 101 102 103 104 105 106 107 108 109 110 111 112 113
	INVITE, @b ACK, @b CANCEL, @b BYE, as well as methods
	<a href="#2976"><b>INFO</b></a>,
	<a href="#3262"><b>PRACK</b></a>,
        <a href="#3265"><b>SUBSCRIBE</b></a>,
        <a href="#3265"><b>NOTIFY</b></a>,
        <a href="#3311"><b>UPDATE</b></a>,
        <a href="#3428"><b>MESSAGE</b></a>,
        <a href="#3515"><b>REFER</b></a>,
	and
	<a href="#3903"><b>PUBLISH</b></a>.

	Sofia-SIP supports the following SIP headers as specified in
        @RFC3261 or its extensions (generating, parsing and syntax
        checking):
Pekka Pessi's avatar
Pekka Pessi committed
114 115 116 117 118 119

	@ref sip_accept "Accept",
	@ref sip_accept_encoding "Accept-Encoding",
	@ref sip_accept_language "Accept-Language",
	@ref sip_allow "Allow",
	@ref sip_authentication_info "Authentication-Info",
120
	@ref sip_authorization "Authorization",
121
	@ref sip_call_id "Call-ID" ("i"),
Pekka Pessi's avatar
Pekka Pessi committed
122
	@ref sip_call_info "Call-Info",
123
	@ref sip_contact "Contact" ("m"),
Pekka Pessi's avatar
Pekka Pessi committed
124
	@ref sip_content_disposition "Content-Disposition",
125
        @ref sip_content_encoding "Content-Encoding" ("e"),
Pekka Pessi's avatar
Pekka Pessi committed
126
	@ref sip_content_language "Content-Language",
127 128
	@ref sip_content_length "Content-Length" ("l"),
	@ref sip_content_type "Content-Type" ("c"),
Pekka Pessi's avatar
Pekka Pessi committed
129 130 131 132
	@ref sip_cseq "CSeq",
	@ref sip_date "Date",
	@ref sip_error_info "Error-Info",
	@ref sip_expires "Expires",
133
	@ref sip_from "From" ("f"),
Pekka Pessi's avatar
Pekka Pessi committed
134 135 136 137 138 139
	@ref sip_in_reply_to "In-Reply-To",
	@ref sip_max_forwards "Max-Forwards",
	@ref sip_min_expires "Min-Expires",
	@ref sip_mime_version "MIME-Version",
	@ref sip_organization "Organization",
	@ref sip_priority "Priority",
140 141
	@ref sip_proxy_authenticate "Proxy-Authenticate",
	@ref sip_proxy_authorization "Proxy-Authorization",
Pekka Pessi's avatar
Pekka Pessi committed
142 143 144 145 146 147
	@ref sip_proxy_require "Proxy-Require",
	@ref sip_record_route "Record-Route",
	@ref sip_require "Require",
	@ref sip_retry_after "Retry-After",
	@ref sip_route "Route",
	@ref sip_server "Server",
148 149
	@ref sip_subject "Subject" ("s"),
	@ref sip_supported "Supported" ("k"),
Pekka Pessi's avatar
Pekka Pessi committed
150
	@ref sip_timestamp "Timestamp",
151
	@ref sip_to "To" ("t"),
Pekka Pessi's avatar
Pekka Pessi committed
152 153
	@ref sip_unsupported "Unsupported",
	@ref sip_user_agent "User-Agent",
154
	@ref sip_via "Via" ("v"),
Pekka Pessi's avatar
Pekka Pessi committed
155 156 157
	@ref sip_warning "Warning", and
	@ref sip_www_authenticate "WWW-Authenticate".

Pekka Pessi's avatar
Pekka Pessi committed
158 159
	Unknown headers (extension headers) are supported and can be passed
	to/received from application as name-value pairs.
Pekka Pessi's avatar
Pekka Pessi committed
160

Pekka Pessi's avatar
Pekka Pessi committed
161 162
	It is possible to extend SIP parser in run-time with header-specific
        parsers.
Pekka Pessi's avatar
Pekka Pessi committed
163 164 165
    </td>
    <td>
    	- Unsupported headers:
166
	  Alert-Info,
Pekka Pessi's avatar
Pekka Pessi committed
167
	  Reply-To
168 169 170
	- Automatic escaping of reserved characters has not been
	  implemented.
	- Using NUL (zero byte) in doublequoted strings has not been implemented
Pekka Pessi's avatar
Pekka Pessi committed
171 172 173 174 175
   </td>
</tr>

<tr valign=top>
    <th align="left">
176
	<a name="3261.18"></a>
Pekka Pessi's avatar
Pekka Pessi committed
177 178
	@RFC3261 Section 18:<br>
	UDP and TCP transports
Pekka Pessi's avatar
Pekka Pessi committed
179 180
    </th>
    <td>
181 182 183 184 185 186
        UDP and TCP on both IP4 and IP6 are supported.

        The UDP size limit of 1300 bytes is enforced by default. If limit is
        exceeded, TCP is tried instead. If TCP connection is refused, UDP is
        tried if message size is less than 64 kilobytes. Limit is adjustable
        via parameter NTATAG_UDP_MTU().
Pekka Pessi's avatar
Pekka Pessi committed
187 188

	TCP connections are reused by client. However, server closes
189 190 191
	connections after idle time of 30 minutes (by default). The idle
	time limit is adjustable with TPTAG_IDLE() (given as argument to
	nta_agent_add_tport() or nta_agent_create()).
Pekka Pessi's avatar
Pekka Pessi committed
192

193 194
	Server tries to use same TCP connection to return response as the
	request was received.
Pekka Pessi's avatar
Pekka Pessi committed
195 196 197 198

	Only one SIP message is accepted per UDP message, as per @RFC3261.
    </td>
    <td>
199
	There is experimental support for SCTP, too.
Pekka Pessi's avatar
Pekka Pessi committed
200 201 202 203 204
    </td>
</tr>

<tr valign=top>
    <th align="left">
205
	<a name="3261.17"></a>
Pekka Pessi's avatar
Pekka Pessi committed
206
	@RFC3261 Section 17:<br> Transactions
Pekka Pessi's avatar
Pekka Pessi committed
207 208 209
    </th>
    <td>
        Transaction state engines function as specified in @RFC3261 section
210
	17. There is special handling of methods @b INVITE, @b ACK, and @b
Pekka Pessi's avatar
Pekka Pessi committed
211 212 213 214
	CANCEL. There are two modes for transaction state engines,
	User-Agent and Proxy modes.

	Default values for SIP timers are those specified by @RFC3261. The
215 216
	defaults for T1, T1x64, T2 and T4 can be changed via
        configuration tags defined in <nta_tag.h>.
Pekka Pessi's avatar
Pekka Pessi committed
217 218
    </td>
    <td>
219
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
220 221 222 223 224 225
    </td>
</tr>


<tr valign=top>
    <th align="left">
226 227
	<a name="3261.26"></a>
	@RFC3261 Section 26:<br> Security
Pekka Pessi's avatar
Pekka Pessi committed
228 229 230 231 232 233 234
    </th>
    <td>
        TLS and SIPS URIs has been implemented. Currently, TLS does not
	require certificate from client nor it does check it if one is
	provided.
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
235
	Missing:
Pekka Pessi's avatar
Pekka Pessi committed
236 237 238 239 240 241 242
	- TLS certificate checking
	- S/MIME
    </td>
</tr>

<tr valign=top>
    <th align="left">
243
	<a name="2617"></a>
Pekka Pessi's avatar
Pekka Pessi committed
244
	@RFC2617: HTTP Digest Authentication
Pekka Pessi's avatar
Pekka Pessi committed
245 246 247
    </th>
    <td>
	Sofia-SIP an authentication client and server modules implementing
248
        HTTP Digest authentication.
Pekka Pessi's avatar
Pekka Pessi committed
249 250

	HTTP Digest is a simple challenge-response authentication
Pekka Pessi's avatar
Pekka Pessi committed
251
	scheme defined in @RFC2617 based on the UA sending a checksum
Pekka Pessi's avatar
Pekka Pessi committed
252 253
	calculated over specific values in response to a challenge sent by
	the server (proxy or UA).
Pekka Pessi's avatar
Pekka Pessi committed
254

255 256 257 258 259
        Checksum calculation supports MD5 (@RFC1321). The algorithm for
        calculating MD5 digest hash can be MD5, MD5sess or be
        @RFC2069-compatible algorithm. The quality-of-protection (qop)
        parameters "auth", "auth-int" and none (missing) are supported. The
        "opaque" parameter is supported.
Pekka Pessi's avatar
Pekka Pessi committed
260 261

	The SIP authentication headers supported (generating, parsing and
262 263
	syntax checking) are:
	@ref sip_authorization "Authorization",
Pekka Pessi's avatar
Pekka Pessi committed
264
	@ref sip_authentication_info "Authentication-Info",
265
	@ref sip_proxy_authenticate "Proxy-Authenticate",
Pekka Pessi's avatar
Pekka Pessi committed
266 267 268
	@ref sip_proxy_authentication_info "Proxy-Authentication-Info",
	@ref sip_proxy_authorization "Proxy-Authorization", and
	@ref sip_www_authenticate "WWW-Authenticate".
Pekka Pessi's avatar
Pekka Pessi committed
269 270 271 272

	SIP interface to the modules is implemented as defined in @RFC3261
	(sections 8.1.3.5, 22.2, 22.3, 22.4).

273 274 275 276
	An @RFC2617 header
	@ref sip_proxy_authentication_info "Proxy-Authentication-Info"
        is not listed in @RFC3261 but it is nevertheless supported by
        Sofia-SIP.
Pekka Pessi's avatar
Pekka Pessi committed
277 278
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
279
	Missing:
280
        - Using nextnonce
Pekka Pessi's avatar
Pekka Pessi committed
281 282 283 284 285 286
	- Mutual authentication
    </td>
</tr>

<tr valign=top>
    <th align="left">
287 288
	<a name="3262"></a>
	@RFC3262: PRACK and 100rel
Pekka Pessi's avatar
Pekka Pessi committed
289 290
    </th>
    <td>
291 292 293 294 295 296 297 298 299 300
	PRACK method is supported within dialog as defined in RFC3262.
        Semantics of reliable provisional responses are supported:
        - including 100rel Required header in provisional responses if
          request had 100rel
	- generation of PRACK based on 100rel option tag in Require header of
	  a provisional response, and
        - automatic re-transmission of provisional responses.

	The SIP headers supported (generating, parsing and syntax checking)
	are @ref sip_rseq "RSeq" and @ref sip_rack "RAck".
Pekka Pessi's avatar
Pekka Pessi committed
301 302
    </td>
    <td>
303
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
304 305 306 307 308
    </td>
</tr>

<tr valign=top>
    <th align="left">
309 310
	<a name="3263"></a>
	@RFC3263: Locating SIP Servers
Pekka Pessi's avatar
Pekka Pessi committed
311 312
    </th>
    <td>
313 314
	Support for SIP server address resolution from SIP or SIPS URI using
	NAPTR, SRV, A or AAAA records in DNS as defined in @RFC3263.
Pekka Pessi's avatar
Pekka Pessi committed
315 316
    </td>
    <td>
317 318
	- Resolving any other types of URIs than SIP or SIPS URIs, e.g., IM:
	or PRES: URIs.
Pekka Pessi's avatar
Pekka Pessi committed
319 320 321 322 323
    </td>
</tr>

<tr valign=top>
    <th align="left">
324 325
	<a name="3265"></a>
	@RFC3265: SIP Event Notifications
Pekka Pessi's avatar
Pekka Pessi committed
326 327
    </th>
    <td>
328 329
	SIP extensions for subscribing and processing asynchronous event
	notifications as defined in @RFC3265.
Pekka Pessi's avatar
Pekka Pessi committed
330

331 332 333 334 335
	Includes dialog level support for sending and refreshing SUBSCRIBE
	and receiving NOTIFY messages.

	The SIP headers explicitly supported (generating, parsing and
	syntax checking) are
336
        @ref sip_event "Event" ("o"),
337 338 339 340
	@ref sip_allow_events "Allow-Events", and
        @ref sip_subscription_state "Subscription-State"

	Note: currently there is no support for forked SUBSCRIBE requests.
Pekka Pessi's avatar
Pekka Pessi committed
341 342
    </td>
    <td>
343 344 345
	Application must take care of:
	- Subscribing, generating or processing specific event types
          and interpreting the content of event data is up to application
Pekka Pessi's avatar
Pekka Pessi committed
346 347 348 349 350
    </td>
</tr>

<tr valign=top>
    <th align="left">
351 352
	<a name="2806"></a>
	@RFC2806: tel URI
Pekka Pessi's avatar
Pekka Pessi committed
353 354
    </th>
    <td>
355 356
	Sofia-SIP supports handling of any URI type. Sofia-SIP parses tel:
        URIs.
Pekka Pessi's avatar
Pekka Pessi committed
357 358
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
359
	Missing:
360
	- Resolving the tel: URIs
Pekka Pessi's avatar
Pekka Pessi committed
361 362 363 364 365
    </td>
</tr>

<tr valign=top>
    <th align="left">
366 367
	<a name="2976"></a>
	@RFC2976: INFO
Pekka Pessi's avatar
Pekka Pessi committed
368 369
    </th>
    <td>
370
	INFO method is supported within a dialog natively.
Pekka Pessi's avatar
Pekka Pessi committed
371 372
    </td>
    <td>
373 374
	Not implemented:
	- Generating or processing contents of INFO requests
Pekka Pessi's avatar
Pekka Pessi committed
375 376 377
    </td>
</tr>

378

Pekka Pessi's avatar
Pekka Pessi committed
379 380
<tr valign=top>
    <th align="left">
381 382
	<a name="3311"></a>
	@RFC3311: UPDATE
Pekka Pessi's avatar
Pekka Pessi committed
383 384
    </th>
    <td>
385 386 387
	UPDATE method as defined in RFC3311. UPDATE allows a client to
	update parameters of a session (such as the set of media streams and
	their codecs) even within early dialogs.
Pekka Pessi's avatar
Pekka Pessi committed
388

389
	Offer-Answer negotiation with UPDATE is implemented in nua.
Pekka Pessi's avatar
Pekka Pessi committed
390 391
    </td>
    <td>
392 393
	Application must take care of:
        - Initiating UPDATE requests
Pekka Pessi's avatar
Pekka Pessi committed
394 395 396
    </td>
</tr>

397

Pekka Pessi's avatar
Pekka Pessi committed
398 399
<tr valign=top>
    <th align="left">
400 401
	<a name="3313"></a>
	@RFC3313: Media Authentication
Pekka Pessi's avatar
Pekka Pessi committed
402 403
    </th>
    <td>
404 405 406
	Sofia-SIP provides <a href="#3261.19">generic support</a> for
	extension headers and parameters. P-Media-Authorization header is
	supported as an @ref sip_unknown "extension header".
Pekka Pessi's avatar
Pekka Pessi committed
407 408
    </td>
    <td>
409 410
        Application must take care of:
	- Passing the authorization token to QoS reservation request
Pekka Pessi's avatar
Pekka Pessi committed
411 412 413
    </td>
</tr>

Pekka Pessi's avatar
Pekka Pessi committed
414

Pekka Pessi's avatar
Pekka Pessi committed
415 416
<tr valign=top>
    <th align="left">
417 418
	<a name="3323"></a>
	@RFC3323: Privacy
Pekka Pessi's avatar
Pekka Pessi committed
419 420
    </th>
    <td>
421 422
	@ref sip_privacy "Privacy" header is supported (generating, parsing
        and syntax checking).
Pekka Pessi's avatar
Pekka Pessi committed
423

424 425 426 427
	Call-Id header is generated from cryptographically random id without
	host name or IP address. By default, @ref sip_contact "Contact" and
	@ref sip_via "Via" headers contain only IP address that can be
	dynamically allocated.
Pekka Pessi's avatar
Pekka Pessi committed
428

429 430
	Application can enter any SIP URI and display name to From header,
	e.g., @code Anonymous <sip:anonymous@example.org> @endcode.
Pekka Pessi's avatar
Pekka Pessi committed
431 432
    </td>
    <td>
433 434 435 436 437 438
        Application must take care of:
	- Properly populating the URIs and display names within SIP headers
	- Not including any optional headers that could reveal identity
	- Generating of Privacy header with appropriate values
	- Generating of Proxy-Require: privacy
	- Using anonymous callback URIs etc.
Pekka Pessi's avatar
Pekka Pessi committed
439 440 441
    </td>
</tr>

Pekka Pessi's avatar
Pekka Pessi committed
442

Pekka Pessi's avatar
Pekka Pessi committed
443 444
<tr valign=top>
    <th align="left">
445 446
	<a name="3326"></a>
	@RFC3326: Reason
Pekka Pessi's avatar
Pekka Pessi committed
447 448
    </th>
    <td>
449 450
	Sofia-SIP supports @ref sip_reason "Reason" header (generating,
	parsing and syntax checking).
Pekka Pessi's avatar
Pekka Pessi committed
451 452
    </td>
    <td>
453 454
        Application must take care of:
	- Generating or processing Reason headers
Pekka Pessi's avatar
Pekka Pessi committed
455 456 457
    </td>
</tr>

458

Pekka Pessi's avatar
Pekka Pessi committed
459
<tr valign=top>
Pekka Pessi's avatar
Pekka Pessi committed
460
    <th align="left">
461 462
	<a name="3325"></a>
	@RFC3325: Asserted Identity
Pekka Pessi's avatar
Pekka Pessi committed
463
    </th>
Pekka Pessi's avatar
Pekka Pessi committed
464
    <td>
465 466 467 468
	Sofia-SIP provides <a href="#3261.19">generic support</a> for
	extension headers and parameters. P-Asserted-Identity and
	P-Preferred-Identity are supported as supported as @ref
	sip_unknown "extension headers".
Pekka Pessi's avatar
Pekka Pessi committed
469 470
    </td>
    <td>
471 472 473 474
	Not implemented:
        - <a href="#3323">id privacy</a>
	- Recognizing trust domains and enforcing handling of headers
	  based on those
Pekka Pessi's avatar
Pekka Pessi committed
475 476 477 478 479
    </td>
</tr>

<tr valign=top>
    <th align="left">
480 481
	<a name="3327"></a>
	@RFC3327: Path
Pekka Pessi's avatar
Pekka Pessi committed
482 483
    </th>
    <td>
484 485 486 487 488
	User-agent engine can add "path" option tag to Supported header of
	REGISTER requests.

	Sofia-SIP explicitly supports @ref sip_path "Path" header
	(generating, parsing and syntax checking).
Pekka Pessi's avatar
Pekka Pessi committed
489 490
    </td>
    <td>
491
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
492 493 494 495
    </td>
</tr>

<tr valign=top>
496 497 498 499
    <th align="left">
	<a name="3329"></a>
	@RFC3329:
	Security Agreement
Pekka Pessi's avatar
Pekka Pessi committed
500 501
    </th>
    <td>
502 503 504
	Some support of the SIP Security Mechanism Agreement procedures. The
	client is able to insert Security-Client and Security-Verify header
	with fake @e d-ver value.
Pekka Pessi's avatar
Pekka Pessi committed
505

506 507 508 509 510
	Sofia-SIP explicitly supports (generating, parsing
	and syntax checking)
	@ref sip_security_client "Security-Client",
	@ref sip_security_server "Security-Server", and
	@ref sip_security_verify "Security-Verify" headers.
Pekka Pessi's avatar
Pekka Pessi committed
511

512
	Security-mechanism supported is "digest".
Pekka Pessi's avatar
Pekka Pessi committed
513 514
    </td>
    <td>
515
	Correct @e d-ver value is not calculated.
Pekka Pessi's avatar
Pekka Pessi committed
516 517 518 519 520
    </td>
</tr>

<tr valign=top>
    <th align="left">
521 522
	<a name="3361"></a>
	@RFC3361: DHCPv4 option for locating SIP servers.
Pekka Pessi's avatar
Pekka Pessi committed
523 524
    </th>
    <td>
525
	Sofia-SIP supports outbound proxy.
Pekka Pessi's avatar
Pekka Pessi committed
526 527
    </td>
    <td>
528 529 530
	Application must take care of:
	- passing outbound proxy name or address from DHCP client
          to Sofia-SIP stack.
Pekka Pessi's avatar
Pekka Pessi committed
531 532 533 534 535
    </td>
</tr>

<tr valign=top>
    <th align="left">
536 537
	<a name="3420"></a>
	@RFC3420: message/sipfrag
Pekka Pessi's avatar
Pekka Pessi committed
538 539
    </th>
    <td>
540 541
	Sofia-SIP passes the received SIP message headers to application
	which can create a message/sipfrag payload.
Pekka Pessi's avatar
Pekka Pessi committed
542 543
    </td>
    <td>
544 545
        Application must take care of:
	- processing the SIP message fragments
Pekka Pessi's avatar
Pekka Pessi committed
546 547 548 549 550
    </td>
</tr>

<tr valign=top>
    <th align="left">
551 552
	<a name="3428"></a>
	@RFC3428: MESSAGE
Pekka Pessi's avatar
Pekka Pessi committed
553 554
    </th>
    <td>
555
	MESSAGE method is supported natively.
Pekka Pessi's avatar
Pekka Pessi committed
556 557
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
558
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
559 560 561 562 563
    </td>
</tr>

<tr valign=top>
    <th align="left">
564 565
	<a name="3486"></a>
	@RFC3486: Compressing SIP
Pekka Pessi's avatar
Pekka Pessi committed
566 567
    </th>
    <td>
568 569 570
	Sofia-SIP provides support for using comp=sigcomp parameters in @ref
	sip_via "Via" header and @ref url_t "SIP URIs", indicating
	support for compression.
Pekka Pessi's avatar
Pekka Pessi committed
571 572
    </td>
    <td>
573
	SigComp itself is not supported.
Pekka Pessi's avatar
Pekka Pessi committed
574 575 576 577 578
    </td>
</tr>

<tr valign=top>
    <th align="left">
579 580
	<a name="3515"></a>
	@RFC3515: REFER
Pekka Pessi's avatar
Pekka Pessi committed
581 582
    </th>
    <td>
583 584 585 586 587 588 589 590
	REFER method is supported natively. Sofia-SIP processes incoming
        REFER requests and generates NOTIFY with correct
	@ref sip_event "Event" header automatically.

	Further notifications can be automatically generated actions when
	nua_invite() is given referrer's nua handle in NUTAG_NOTIFY_REFER().

	Sofia-SIP explicitly supports (generating, parsing and syntax
591
	checking) @ref sip_refer_to "Refer-To" ("r") SIP header.
592 593 594 595

	See also support for
	<a href="#3891">RFC 3891</a> and
        <a href="#3892">RFC 3892</a>.
Pekka Pessi's avatar
Pekka Pessi committed
596 597
    </td>
    <td>
598
        &nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
599 600 601 602 603
    </td>
</tr>

<tr valign=top>
    <th align="left">
604 605
	<a name="3608"></a>
	@RFC3608: Service-Route
Pekka Pessi's avatar
Pekka Pessi committed
606 607
    </th>
    <td>
608 609 610 611 612 613 614
	Sofia-SIP supports @ref sip_service_route "Service-Route" that can
	be used to provide a mechanism by which a registrar may inform a
	registering UA of a service route. User-Agent will optionally use
	the route provided in @ref sip_service_route "Service-Route" header.

	The SIP header explicitly supported (generating, parsing and
	syntax checking) is @ref sip_service_route "Service-Route".
Pekka Pessi's avatar
Pekka Pessi committed
615 616
    </td>
    <td>
617
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
618 619 620 621 622
    </td>
</tr>

<tr valign=top>
    <th align="left">
623 624
	<a name="3680"></a>
	@RFC3680: "reg" event
Pekka Pessi's avatar
Pekka Pessi committed
625 626
    </th>
    <td>
627 628 629 630 631 632 633 634 635
	Sofia-SIP supports <a href="#3265">generic SIP event support</a> for
	subscribing SIP event packages and receiving notifications for them.
	Subscriptions are refreshed before expiration when needed and
	subscriptions are terminated on request. Sofia-SIP takes care of
        notified subscription states.

	UA can SUBSCRIBE to a registration state event package after sending
	initial REGISTER to, e.g., 3GPP network and use it to follow its
        registration status.
Pekka Pessi's avatar
Pekka Pessi committed
636 637
    </td>
    <td>
638 639 640 641
	Application must take care of:
	- Generating subscriptions for "reg" event
	- Processing notifications for "reg" event
	  - Handling of XML document in notifications
Pekka Pessi's avatar
Pekka Pessi committed
642 643 644 645 646
    </td>
</tr>

<tr valign=top>
    <th align="left">
647 648
	<a name="3824"></a>
	@RFC3824: ENUM
Pekka Pessi's avatar
Pekka Pessi committed
649 650
    </th>
    <td>
651 652 653
	Tel URIs are supported in any headers including URI parameters,
	e.g., To, From, Contact headers, and Request-URI of the outgoing SIP
	request provided that the next hop is given as SIP or SIPS URI.
Pekka Pessi's avatar
Pekka Pessi committed
654 655
    </td>
    <td>
656 657
	Stack can not resolve E.164 number to address of next
	hop. A proxy in the network must resolve E.164 numbers with ENUM.
Pekka Pessi's avatar
Pekka Pessi committed
658 659 660 661 662
    </td>
</tr>

<tr valign=top>
    <th align="left">
663 664
	<a name="3840"></a>
	@RFC3840: Callee Capabilities
Pekka Pessi's avatar
Pekka Pessi committed
665 666
    </th>
    <td>
667 668 669 670 671 672 673 674
	Feature parameters can be added to SIP profiles and sent within
	Contact header of REGISTER request as header parameters.

	UAC can optionally generate media tags for Contact header using
	local media profile.

	Feature parameters can also be sent within any other SIP request as
	extension parameters of Contact header.
Pekka Pessi's avatar
Pekka Pessi committed
675 676
    </td>
    <td>
677 678
	Application must take care of:
        - Processing the feature parameters received in the Contact header
Pekka Pessi's avatar
Pekka Pessi committed
679 680 681
    </td>
</tr>

682

Pekka Pessi's avatar
Pekka Pessi committed
683 684
<tr valign=top>
    <th align="left">
685 686
	<a name="3841"></a>
	@RFC3841: Caller Preferences
Pekka Pessi's avatar
Pekka Pessi committed
687 688
    </th>
    <td>
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703
	Built-in support for user-agent behavior.

	UAC can optionally generate Accept-Contact header using local media
	profile.

	SIP parser parses the Accept-Contact and Reject-Contact headers.

        ACK and CANCEL request messages sent have same values
	for Accept-Contact/Reject-Contact or Request-Disposition
	headers as the original request had.

	There are functions for calculating score for contacts.

	The SIP headers explicitly supported (generating,
	parsing and syntax checking) are:
704 705 706
	@ref sip_request_disposition "Request-Disposition" ("d"),
	@ref sip_accept_contact "Accept-Contact" ("a"),
	@ref sip_reject_contact "Reject-Contact" ("j"),
Pekka Pessi's avatar
Pekka Pessi committed
707 708
    </td>
    <td>
709 710
	Application must take care of:
        - UAS processing incoming Accept-Contact or Reject-Contact headers
Pekka Pessi's avatar
Pekka Pessi committed
711 712 713 714 715
    </td>
</tr>

<tr valign=top>
    <th align="left">
716 717
	<a name="3842"></a>
	@RFC3842: Message waiting event
Pekka Pessi's avatar
Pekka Pessi committed
718 719
    </th>
    <td>
720 721 722 723 724
	Sofia-SIP supports <a href="#3265">generic SIP event support</a> for
	subscribing SIP event packages and receiving notifications for them.
	Subscriptions are refreshed before expiration when needed and
	subscriptions are terminated on request. Sofia-SIP takes care of
        notified subscription states.
Pekka Pessi's avatar
Pekka Pessi committed
725 726
    </td>
    <td>
727 728 729 730 731 732
	Application must take care of:
	- Generating subscriptions for "message-summary" event
          - Including correct @ref sip_event "Event" and
            @ref sip_accept "Accept" headers in the request (if needed)
	- Processing notifications for "message-summary" event
	  - Handling of summary information in notifications
Pekka Pessi's avatar
Pekka Pessi committed
733 734 735 736 737
    </td>
</tr>

<tr valign=top>
    <th align="left">
738 739
	<a name="3856"></a>
	@RFC3856: Presence
Pekka Pessi's avatar
Pekka Pessi committed
740 741
    </th>
    <td>
742 743 744 745 746 747 748 749 750
	Sofia-SIP supports <a href="#3265">generic SIP event support</a> for
	subscribing SIP event packages and receiving notifications for them.
	Subscriptions are refreshed before expiration when needed and
	subscriptions are terminated on request. Sofia-SIP takes care of
        notified subscription states.

	Note: Usage of pres: URI is supported only if the next hop URI to
	where to send SUBSCRIBE is a SIP URI (e.g. of outbound proxy).
	Resolving of pres: URIs by DNS is not supported.
Pekka Pessi's avatar
Pekka Pessi committed
751 752
    </td>
    <td>
753 754 755 756 757 758
	Application must take care of:
	- Generating subscriptions for "presence" event
          - Including correct @ref sip_event "Event" and
            @ref sip_accept "Accept" headers in the request (if needed)
	- Processing notifications for "presence" event
	  - Handling of presence information in notifications
Pekka Pessi's avatar
Pekka Pessi committed
759 760 761
    </td>
</tr>

Pekka Pessi's avatar
Pekka Pessi committed
762 763
<tr valign=top>
    <th align="left">
764 765 766
	<a name="3857"></a> <a name="3858"></a>
	@RFC3857: "winfo" event template package<br>
	@RFC3858: winfo format
Pekka Pessi's avatar
Pekka Pessi committed
767 768
    </th>
    <td>
769 770
	Sofia-SIP supports <a href="#3265">generic SIP event support</a> for
	subscribing SIP event packages and receiving notifications for them.
Pekka Pessi's avatar
Pekka Pessi committed
771
	Subscriptions are refreshed before expiration when needed and
772 773
	subscriptions are terminated on request. Sofia-SIP takes care of
        notified subscription states.
Pekka Pessi's avatar
Pekka Pessi committed
774 775 776
    </td>
    <td>
        Application must take care of:
777 778 779 780 781
	- Generating subscriptions for winfo events
          - Including correct @ref sip_event "Event" and
            @ref sip_accept "Accept" headers in the request (if needed)
	- Processing notifications for winfo events:
	  - Processing watcherxinfo XML documents
Pekka Pessi's avatar
Pekka Pessi committed
782 783 784 785 786
    </td>
</tr>

<tr valign=top>
    <th align="left">
787 788
	<a name="3891"></a>
	@RFC3891: Replaces
Pekka Pessi's avatar
Pekka Pessi committed
789 790
    </th>
    <td>
791 792
	@ref sip_replaces "Replaces" header is explicitly supported
	(generating, parsing and syntax checking).
Pekka Pessi's avatar
Pekka Pessi committed
793 794 795
    </td>
    <td>
        Application must take care of:
796 797
	- generating @ref sip_replaces "Replaces" header from a dialog and
          matching a dialog with a Replaces header received
Pekka Pessi's avatar
Pekka Pessi committed
798 799 800
    </td>
</tr>

Pekka Pessi's avatar
Pekka Pessi committed
801 802
<tr valign=top>
    <th align="left">
803
	<a name="3892"></a>
Pekka Pessi's avatar
Pekka Pessi committed
804 805 806
	@RFC3892: Referred-By
    </th>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
807 808
	@ref sip_referred_by "Referred-By" header is explicitly supported
	(generating, parsing and syntax checking).
809

Pekka Pessi's avatar
Pekka Pessi committed
810 811 812 813
	Referred-by token can be sent and received in
	text-based SIP message body.
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
814 815
        Application must take care of:
	- Generating or processing @ref sip_referred_by "Referred-By" headers
Pekka Pessi's avatar
Pekka Pessi committed
816 817 818 819 820
	- Generating (and encrypting) or verifying (and decrypting) of
	  Referred-by tokens
    </td>
</tr>

Pekka Pessi's avatar
Pekka Pessi committed
821 822
<tr valign=top>
    <th align="left">
823 824
	<a name="3903"></a>
	@RFC3903: PUBLISH
Pekka Pessi's avatar
Pekka Pessi committed
825 826
    </th>
    <td>
827 828 829
	PUBLISH method is supported natively. The SIP headers
	explicitly supported (generating, parsing and syntax checking) are
	@ref sip_etag "SIP-ETag" and @ref sip_if_match "SIP-If-Match".
Pekka Pessi's avatar
Pekka Pessi committed
830

831 832
	The <a href="nua/index.html">user-agent engine</a> keep published
	data refreshed until nua_unpublish() is called.
Pekka Pessi's avatar
Pekka Pessi committed
833 834
    </td>
    <td>
835 836 837
        Application must take care of:
        - Including correct @ref sip_event "Event" in the request
        - Permanently storing SIP-ETag
Pekka Pessi's avatar
Pekka Pessi committed
838 839
    </td>
</tr>
Pekka Pessi's avatar
Pekka Pessi committed
840 841 842

<tr valign=top>
    <th align="left">
843 844
	<a name="4028"></a>
	@RFC4028: Session Timers
Pekka Pessi's avatar
Pekka Pessi committed
845 846
    </th>
    <td>
847 848 849 850 851 852 853 854 855 856
	The SIP session-timer ("timer") extension is supported.

        The session-expires value and refreshing party is negotiated in
	<a href="nua/index.html">user-agent engine</a>. When user-agent
	engine is responsible for refreshes, it will initiate re-INVITE or
	UPDATE transaction at regular intervals. If there has been no SIP
	activity in session during the refresh period, it will try to
	automatically terminate the call by sending a @b BYE request.

        The SIP headers explicitly supported (generating, parsing and
857
	syntax checking) are @ref sip_session_expires "Session-Expires" ("x") and
858
	@ref sip_min_se "Min-SE".
Pekka Pessi's avatar
Pekka Pessi committed
859 860
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
861
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
862 863
    </td>
</tr>
864 865 866 867 868 869 870 871
</table>

<table border=1 cellpadding=4 cellspacing=0>
<tr>
   <th>Feature</th>
   <th>Supported</td>
   <th>Notes</td>
</tr>
Pekka Pessi's avatar
Pekka Pessi committed
872 873

<tr valign=top>
874 875 876
    <th align="left" align="left">
	<a name="2327"></a>
	@RFC2327: SDP (Session Description Protocol)
Pekka Pessi's avatar
Pekka Pessi committed
877 878
    </th>
    <td>
879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898
	Generic support (generating, parsing and syntax checking) for SDP.
	The SDP
        @ref sdp_version_t "v=",
        @ref sdp_origin_t "o=",
	@ref sdp_connection_t "c=",
	@ref sdp_bandwidth_t "b=",
	@ref sdp_time_t "t=",
	@ref sdp_repeat_t "r=",
	@ref sdp_zone_t "z=",
	@ref sdp_key_t "k=",
	@ref sdp_attribute_t "a=", and
	@ref sdp_media_t "m="
        lines are separated and parsed. The "e=", "p=", "s=", and "i=" lines
	are separated.

	The attributes "a=sendrecv", "a=sendonly", "a=recvonly",
	"a=inactive", @ref sdp_rtpmap_s "a=rtpmap", and "a=fmtp" are parsed.

	The implementation tries to follow draft-ietf-mmusic-sdp-new-25,
	draft Internet Standard for SDP in progress.
Pekka Pessi's avatar
Pekka Pessi committed
899 900
    </td>
    <td>
901
    - see also <a href="#4566">RFC 4566</a>
Pekka Pessi's avatar
Pekka Pessi committed
902 903 904 905 906
    </td>
</tr>

<tr valign=top>
    <th align="left">
907 908
	<a name="3264"></a>
	@RFC3264: SDP Offer/Answer Negotiation
Pekka Pessi's avatar
Pekka Pessi committed
909 910
    </th>
    <td>
911
	Generating and processing offers or answers.
Pekka Pessi's avatar
Pekka Pessi committed
912 913
    </td>
    <td>
914 915
	- "a=fmtp" parameters are not taken into account
          when generating or processing answer
Pekka Pessi's avatar
Pekka Pessi committed
916 917 918 919 920
    </td>
</tr>

<tr valign=top>
    <th align="left">
921 922
	<a name="3266"></a>
	@RFC3266: IP6 in SDP
Pekka Pessi's avatar
Pekka Pessi committed
923 924
    </th>
    <td>
925
	Representation of IP6 addresses within SDP message.
Pekka Pessi's avatar
Pekka Pessi committed
926 927
    </td>
    <td>
928
    - see also <a href="#4566">RFC 4566</a>
Pekka Pessi's avatar
Pekka Pessi committed
929 930 931 932 933
    </td>
</tr>

<tr valign=top>
    <th align="left">
934 935
	<a name="3312"></a>
	@RFC3312: Preconditions
Pekka Pessi's avatar
Pekka Pessi committed
936 937
    </th>
    <td>
938 939 940 941 942 943
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.

        Sofia-SIP supports handling SIP feature tags in
	@ref sip_proxy_require "Proxy-Require",
        @ref sip_require "Require",
944
        @ref sip_supported "Supported" ("k"),
945 946
        and
        @ref sip_unsupported "Unsupported" header.
Pekka Pessi's avatar
Pekka Pessi committed
947 948
    </td>
    <td>
949 950 951
	Application must take care of:
	- Semantics and handling of preconditions
	- Reservation of resources
Pekka Pessi's avatar
Pekka Pessi committed
952 953 954 955 956
    </td>
</tr>

<tr valign=top>
    <th align="left">
957 958
	<a name="3388"></a>
	@RFC3388: Grouping of Media Lines
Pekka Pessi's avatar
Pekka Pessi committed
959 960
    </th>
    <td>
961 962 963 964
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.

	@RFC3388 defines mid, group, LS and FID are predefined strings to be
Pekka Pessi's avatar
Pekka Pessi committed
965 966 967
	used within attribute line
    </td>
    <td>
968
        Application must take care of:
Pekka Pessi's avatar
Pekka Pessi committed
969 970 971 972 973 974 975 976
	- Generating or processing the attribute lines
	- Grouping the media for transport accordingly
    </td>
</tr>


<tr valign=top>
    <th align="left">
977 978
	<a name="3407"></a>
	@RFC3407: Capability Declaration
Pekka Pessi's avatar
Pekka Pessi committed
979 980
    </th>
    <td>
981 982
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.
Pekka Pessi's avatar
Pekka Pessi committed
983 984
    </td>
    <td>
985 986 987 988
        Application must take care of:
	- Defining sqn, cdsc, cpar etc. strings needed in a= line
	- Generating or processing the attribute lines
	- Capability negotiation itself
Pekka Pessi's avatar
Pekka Pessi committed
989 990 991 992 993 994
    </td>
</tr>


<tr valign=top>
    <th align="left">
995 996
	<a name="3524"></a>
	@RFC3524: SRF
Pekka Pessi's avatar
Pekka Pessi committed
997 998
    </th>
    <td>
999 1000
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.
Pekka Pessi's avatar
Pekka Pessi committed
1001 1002
    </td>
    <td>
1003 1004 1005
        Application must take care of:
	- Defining SRF string needed in a= line
	- Generating or processing the attribute lines
Pekka Pessi's avatar
Pekka Pessi committed
1006 1007 1008 1009 1010
    </td>
</tr>

<tr valign=top>
    <th align="left">
1011 1012
	<a name="3556"></a>
	@RFC3556: Bandwidth
Pekka Pessi's avatar
Pekka Pessi committed
1013 1014
    </th>
    <td>
1015 1016
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.
Pekka Pessi's avatar
Pekka Pessi committed
1017 1018
    </td>
    <td>
1019 1020 1021
        Application must take care of:
	- Generating or processing RS and RR bandwidth modifiers
	- Semantics of bandwidth allocation
Pekka Pessi's avatar
Pekka Pessi committed
1022 1023 1024 1025 1026
    </td>
</tr>

<tr valign=top>
    <th align="left">
1027 1028
	<a name="3605"></a>
	@RFC3605: RTCP attribute
Pekka Pessi's avatar
Pekka Pessi committed
1029 1030
    </th>
    <td>
1031 1032
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.
Pekka Pessi's avatar
Pekka Pessi committed
1033 1034
    </td>
    <td>
1035 1036 1037
        Application must take care of:
	- Discovering port numbers
	- Generating or processing the RTCP attribute lines
Pekka Pessi's avatar
Pekka Pessi committed
1038 1039 1040 1041 1042
    </td>
</tr>

<tr valign=top>
    <th align="left">
1043 1044
	<a name="3890"></a>
	@RFC3890: TIAS
Pekka Pessi's avatar
Pekka Pessi committed
1045 1046
    </th>
    <td>
1047 1048
	Sofia-SIP provides <a href="#2616">generic support</a> for attribute
	lines that conform to SDP syntax.
Pekka Pessi's avatar
Pekka Pessi committed
1049 1050
    </td>
    <td>
1051 1052 1053
        Application must take care of:
	- Generating or processing TIAS bandwidth modifiers
	- Generating or processing the maxprate attribute lines
Pekka Pessi's avatar
Pekka Pessi committed
1054 1055 1056
    </td>
</tr>

1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
<tr valign=top>
    <th align="left">
	<a name="4566"></a>
	@RFC4566: SDP: Session Description Protocol
    </th>
    <td>
    Obsoletes RFC2327 and RFC3266.
    </td>
    <td>
	&nbsp;
    </td>
</tr>

1070 1071 1072 1073 1074 1075
</table>

*/

/* Overflow:

Pekka Pessi's avatar
Pekka Pessi committed
1076 1077
<tr valign=top>
    <th align="left">
1078 1079
	<a name="3320"></a>
	@RFC3320: SigComp
Pekka Pessi's avatar
Pekka Pessi committed
1080 1081
    </th>
    <td>
1082 1083 1084
    	Support for using SigComp for compression and
	decompression of SIP/SDP messages. By default, dynamic
	compression is used.
Pekka Pessi's avatar
Pekka Pessi committed
1085

1086
	Decompression using UDVM
Pekka Pessi's avatar
Pekka Pessi committed
1087 1088
    </td>
    <td>
Pekka Pessi's avatar
Pekka Pessi committed
1089
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
1090 1091 1092 1093 1094
    </td>
</tr>

<tr valign=top>
    <th align="left">
1095 1096
	<a name="3321"></a>
	@RFC3321: SigComp Extended operations
Pekka Pessi's avatar
Pekka Pessi committed
1097 1098
    </th>
    <td>
1099
	Support for SigComp extended operations.
Pekka Pessi's avatar
Pekka Pessi committed
1100 1101
    </td>
    <td>
1102 1103 1104 1105
	- Explicit Acknowledgment Scheme
	- Shared Compression
	- Checkpoint State
	- Implicit Deletion for Dictionary Update
Pekka Pessi's avatar
Pekka Pessi committed
1106 1107
    </td>
</tr>
Pekka Pessi's avatar
Pekka Pessi committed
1108

Pekka Pessi's avatar
Pekka Pessi committed
1109 1110
<tr valign=top>
    <th align="left">
1111 1112
	<a name="3325"></a>
	@RFC3325: Asserted Identity
Pekka Pessi's avatar
Pekka Pessi committed
1113 1114
    </th>
    <td>
1115 1116
	Explicit support (generating, parsing and syntax checking) for the
	following SIP headers: P-Asserted-Identity, P-Preferred-Identity
Pekka Pessi's avatar
Pekka Pessi committed
1117 1118
    </td>
    <td>
1119 1120
	- Recognizing trust domains and enforcing handling of headers
	  based on those
Pekka Pessi's avatar
Pekka Pessi committed
1121 1122 1123 1124 1125
    </td>
</tr>

<tr valign=top>
    <th align="left">
1126 1127
	<a name="3485"></a>
	@RFC3485: SIP/SDP Dictionary
Pekka Pessi's avatar
Pekka Pessi committed
1128 1129
    </th>
    <td>
1130 1131
	Support for SigComp static compression using SIP/SDP
	dictionary.
Pekka Pessi's avatar
Pekka Pessi committed
1132 1133
    </td>
    <td>
1134
	&nbsp;
Pekka Pessi's avatar
Pekka Pessi committed
1135 1136 1137
    </td>
</tr>

1138 1139 1140 1141 1142



	- Implicitly registered user identities

Pekka Pessi's avatar
Pekka Pessi committed
1143 1144
<tr valign=top>
    <th align="left">
1145
	<a name="3959"></a>
Pekka Pessi's avatar
Pekka Pessi committed
1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158
	@RFC3959: early-session
    </th>
    <td>
	Early-session value can be used within Content-Disposition,
	Supported and Require headers.
    </td>
    <td>
	- Generating of Content-Disposition, Supported and Require
	- Handling of multipart bodies with early and session SDP
    </td>
</tr>

*/