SIP Table 2 / Table 3 Adam Roach Anaheim, CA, USA Friday, March 26, - - PowerPoint PPT Presentation

sip table 2 table 3
SMART_READER_LITE
LIVE PREVIEW

SIP Table 2 / Table 3 Adam Roach Anaheim, CA, USA Friday, March 26, - - PowerPoint PPT Presentation

SIP Table 2 / Table 3 Adam Roach Anaheim, CA, USA Friday, March 26, 2010 Current Situation Table 2 / Table 3 in RFC 3261 summarized where fields MAY, MUST, and MUST NOT appear. (The table is normative). This means, for most header fields,


slide-1
SLIDE 1

SIP Table 2 / Table 3

Adam Roach Anaheim, CA, USA Friday, March 26, 2010

slide-2
SLIDE 2

Current Situation

  • Table 2 / Table 3 in RFC 3261 summarized

where fields MAY, MUST, and MUST NOT

  • appear. (The table is normative).
  • This means, for most header fields, there are

two different places normatively indicating potential use (prose & Table 2).

  • As new methods and header fields were

defined, the table was updated haphazardly, leading to gaps.

  • On cursory examination, some values are

clearly incorrect.

slide-3
SLIDE 3

Fixing the Mess

  • Clearly, this isnʼt sustainable.
  • Really, there are two ways we can clean up the

current situation:

– Come up with a completed Table 2, and update IANA procedures for registering new header fields and new methods to require complete Table 2 information – Issue a document that updates RFC 3261 for the purpose of deprecating Table 2

  • Of course, we could always decide to ignore the

problem, and simply argue about it every time we touch any extensions.

slide-4
SLIDE 4

Creating a Unified Table

  • If we are to take on the work of completing

the missing parts of the table, it will require a non-trivial effort.

– At least 144 rows, with 14 methods each – ~432 unique cells are either undefined or

  • bviously wrong upon cursory examination
  • This will probably be the most complicated

thing anyone has ever asked IANA to do.

  • Is this of really of value? If so, is the value

commensurate with the level of effort?

slide-5
SLIDE 5

Examining the Value of Table 2

  • Information is extremely imprecise: the

presence of an “o” does nothing to indicate more subtle restrictions on header field use

– To complicate matters, many header fields indicate “o” when they mean “c”.

  • This kind of semantic information is far

better being expressed as prose, not a table.

slide-6
SLIDE 6

What We Would Be Getting Ourselves Into

A Visual Cautionary Tale

slide-7
SLIDE 7

Expanded Table (1 / 6)

Header Field Where Proxy ACK BYE CAN INF INV MES NOT OPT PRA PUB REF REG SUB UPD Accept 2xx

  • m*
  • Accept

415

  • c
  • c

m*

  • c

c m* c c

  • c

Accept R

  • m*
  • Accept-Contact

R ar

  • Accept-Encoding

2xx

  • m*
  • Accept-Encoding

415

  • c
  • c

c m*

  • c

c m* c c

  • c

Accept-Encoding R

  • Accept-Language

2xx

  • m*
  • Accept-Language

415

  • c
  • c

m*

  • c

c m* c c

  • c

Accept-Language R

  • Accept-Resource-Priority

200 amdr

  • Accept-Resource-Priority

417 amdr

  • Alert-Info

180 ar

  • Alert-Info

R ar

  • Allow
  • Allow

2xx

  • m*
  • m*
  • Allow

405

  • m
  • /m

m m m m m m m m m m Allow-Events 2xx

  • Allow-Events

489

  • m
  • m
  • m
  • Allow-Events

R

  • Answer-Mode

2xx amdr

  • Answer-Mode

R amdr

  • Authentication-Info

2xx

  • Authorization

R

  • Call-ID

c r m m m m m m m m m m m m m m

slide-8
SLIDE 8

Expanded Table (2 / 6)

Call-Info ar

  • Contact

1xx

  • Contact

2xx

  • m
  • m
  • m

m Contact 3xx d

  • m
  • m
  • Contact

485

  • Contact

R

  • /-

m

  • m
  • m
  • m

m Content-Disposition

  • Content-Encoding
  • Content-Language
  • Content-Length

ar t t t

  • t

t t t t t t t t t Content-Type * *

  • *

* * * * * * * * * * CSeq c r m m m m m m m m m m m m m m Date a

  • Error-Info

300-699 a

  • Event

R

  • m
  • m
  • m
  • Expires

2xx

  • m
  • Expires

R

  • /-
  • Expires

r

  • /-
  • Flow-Timer

2xx a

  • From

c r m m m m m m m m m m m m m m History-Info amdr

  • Identity

R a

  • Identity-Info

R a

  • In-Reply-To

R

  • Join

R

  • Max-Breadth

R amr m* m*

  • m* m* m* m* m* m* m* m* m* m* m*
slide-9
SLIDE 9

Expanded Table (3 / 6)

Max-Forwards R amr m m m

  • m

m m m m m m m m m MIME-Version

  • Min-Expires

423

  • m
  • m

m

  • Min-SE

422

  • m
  • m

Min-SE R amr

  • Organization

ar

  • /-
  • P-Access-Network-Info

dr

  • P-Answer-State

18x ar

  • P-Answer-State

2xx ar

  • P-Asserted-Identity

adr

  • P-Associated-URI

2xx

  • P-Called-Party-ID

R amr

  • P-Charging-Function-Addresses

adr

  • P-Charging-Vector

admr

  • P-DCS-Trace-Party-ID

R dmr

  • P-DCS-OSPS

R dr

  • P-DCS-Billing-Info

admr

  • P-DCS-LAES

adr

  • P-DCS-Redirect

adr

  • P-Early-Media

18x amr

  • P-Early-Media

2xx amr

  • P-Early-Media

R amr

  • P-Media-Authorization

101-199 ad

  • P-Media-Authorization

2xx ad

  • P-Media-Authorization

R ad

  • P-Preferred-Identity

adr

slide-10
SLIDE 10

Expanded Table (4 / 6)

P-Profile-Key R admr

  • P-Refused-URI-List

403

  • P-Served-User

R amdr

  • P-User-Database

R admr

  • P-Visited-Network-ID

R ad

  • Path

2xx

  • Path

R ar

  • Permission-Missing

470

  • Priority

R ar

  • /-
  • Priv-Answer-Mode

2xx amdr

  • Priv-Answer-Mode

R amdr

  • Privacy

amrd

  • Proxy-Authenticate

401 ar

  • Proxy-Authenticate

407 ar

  • m
  • /m

m m m m m m m m m m Proxy-Authorization R dr

  • RAck

R

  • m
  • Reason

R

  • Record-Route

18x mr

  • Record-Route

2xx mr

  • Record-Route

R ar

  • Refer-Sub

2xx

  • Refer-Sub

R

  • Referred-By

R

  • Reject-Contact

R ar

  • Replaces

R

  • Reply-To
slide-11
SLIDE 11

Expanded Table (5 / 6)

Request-Disposition R ar

  • Require

ar

  • c
  • c

c

  • c

c

  • c

c

  • c

Resource-Priority R amdr

  • Retry-After

404

  • Retry-After

413

  • Retry-After

480

  • Retry-After

486

  • Retry-After

500

  • Retry-After

503

  • Retry-After

600

  • Retry-After

603

  • Route

R adr c c c

  • c
  • c

c c c c c c c RSeq 1xx

  • Security-Client

R ard

  • Security-Server

421

  • Security-Server

494

  • Security-Verify

R ard

  • Server

r

  • Service-Route

2xx ar

  • Session-Expires

2xx ar

  • Session-Expires

R amr

  • SIP-ETag

2xx

  • m
  • SIP-If-Match

R

  • Subject

R

  • Subscription-State

R

  • m
  • Supported

2xx

  • m*
  • m*
slide-12
SLIDE 12

Expanded Table (6 / 6)

Supported R

  • m*
  • Target-Dialog

R

  • Timestamp
  • To

c r m m m m m m m m m m m m m m Trigger-Consent R

  • Unsupported

420

  • m
  • m
  • m

m

  • m
  • m

User-Agent

  • Via

R amr m m m m m m m m m m m m m m Via rc dr m m m m m m m m m m m m m m Warning r

  • WWW-Authenticate

401 ar

  • m
  • /m

m m m m m m m m m m WWW-Authenticate 407 ar

slide-13
SLIDE 13

Call for Consensus

  • 1. Produce an artifact stating that

documents defining new header fields and methods define semantics in prose, and will no longer extend Table 2

  • 2. Produce an RFC that defines new

procedures for adding elements to Table 2 as new header fields and methods are defined