HTML Version of ABNF for <rfc2543.abnf>

This HTML version of the ABNF from file <rfc2543.abnf> is automatically generated using the ABNF2HTML $Revision: 1.26 $ tool provided by Inet Technologies, Inc. written by Brian Bidulock.

This version of ABNF is for informational purposes only and is intended as a tool to help read the ABNF specification. Please see the Copyright and Disclaimers at the end of this document. For definitive syntax descriptions, please refer to the source IETF documents.

The protocol syntax is presented in ABNF according to RFC2234 with extensions from RFC822. This ABNF browser was generated from file <rfc2543.abnf> on Fri Aug 11 01:30:52 CDT 2000.

This document consists of:

ABNF Specification

The productions for the ABNF specification are provided below.

ABNF Productions
Rule NameProduction or Comment

SIP-message

= Request | Response

Request

= Request-Line *( general-header | request-header | entity-header ) double-return [message-body]  ; Note - each header ends with a return and the end of headers is a double return. For line folding, the folded header must begin with 1*( SP | HT )

message-body

= <Note: This is typically SDP>

Request-Line

= Method SP Request-URI SP SIP-Version return

Request-URI

= <defined in [RFC2068]>

URI

= <defined in [RFC2068]>

SIP-URL

= "sip:" [userinfo "@"] hostport url-parameters [headers]

userinfo

= user [":" password]

user

= *( unreserved | escaped | "&" | "=" | "+" | "$" | "," )

password

= *( unreserved | escaped | "&" | "=" | "+" | "$" | "," )

hostport

= host [":" port]

host

= hostname | IPv4address

hostname

= *( domainlabel "." ) toplabel ["."]

domainlabel

= alphanum | alphanum *( alphanum | "-" ) alphanum

toplabel

= alpha | alpha *( alphanum | "-" ) alphanum

IPv4address

= 1*digit "." 1*digit "." 1*digit "." 1*digit

port

= *digit  ; empty port field is allowed

url-parameters

= *( ";" url-parameter )

url-parameter

= transport-param | user-param | method-param | ttl-param | maddr-param | other-param

transport-param

= "transport=" ( "udp" | "tcp" )

ttl-param

= "ttl=" ttl

ttl

= 1*3DIGIT  ; 0 to 255

maddr-param

= "maddr=" host

user-param

= "user=" ( "phone" | "ip" )

method-param

= "method=" Method

tag-param

= "tag=" UUID

UUID

= 1*( hex | "-" )

other-param

= ( token | ( token "=" ( token | quoted-string ) ) )

headers

= "?" header *( "&" header )

header

= hname "=" hvalue

hname

= 1*uric

hvalue

= *uric

uric

= reserved | unreserved | escaped

reserved

= ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

digits

= 1*DIGIT

telephone-subscriber

= global-phone-number | local-phone-number

global-phone-number

= "+" 1*phonedigit [isdn-subaddress] [post-dial]

local-phone-number

= 1*( phonedigit | dtmf-digit | pause-character ) [isdn-subaddress] [post-dial]

isdn-subaddress

= ";isub=" 1*phonedigit

post-dial

= ";postd=" 1*( phonedigit | dtmf-digit | pause-character )

phonedigit

= DIGIT | visual-separator

visual-separator

= "-" | "."

pause-character

= one-second-pause | wait-for-dial-tone

one-second-pause

= "p"

wait-for-dial-tone

= "w"

dtmf-digit

= "*" | "#" | "A" | "B" | "C" | "D"

general-header

= Accept | Accept-Encoding | Accept-Language | Call-ID | Contact | CSeq | Date | Encryption | Expires | From | Record-Route | Timestamp | To | Via

entity-header

= Content-Encoding | Content-Length | Content-Type

request-header

= Authorization | Contact | Hide | Max-Forwards | Organization | Priority | Proxy-Authorization | Proxy-Require | Route | Require | Response-Key | Subject | User-Agent | WWW-Authenticate

response-header

= Allow | Authorization | Proxy-Authenticate | Retry-After | Server | Unsupported | Warning | WWW-Authenticate

Method

= "INVITE" | "ACK" | "OPTIONS" | "BYE" | "CANCEL" | "REGISTER"

Accept

= "Accept" ":" #( media-range [accept-params] )

media-range

= ( "*/*" | ( type "/" "*" ) | ( type "/" subtype ) ) *( ";" parameter )

parameter

= attribute "=" value

attribute

= token

value

= token | quoted-string

accept-params

= ";" "q" "=" qvalue *( accept-extension )

accept-extension

= ";" token ["=" ( token | quoted-string )]

Accept-Encoding

= "Accept-Encoding" ":" 1#( content-coding )

codings

= ( content-coding | "*" )

content-coding

= token

Accept-Language

= "Accept-Language" ":" 1#( language-range [";" "q" "=" qvalue] )

language-range

= ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )

Proxy-Authorization

= "Proxy-Authorization" ":" credentials

Proxy-Authenticate

= "Proxy-Authenticate" ":" 1#challenge

User-Agent

= "User-Agent" ":" 1*( product | comment )

Server

= "Server" ":" 1*( product | comment )

Response

= Status-Line *( general-header | response-header | entity-header ) double-return [message-body]  ; Note - each header ends with a return and the end of headers is a double return. For line folding, the folded header must begin with 1*( SP | HT )

Status-Line

= SIP-version SP Status-Code SP Reason-Phrase

SIP-version

= "SIP/2.0"

Status-Code

= Informational | Success | Redirection | Client-Error | Server-Error | Global-Failure | extension-code

extension-code

= 3DIGIT

Reason-Phrase

= *<TEXT-UTF8, excluding CR, LF >

Informational

= "100"  ; Trying
| "180"  ; Ringing
| "181"  ; Call Is Being Forwarded
| "182"  ; Queued

Success

= "200"  ; OK

Redirection

= "300"  ; Multiple Choices
| "301"  ; Moved Permanently
| "302"  ; Moved Temporarily
| "303"  ; See Other
| "305"  ; Use Proxy
| "380"  ; Alternative Service

Client-Error

= "400"  ; Bad Request
| "401"  ; Unauthorized
| "402"  ; Payment Required
| "403"  ; Forbidden
| "404"  ; Not Found
| "405"  ; Method Not Allowed
| "406"  ; Not Acceptable
| "407"  ; Proxy Authentication Required
| "408"  ; Request Timeout
| "409"  ; Conflict
| "410"  ; Gone
| "411"  ; Length Required
| "413"  ; Request Entity Too Large
| "414"  ; Request-URI Too Large
| "415"  ; Unsupported Media Type
| "420"  ; Bad Extension
| "480"  ; Temporarily not available
| "481"  ; Call Leg/Transaction Does Not Exist
| "482"  ; Loop Detected
| "483"  ; Too Many Hops
| "484"  ; Address Incomplete
| "485"  ; Ambiguous
| "486"  ; Busy Here

Server-Error

= "500"  ; Internal Server Error
| "501"  ; Not Implemented
| "502"  ; Bad Gateway
| "503"  ; Service Unavailable
| "504"  ; Gateway Time-out
| "505"  ; SIP Version not supported

Global-Failure

= "600"  ; Busy Everywhere
| "603"  ; Decline
| "604"  ; Does not exist anywhere
| "606"  ; Not Acceptable

message-header

= field-name ":" [field-value] CRLF

field-name

= token

field-value

= *( field-content | LWS )

field-content

= <the OCTETs making up the field-value and consisting of either *TEXT-UTF8 or combinations of token, separators, and quoted-string >

Allow

= "Allow" ":" 1#Method

Call-ID

= ( "Call-ID" | "i" ) ":" token

local-id

= 1*uric

Contact

= ( "Contact" | "m" ) ":" ( "*" | ( 1#( ( name-addr | addr-spec ) [*( ";" contact-params )] [comment] ) ) )

name-addr

= [display-name] "<" addr-spec ">"

addr-spec

= SIP-URL | URI

display-name

= *token | quoted-string

contact-params

= "q" "=" qvalue | ( "action" "=" "proxy" | "redirect" ) | ( "expires" "=" delta-seconds | DQUOTE SIP-date DQUOTE ) | extension-attribute

extension-attribute

= extension-name ["=" extension-value]

Content-Encoding

= ( "Content-Encoding" | "e" ) ":" 1#content-coding

Content-Length

= ( "Content-Length" | "l" ) ":" 1*DIGIT

Content-Type

= ( "Content-Type" | "c" ) ":" media-type

media-type

= type "/" subtype *( ";" parameter )

type

= token

subtype

= token

CSeq

= "CSeq" ":" 1*DIGIT Method

Date

= "Date:" SIP-date

SIP-date

= rfc1123-date

Encryption

= "Encryption" ":" encryption-scheme 1*SP #encryption-params

encryption-scheme

= token

encryption-params

= token "=" ( token | quoted-string )

Expires

= "Expires" ":" ( SIP-date | delta-seconds )

From

= ( "From" | "f" ) ":" ( name-addr | addr-spec ) *( ";" addr-params ) *( ";" extension-params )

addr-params

= tag-param

tag-param

= "tag=" UUID

Hide

= "Hide" ":" ( "route" | "hop" )

Max-Forwards

= "Max-Forwards" ":" 1*DIGIT

Organization

= "Organization" ":" *TEXT-UTF8

Priority

= "Priority" ":" priority-value

priority-value

= "emergency" | "urgent" | "normal" | "non-urgent"

Record-Route

= "Record-Route" ":" 1#name-addr

Require

= "Require" ":" 1#option-tag

Proxy-Require

= "Proxy-Require" ":" 1#option-tag

option-tag

= token

Response-Key

= "Response-Key" ":" key-scheme 1*SP #key-param

key-scheme

= token

key-param

= token "=" ( token | quoted-string )

Retry-After

= "Retry-After" ":" ( SIP-date | delta-seconds ) [comment] [";" "duration" "=" delta-seconds]

Route

= "Route" ":" 1#name-addr

Subject

= ( "Subject" | "s" ) ":" *TEXT-UTF8

Timestamp

= "Timestamp" ":" *( DIGIT ) ["." *( DIGIT )] [delay]

delay

= *( DIGIT ) ["." *( DIGIT )]

To

= ( "To" | "t" ) ":" ( name-addr | addr-spec ) *( ";" addr-params ) *( ";" extension-params )  ; Extension params are allowed in From to and Via

Unsupported

= "Unsupported" ":" 1#option-tag

Via

= ( "Via" | "v" ) ":" 1#( sent-protocol sent-by *( ";" via-params ) [comment] ) *( ";" extension-params )  ; Extension params are allowed in From to and Via

via-params

= via-hidden | via-ttl | via-maddr | via-received | via-branch

via-hidden

= "hidden"

via-ttl

= "ttl" "=" ttl

via-maddr

= "maddr" "=" maddr  ; Note: maddr not defined but it should be host

via-received

= "received" "=" host

via-branch

= "branch" "=" token

sent-protocol

= protocol-name "/" protocol-version "/" transport

protocol-name

= "SIP" | token

protocol-version

= token

transport

= "UDP" | "TCP" | token

sent-by

= ( host [":" port] ) | ( concealed-host )

concealed-host

= token

Warning

= "Warning" ":" 1#warning-value

warning-value

= warn-code SP warn-agent SP warn-text

warn-code

= 3DIGIT

warn-agent

= ( host [":" port] ) | pseudonym  ; the name or pseudonym of the server adding the Warning header, for use in debugging

pseudonym

= token

warn-text

= quoted-string

WWW-Authenticate

= "WWW-Authenticate" ":" 1#challenge

auth-scheme

= token

challenge

= auth-scheme 1*SP realm *( "," auth-param )

realm

= "realm" "=" realm-value

auth-param

= token "=" string

credentials

= basic-credentials | ( auth-scheme #( auth-params ) )

basic-credentials

= "Basic" SP basic-cookie

basic-cookie

= <encrypted string>

pgp-challenge

= *( pgp-params )

pgp-params

= realm | pgp-version | pgp-algorithm | nonce

realm

= "realm" "=" realm-value

realm-value

= quoted-string

pgp-version

= "version" "=" DQUOTE digit *( "." digit ) *letter DQUOTE

pgp-algorithm

= "algorithm" "=" ( "md5" | "sha1" | token )

nonce

= "nonce" "=" nonce-value

nonce-value

= quoted-string

Authorization

= "Authorization" ":" credentials

pgp-response

= realm | pgp-version | pgp-signature | signed-by | nonce

pgp-signature

= "signature" "=" quoted-string

signed-by

= "signed-by" "=" DQUOTE URI DQUOTE

pgp-eparams

= 1#( pgp-version | pgp-encoding | pgp-key )

pgp-encoding

= "encoding" "=" "ascii" | token

pgp-key

= "key" "=" quoted-string

OCTET

= %x00-FF  ; any 8-bit sequence of data

CHAR

= %x00-7F  ; any US-ASCII character (octets 0 - 127)

upalpha

= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"

lowalpha

= "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"

alpha

= lowalpha | upalpha

digit

= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

alphanum

= alpha | digit

CTL

= %x00-1F | %x7F  ; any US-ASCII control character (octets 0 -- 31) and DEL (127)

CR

= %d13  ; US-ASCII CR, carriage return character

LF

= %d10  ; US-ASCII LF, line feed character

SP

= %d32  ; US-ASCII SP, space character

HT

= %d09  ; US-ASCII HT, horizontal tab character

return

= CR | LF | CRLF  ; typically the end of a line

unreserved

= alphanum | mark

double-return

= ( CR CR ) | ( LF LF ) | ( CR LF CR LF )

mark

= "-" | "_" | "." | "!" | "~" | "*" | " ' " | "(" | ")"

escaped

= "%" hex hex

LWS

= [CRLF] 1*( SP | HT )  ; linear whitespace

TEXT-UTF8

= <any UTF-8 character encoding, except CTLs, but including LWS>

hex

= "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | digit

token

= 1*( alphanum | "-" | "." | "$" | "%" | "*" | "_" | "+" | "~" | "`" | "'" )

separators

= "(" | ")" | "<" | "" | "@" | "," | ";" | ":" | "\" | "<" | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT

comment

= "(" *( ctext | quoted-pair | comment ) ")"

ctext

= <anyTEXT-UTF8 excluding "(" and ")" >

quoted-string

= ( DQUOTE *( qdtext | quoted-pair ) DQUOTE )

qdtext

= <anyTEXT-UTF8 except '"' >

quoted-pair

= "\" CHAR

delta-seconds

= 1*DIGIT  ; This is not spec. in 2543 and no reference is given (its in H.3.3.2)

qvalue

= ( "0" ["." 0*3DIGIT] ) | ( "1" ["." 0*3( "0" )] )

URI-reference

= ( [absoluteURI | relativeURI] ["#" fragment] ) | ( sip-url )  ; According to 2453:4.3 - ReqURI is SIPUri (without certain tokens) or GeneralURI

absoluteURI

= scheme ":" ( hier-part | opaque-part )

relativeURI

= ( net-path | abs-path | rel-path ) ["?" query]

hier-part

= ( net-path | abs-path ) ["?" query]

opaque-part

= uric-no-slash *uric

uric-no-slash

= unreserved | escaped | ";" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

net-path

= "//" authority [abs-path]

abs-path

= "/" path-segments

rel-path

= rel-segment [abs-path]

rel-segment

= 1*( unreserved | escaped | ";" | "@" | "&" | "=" | "+" | "$" | "," )

scheme

= alpha *( alpha | digit | "+" | "-" | "." )

authority

= server-H | reg-name

reg-name

= 1*( unreserved | escaped | "$" | "," | ";" | ":" | "@" | "&" | "=" | "+" )

server-H

= [[userinfo-H "@"] hostport]

userinfo-H

= *( unreserved | escaped | ";" | ":" | "&" | "=" | "+" | "$" | "," )

path

= [abs-path | opaque-part]

path-segments

= segment *( "/" segment )

segment

= *pchar *( ";" param )

param

= *pchar

pchar

= unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","

query

= *uric

fragment

= *uric

product

= token ["/" product-version]

product-version

= token

rfc1123-date

= wkday "," SP date1 SP time SP "GMT"

date1

= 2DIGIT SP month SP 4DIGIT  ; day month year (e.g., 02 Jun 1982)

time

= 2DIGIT ":" 2DIGIT ":" 2DIGIT  ; 00:00:00 - 23:59:59

wkday

= "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun"

month

= "Jan" | "Feb" | "Mar" | "Apr" | "May" | "Jun" | "Jul" | "Aug" | "Sep" | "Oct" | "Nov" | "Dec"

announcement

= proto-version origin-field session-name-field information-field uri-field email-fields phone-fields connection-field bandwidth-fields time-fields key-field attribute-fields media-descriptions

proto-version

= "v=" 1*DIGIT return  ;this memo describes version 0

origin-field

= "o=" username space sess-id space sess-version space nettype space addrtype space addr return

session-name-field

= "s=" text return

information-field

= ["i=" text return]

uri-field

= ["u=" uri return]

email-fields

= *( "e=" email-address return )

phone-fields

= *( "p=" phone-number return )

connection-field

= ["c=" nettype space addrtype space connection-address return]  ;a connection field must be present
  ;in every media description or at the
  ;session-level

bandwidth-fields

= *( "b=" bwtype ":" bandwidth return )

time-fields

= 1*( "t=" start-time space stop-time *( return repeat-fields ) return ) [zone-adjustments return]

repeat-fields

= "r=" repeat-interval space typed-time 1*( space typed-time )

zone-adjustments

= time space ["-"] typed-time *( space time space ["-"] typed-time )

key-field

= ["k=" key-type return]

key-type

= "prompt" | "clear:" key-data | "base64:" key-data | "uri:" uri

key-data

= email-safe | "~" | %x22

attribute-fields

= *( "a=" attribute return )

media-field

= "m=" media space port ["/" integer] space proto 1*( space fmt ) return

media-descriptions

= *( media-field information-field *( connection-field ) bandwidth-fields key-field attribute-fields )

media

= 1*( alpha-numeric )  ;typically "audio", "video", "application" ;or "data"

fmt

= 1*( alpha-numeric )  ;typically an RTP payload type for audio
  ;and video media

proto

= 1*( alpha-numeric )  ;typically "RTP/AVP" or "udp" for IP4

port

= 1*( DIGIT )  ;should in the range "1024" to "65535" inclusive
  ;for UDP based media

attribute

= ( att-field ":" att-value ) | att-field

att-field

= 1*( alpha-numeric )

att-value

= byte-string

sess-id

= 1*( DIGIT )  ;should be unique for this originating username/host

sess-version

= 1*( DIGIT )  ;0 is a new session

connection-address

= multicast-address | addr

multicast-address

= 3*( decimal-uchar "." ) decimal-uchar "/" ttl ["/" integer]  ;multicast addresses may be in the range
  ;224.0.0.0 to 239.255.255.255

start-time

= time | "0"

stop-time

= time | "0"

time

= POS-DIGIT 9*( DIGIT )  ;sufficient for 2 more centuries

repeat-interval

= typed-time

typed-time

= 1*( DIGIT ) [fixed-len-time-unit]

fixed-len-time-unit

= "d" | "h" | "m" | "s"

bwtype

= 1*( alpha-numeric )

bandwidth

= 1*( DIGIT )

username

= safe  ;pretty wide definition, but doesn't include space

email-address

= email | email "(" email-safe ")" | email-safe "<" email ">"

email

= <defined in RFC822>

phone-number

= phone | phone "(" email-safe ")" | email-safe "<" phone ">"

phone

= "+" POS-DIGIT 1*( space | "-" | DIGIT )  ;there must be a space or hyphen between the
  ;international code and the rest of the number.

nettype

= "IN"  ;list to be extended

addrtype

= "IP4" | "IP6"  ;list to be extended

addr

= FQDN | unicast-address

FQDN

= 4*( alpha-numeric | "-" | "." )  ;fully qualified domain name as specified in RFC1035

unicast-address

= IP4-address | IP6-address

IP4-address

= b1 "." decimal-uchar "." decimal-uchar "." b4

b1

= decimal-uchar  ;less than "224"; not "0" or "127"

b4

= decimal-uchar  ;not "0"

IP6-address

= <to be defined>

text

= byte-string  ;default is to interpret this as I0-10646 UTF8
  ;ISO 8859-1 requires a "a=charset:ISO-8859-1"
  ;session-level attribute to be used

byte-string

= 1*( %x01-09 | %x0B | %x0C | %x0E-FF )  ;any byte except NUL, CR or LF

decimal-uchar

= DIGIT | POS-DIGIT DIGIT | ( "1" 2*( DIGIT ) ) | ( "2" ( "0" | "1" | "2" | "3" | "4" ) DIGIT ) | ( "2" "5" ( "0" | "1" | "2" | "3" | "4" | "5" ) )

integer

= POS-DIGIT *( DIGIT )

POS-DIGIT

= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

email-safe

= safe | space | tab

safe

= alpha-numeric | "'" | "'" | "-" | "." | "/" | ":" | "?" | %x22 | "#" | "$" | "&" | "*" | ";" | "=" | "@" | "[" | "]" | "^" | "_" | "`" | "{" | "|" | "}" | "+" | "~" | "<"

space

= SP

tab

= HT

CRLF

= <defined in [RFC2234]>

DQUOTE

= <defined in [RFC2234]>

Symbol Cross Reference List

Following is a cross-reference list for the ABNF. On the left are references to productions, on the right are links to the rules in which those productions are referenced.

Symbol Cross-Reference Table
ReferenceProductions which Reference this Symbol
ALPHA language-range, language-range
Accept general-header
Accept-Encoding general-header
Accept-Language general-header
Allow response-header
Authorization request-header, response-header
CHAR quoted-pair
CR return, double-return, double-return, double-return, double-return
CRLF message-header, return, LWS
CSeq general-header
Call-ID general-header
Client-Error Status-Code
Contact general-header, request-header
Content-Encoding entity-header
Content-Length entity-header
Content-Type entity-header
DIGIT ttl, digits, phonedigit, extension-code, Content-Length, CSeq, Max-Forwards, Timestamp, Timestamp, delay, delay, warn-code, delta-seconds, qvalue, date1, date1, time, time, time, proto-version, port, sess-id, sess-version, time, typed-time, bandwidth, phone, decimal-uchar, decimal-uchar, decimal-uchar, decimal-uchar, integer
DQUOTE contact-params, contact-params, pgp-version, pgp-version, signed-by, signed-by, quoted-string, quoted-string
Date general-header
Encryption general-header
Expires general-header
FQDN addr
From general-header
Global-Failure Status-Code
HT LWS, separators, tab
Hide request-header
IP4-address unicast-address
IP6-address unicast-address
IPv4address host
Informational Status-Code
LF return, double-return, double-return, double-return, double-return
LWS field-value
Max-Forwards request-header
Method Request-Line, method-param, Allow, CSeq
Organization request-header
POS-DIGIT time, phone, decimal-uchar, integer
Priority request-header
Proxy-Authenticate response-header
Proxy-Authorization request-header
Proxy-Require request-header
Reason-Phrase Status-Line
Record-Route general-header
Redirection Status-Code
Request SIP-message
Request-Line Request
Request-URI Request-Line
Require request-header
Response SIP-message
Response-Key request-header
Retry-After response-header
Route request-header
SIP-URL addr-spec
SIP-Version Request-Line
SIP-date contact-params, Date, Expires, Retry-After
SIP-version Status-Line
SP Request-Line, Request-Line, Status-Line, Status-Line, Encryption, Response-Key, warning-value, warning-value, challenge, basic-credentials, LWS, separators, rfc1123-date, rfc1123-date, rfc1123-date, date1, date1, space
Server response-header
Server-Error Status-Code
Status-Code Status-Line
Status-Line Response
Subject request-header
Success Status-Code
TEXT-UTF8 Organization, Subject
Timestamp general-header
To general-header
URI addr-spec, signed-by
UUID tag-param, tag-param
Unsupported response-header
User-Agent request-header
Via general-header
WWW-Authenticate request-header, response-header
Warning response-header
abs-path relativeURI, hier-part, net-path, rel-path, path
absoluteURI URI-reference
accept-extension accept-params
accept-params Accept
addr origin-field, connection-address
addr-params From, To
addr-spec Contact, name-addr, From, To
addrtype origin-field, connection-field
alpha toplabel, toplabel, alphanum, scheme, scheme
alpha-numeric media, fmt, proto, att-field, bwtype, FQDN, safe
alphanum domainlabel, domainlabel, domainlabel, domainlabel, toplabel, toplabel, unreserved, token
att-field attribute, attribute
att-value attribute
attribute parameter, attribute-fields
attribute-fields announcement, media-descriptions
auth-param challenge
auth-params credentials
auth-scheme challenge, credentials
authority net-path
b1 IP4-address
b4 IP4-address
bandwidth bandwidth-fields
bandwidth-fields announcement, media-descriptions
basic-cookie basic-credentials
basic-credentials credentials
bwtype bandwidth-fields
byte-string att-value, text
challenge Proxy-Authenticate, WWW-Authenticate
comment User-Agent, Server, Contact, Retry-After, Via, comment
concealed-host sent-by
connection-address connection-field
connection-field announcement, media-descriptions
contact-params Contact
content-coding Accept-Encoding, codings, Content-Encoding
credentials Proxy-Authorization, Authorization
ctext comment
date1 rfc1123-date
decimal-uchar multicast-address, multicast-address, IP4-address, IP4-address, b1, b4
delay Timestamp
delta-seconds contact-params, Expires, Retry-After, Retry-After
digit IPv4address, IPv4address, IPv4address, IPv4address, port, pgp-version, pgp-version, alphanum, hex, scheme
display-name name-addr
domainlabel hostname
double-return Request, Response
dtmf-digit local-phone-number, post-dial
email email-address, email-address, email-address
email-address email-fields
email-fields announcement
email-safe key-data, email-address, email-address, phone-number, phone-number
encryption-params Encryption
encryption-scheme Encryption
entity-header Request, Response
escaped user, password, uric, uric-no-slash, rel-segment, reg-name, userinfo-H, pchar
extension-attribute contact-params
extension-code Status-Code
extension-name extension-attribute
extension-params From, To, Via
extension-value extension-attribute
field-content field-value
field-name message-header
field-value message-header
fixed-len-time-unit typed-time
fmt media-field
fragment URI-reference
general-header Request, Response
global-phone-number telephone-subscriber
header headers, headers
headers SIP-URL
hex UUID, escaped, escaped
hier-part absoluteURI
hname header
host hostport, maddr-param, via-received, sent-by, warn-agent
hostname host
hostport SIP-URL, server-H
hvalue header
information-field announcement, media-descriptions
integer media-field, multicast-address
isdn-subaddress global-phone-number, local-phone-number
key-data key-type, key-type
key-field announcement, media-descriptions
key-param Response-Key
key-scheme Response-Key
key-type key-field
language-range Accept-Language
letter pgp-version
local-phone-number telephone-subscriber
lowalpha alpha
maddr via-maddr
maddr-param url-parameter
mark unreserved
media media-field
media-descriptions announcement
media-field media-descriptions
media-range Accept
media-type Content-Type
message-body Request, Response
method-param url-parameter
month date1
multicast-address connection-address
name-addr Contact, From, Record-Route, Route, To
net-path relativeURI, hier-part
nettype origin-field, connection-field
nonce pgp-params, pgp-response
nonce-value nonce
one-second-pause pause-character
opaque-part absoluteURI, path
option-tag Require, Proxy-Require, Unsupported
origin-field announcement
other-param url-parameter
param segment
parameter media-range, media-type
password userinfo
path-segments abs-path
pause-character local-phone-number, post-dial
pchar segment, param
pgp-algorithm pgp-params
pgp-encoding pgp-eparams
pgp-key pgp-eparams
pgp-params pgp-challenge
pgp-signature pgp-response
pgp-version pgp-params, pgp-response, pgp-eparams
phone phone-number, phone-number, phone-number
phone-fields announcement
phone-number phone-fields
phonedigit global-phone-number, local-phone-number, isdn-subaddress, post-dial
port hostport, sent-by, warn-agent, media-field
post-dial global-phone-number, local-phone-number
priority-value Priority
product User-Agent, Server
product-version product
proto media-field
proto-version announcement
protocol-name sent-protocol
protocol-version sent-protocol
pseudonym warn-agent
qdtext quoted-string
query relativeURI, hier-part
quoted-pair comment, quoted-string
quoted-string other-param, value, accept-extension, display-name, encryption-params, key-param, warn-text, realm-value, nonce-value, pgp-signature, pgp-key
qvalue accept-params, Accept-Language, contact-params
realm challenge, pgp-params, pgp-response
realm-value realm, realm
reg-name authority
rel-path relativeURI
rel-segment rel-path
relativeURI URI-reference
repeat-fields time-fields
repeat-interval repeat-fields
request-header Request
reserved uric
response-header Response
return Request-Line, proto-version, origin-field, session-name-field, information-field, uri-field, email-fields, phone-fields, connection-field, bandwidth-fields, time-fields, time-fields, time-fields, key-field, attribute-fields, media-field
rfc1123-date SIP-date
safe username, email-safe
scheme absoluteURI
segment path-segments, path-segments
sent-by Via
sent-protocol Via
server-H authority
sess-id origin-field
sess-version origin-field
session-name-field announcement
signed-by pgp-response
sip-url URI-reference
space origin-field, origin-field, origin-field, origin-field, origin-field, connection-field, connection-field, time-fields, repeat-fields, repeat-fields, zone-adjustments, zone-adjustments, zone-adjustments, media-field, media-field, media-field, phone, email-safe
start-time time-fields
stop-time time-fields
string auth-param
subtype media-range, media-type
tab email-safe
tag-param addr-params
text session-name-field, information-field
time rfc1123-date, zone-adjustments, zone-adjustments, start-time, stop-time
time-fields announcement
token other-param, other-param, other-param, attribute, value, accept-extension, accept-extension, content-coding, field-name, Call-ID, display-name, type, subtype, encryption-scheme, encryption-params, encryption-params, option-tag, key-scheme, key-param, key-param, via-branch, protocol-name, protocol-version, transport, concealed-host, pseudonym, auth-scheme, auth-param, pgp-algorithm, pgp-encoding, product, product-version
toplabel hostname
transport sent-protocol
transport-param url-parameter
ttl ttl-param, via-ttl, multicast-address
ttl-param url-parameter
type media-range, media-range, media-type
typed-time repeat-fields, repeat-fields, zone-adjustments, zone-adjustments, repeat-interval
unicast-address addr
unreserved user, password, uric, uric-no-slash, rel-segment, reg-name, userinfo-H, pchar
upalpha alpha
uri uri-field, key-type
uri-field announcement
uric hname, hvalue, local-id, opaque-part, query, fragment
uric-no-slash opaque-part
url-parameter url-parameters
url-parameters SIP-URL
user userinfo
user-param url-parameter
userinfo SIP-URL
userinfo-H server-H
username origin-field
value parameter
via-branch via-params
via-hidden via-params
via-maddr via-params
via-params Via
via-received via-params
via-ttl via-params
visual-separator phonedigit
wait-for-dial-tone pause-character
warn-agent warning-value
warn-code warning-value
warn-text warning-value
warning-value Warning
wkday rfc1123-date
zone-adjustments time-fields

General Directions

Rule-Names

References

Copyright

This ABNF2HTML generated document is a derivative work of an Internet-Draft or RFC and is:

Copyright © The Internet Society (2000).
All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into language other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or asigns.

Disclaimers

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THIS INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Although the conversion program which created this document has been tested vigorously, errors may have been introduced while translating from ABNF to HTML: neither the author nor Inet Technologies, Inc. offers any warranty of fitness for any purpose whatsoever regarding the information contained herein, and shall not be held responsible for any damages whatsoever (whether indirect or special) arising from the use of this document or the information contained herein. Inet Technologies, Inc. is under no obligation to provide any feature nor conform to any specification listed in this document.