This HTML version of the ABNF from file <draft-ietf-sip-rfc2543bis-00.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 <draft-ietf-sip-rfc2543bis-00.abnf> on Fri Aug 11 01:30:40 CDT 2000.
This document consists of:
The productions for the ABNF specification are provided below.
Rule Name | Production or Comment | |
---|---|---|
= | "sip:" [userinfo "@"] hostport url-parameters [headers] | |
= | [user | telephone-subscriber] [":" password] | |
= | *( unreserved | escaped | "&" | "=" | "+" | "$" | "," | ";" | "?" | "/" ) | |
= | <defined in [RFC2806]> | |
= | *( unreserved | escaped | "&" | "=" | "+" | "$" | "," ) | |
= | host [":" port] | |
= | hostname | IPv4address | IPv6reference | |
= | *( domainlabel "." ) toplabel ["."] | |
= | alphanum | alphanum *( alphanum | "-" ) alphanum | |
= | alpha | alpha *( alphanum | "-" ) alphanum | |
= | 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT | |
= | "[" IPv6address "]" | |
= | hexpart [":" IPv4address] | |
= | hexseq | hexseq "::" [hexseq] | "::" [hexseq] | |
= | hex4 *( ":" hex4 ) | |
= | 1*4HEX | |
= | 1*DIGIT | |
= | *( ";" url-parameter ) | |
= | transport-param | user-param | method-param | ttl-param | maddr-param | other-param | |
= | "transport=" ( "udp" | "tcp" | "sctp" | "tls" | other-transport ) | |
= | token | |
= | "ttl=" ttl | |
= |
1*3DIGIT ; 0 to 255
|
|
= | "maddr=" host | |
= | "user=" ( "phone" | "ip" | other-user ) | |
= | token | |
= | "method=" Method | |
= | "tag=" UUID | |
= | 1*( HEX | "-" ) | |
= | pname ["=" pvalue] | |
= | 1*paramchar | |
= | 1*paramchar | |
= | param-reserved | unreserved | escaped | |
= | "[" | "]" | "/" | "?" | ":" | "@" | "&" | "+" | "$" | |
= | "?" header *( "&" header ) | |
= | hname "=" hvalue | |
= | 1*( hnv-unreserved | unreserved | escaped ) | |
= | *( hnv-unreserved | unreserved | escaped ) | |
= | "[" | "]" | "/" | "?" | ":" | "@" | "+" | "$" | |
= | <defined in [RFC2068]> | |
= | Request | Response | |
= | start-line *message-header CRLF [message-body] | |
= |
Request-Line | ; Section 4.1
Status-Line ; Section 5.1 |
|
= | ( general-header | request-header | response-header | entity-header ) | |
= | <defined in [RFC2068]> | |
= |
Request-Line ; Section 4.1
*( general-header | request-header | entity-header ) CRLF [message-body] ; Section 8 |
|
= | Method SP Request-URI SP SIP-version CRLF | |
= | SIP-URL | absoluteURI | |
= |
Accept ; Section 6.7
| Accept-Encoding ; Section 6.8 | Accept-Language ; Section 6.9 | Call-ID ; Section 6.13 | Contact ; Section 6.15 | CSeq ; Section 6.21 | Date ; Section 6.22 | Encryption ; Section 6.23 | From ; Section 6.25 | Organization ; Section 6.30 | Record-Route ; Section 6.35 | Require ; Section 6.36 | Supported ; Section 6.42 | Timestamp ; Section 6.43 | To ; Section 6.44 | User-Agent ; Section 6.46 | Via ; Section 6.47 |
|
= |
Allow ; Section 6.11
| Content-Disposition ; Section 6.16 | Content-Encoding ; Section 6.17 | Content-Language ; Section 6.18 | Content-Length ; Section 6.19 | Content-Type ; Section 6.20 | Expires ; Section 6.24 |
|
= |
Authorization ; Section 6.12
| Hide ; Section 6.26 | In-Reply-To ; Section 6.27 | Max-Forwards ; Section 6.28 | Priority ; Section 6.31 | Proxy-Authorization ; Section 6.33 | Proxy-Require ; Section 6.34 | Route ; Section 6.39 | Response-Key ; Section 6.37 | Subject ; Section 6.41 |
|
= |
Proxy-Authenticate ; Section 6.32
| Retry-After ; Section 6.38 | Server ; Section 6.40 | Unsupported ; Section 6.45 | Warning ; Section 6.48 | WWW-Authenticate ; Section 6.49 |
|
= | "INVITE" | "ACK" | "OPTIONS" | "BYE" | "CANCEL" | "REGISTER" | extension-method | |
= | token | |
= | token | |
= |
Status-Line ; Section 5.1
*( general-header | response-header | entity-header ) CRLF [message-body] ; Section 8 |
|
= | SIP-version SP Status-Code SP Reason-Phrase CRLF | |
= |
"SIP/2.1" ; I'm guessing...
|
|
= |
Informational ;Fig. 4
| Success ;Fig. 4 | Redirection ;Fig. 5 | Client-Error ;Fig. 6 | Server-Error ;Fig. 7 | Global-Failure ;Fig. 8 | extension-code |
|
= | 3DIGIT | |
= | *<TEXT-UTF8, excluding CR, LF> | |
= |
"100" ; Trying
| "180" ; Ringing | "181" ; Call Is Being Forwarded | "182" ; Queued | "183" ; Session Progress |
|
= |
"200" ; OK
|
|
= |
"300" ; Multiple Choices
| "301" ; Moved Permanently | "302" ; Moved Temporarily | "305" ; Use Proxy | "380" ; Alternative Service |
|
= |
"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 | "487" ; Request Cancelled | "488" ; Not Acceptable Here |
|
= |
"500" ; Internal Server Error
| "501" ; Not Implemented | "502" ; Bad Gateway | "503" ; Service Unavailable | "504" ; Gateway Time-out | "505" ; SIP Version not supported |
|
= |
"600" ; Busy Everywhere
| "603" ; Decline | "604" ; Does not exist anywhere | "606" ; Not Acceptable |
|
= | field-name ":" [field-value] CRLF | |
= | token | |
= | *( field-content | LWS ) | |
= | < the OCTETs making up the field-value and consisting of either *TEXT-UTF8 or combinations of token, separators, and quoted-string> | |
= | <defined in [RFC2068]> | |
= | <defined in [RFC2068]> | |
= | <defined in [RFC2068]> | |
= | "Alert-Info" ":" #( "<" URI ">" *( ";" generic-param ) ) | |
= | "Allow" ":" 1#Method | |
= | token ["@" token] | |
= | ( "Call-ID" | "i" ) ":" callid | |
= | "Call-Info" ":" #( "<" URI ">" [";" "purpose" "=" ( "icon" | "info" | "card" | token )] *( ";" generic-param ) ) | |
= | ( "Contact" | "m" ) ":" ( "*" | ( 1#( ( name-addr | addr-spec ) *( ";" contact-params ) ) ) ) | |
= | [display-name] "<" addr-spec ">" | |
= | SIP-URL | URI | |
= | *token | quoted-string | |
= | "q" "=" qvalue | "action" "=" "proxy" | "redirect" | "expires" "=" delta-seconds | DQUOTE SIP-date DQUOTE | contact-extension | |
= | <defined in [RFC2068]> | |
= | generic-param | |
= | "Content-Disposition" ":" disposition-type *( ";" disposition-parm ) | |
= | "render" | "session" | extension-token | |
= | handling-parm | parameter | |
= | <defined in [RFC2068]> | |
= | "handling" "=" ( "optional" | "required" | other-handling ) | |
= | token | |
= | ( "Content-Encoding" | "e" ) ":" | |
= | <defined in [RFC2068]> | |
= | ( "Content-Length" | "l" ) ":" 1*DIGIT | |
= | ( "Content-Type" | "c" ) ":" media-type | |
= | <defined in [RFC2068]> | |
= | "CSeq" ":" 1*DIGIT Method | |
= | "Date" ":" SIP-date | |
= | rfc1123-date | |
= | <defined in [RFC2068]> | |
= | "Encryption" ":" encryption-scheme 1*SP #encryption-params | |
= | token | |
= | generic-param | |
= | token ["=" ( token | quoted-string )] | |
= | "Expires" ":" ( SIP-date | delta-seconds ) | |
= | ( "From" | "f" ) ":" ( name-addr | addr-spec ) [";" tag-param] *( ";" addr-extension ) | |
= | "tag=" token | |
= | generic-param | |
= | "Hide" ":" ( "route" | "hop" | other-hide ) | |
= | token | |
= | "In-Reply-To" ":" 1#callid | |
= | "Max-Forwards" ":" 1*DIGIT | |
= | "Organization" ":" TEXT-UTF8-TRIM | |
= | "Priority" ":" priority-value | |
= | "emergency" | "urgent" | "normal" | "non-urgent" | other-priority | |
= | token | |
= | <defined in [RFC2068]> | |
= | <defined in [RFC2068]> | |
= | "Record-Route" ":" 1#name-addr [rr-extension] | |
= | token ["=" ( token | quoted-string )] | |
= | "Require" ":" 1#option-tag | |
= | "Response-Key" ":" key-scheme 1*SP #key-param | |
= | token | |
= | generic-param | |
= | "Retry-After" ":" ( SIP-date | delta-seconds ) [comment] [";" "duration" "=" delta-seconds] | |
= | "Route" ":" 1#name-addr [route-extension] | |
= | generic-param | |
= | <defined in [RFC2068]> | |
= | ( "Subject" | "s" ) ":" TEXT-UTF8-TRIM | |
= | ( "Supported" | "k" ) ":" 1#option-tag | |
= | "Timestamp" ":" *( DIGIT ) ["." *( DIGIT )] [delay] | |
= | *( DIGIT ) ["." *( DIGIT )] | |
= | ( "To" | "t" ) ":" ( name-addr | addr-spec ) [";" tag-param] *( ";" addr-extension ) | |
= | "Unsupported" ":" 1#option-tag | |
= | <defined in [RFC2068]> | |
= | ( "Via" | "v" ) ":" 1#( sent-protocol sent-by *( ";" via-params ) [comment] ) | |
= | via-hidden | via-ttl | via-maddr | via-received | via-branch | via-extension | |
= | "hidden" | |
= | "ttl" "=" ttl | |
= | "maddr" "=" maddr | |
= | "received" "=" host [":" port] | |
= | "branch" "=" token | |
= | token ["=" ( token | quoted-string )] | |
= | protocol-name "/" protocol-version "/" transport | |
= | "SIP" | token | |
= | token | |
= | "UDP" | "TCP" | token | |
= | ( host [":" port] ) | ( concealed-host ) | |
= | token | |
= |
1*3DIGIT ; 0 to 255
|
|
= | "Warning" ":" 1#warning-value | |
= | warn-code SP warn-agent SP warn-text | |
= | 3DIGIT | |
= |
( host [":" port] ) | pseudonym ; the name or pseudonym of the server adding
; the Warning header, for use in debugging |
|
= | <defined in [RFC2068]> | |
= | quoted-string | |
= | SIP-URL | |
= |
Request-URI ; as defined in Section 4.3
|
|
= | "WWW-Authenticate" ":" "pgp" pgp-challenge | |
= | #pgp-params | |
= | realm | pgp-version | pgp-micalgorithm | pgp-pubalgorithm | nonce | |
= | "realm" "=" realm-value | |
= | quoted-string | |
= | "version" "=" DQUOTE DIGIT *( "." DIGIT ) *letter DQUOTE | |
= | "algorithm" "=" ( "md5" | "sha1" | token | "ripemd160" | "MD2" | "TIGER192" | "HAVAL-5-160" ) | |
= | "pubkey" "=" ( "rsa" | "rsa-encrypt" | "rsa-sign" | "elgamal" | "dsa" | token ) | |
= | "nonce" "=" nonce-value | |
= | quoted-string | |
= | "Authorization" ":" "pgp" #pgp-response | |
= | realm | pgp-version | pgp-signature | signed-by | nonce | |
= | "signature" "=" quoted-string | |
= | "signed-by" "=" DQUOTE URI DQUOTE | |
= | "Encryption" ":" "pgp" pgp-eparams | |
= | 1#( pgp-version | pgp-encoding ) | |
= | "encoding" "=" "ascii" | token | |
= | "Response-Key" ":" "pgp" pgp-eparams | |
= | 1#( pgp-version | pgp-encoding | pgp-key ) | |
= | "key" "=" quoted-string | |
= | ( CR CR ) | ( LF LF ) | ( CR LF CR LF ) | |
= |
%x00-FF ; any 8-bit sequence of data
|
|
= |
%x00-7F ; any US-ASCII character (octets 0 - 127)
|
|
= | "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" | |
= | "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 | upalpha | |
= | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | |
= | alpha | DIGIT | |
= |
%x00-1F | %x7F ; (octets 0 -- 31) and DEL (127)
|
|
= |
%d13 ; US-ASCII CR, carriage return character
|
|
= |
%d10 ; US-ASCII LF, line feed character
|
|
= |
%d32 ; US-ASCII SP, space character
|
|
= |
%d09 ; US-ASCII HT, horizontal tab character
|
|
= |
CR LF ; typically the end of a line
|
|
= | alphanum | mark | |
= | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" | |
= | "%" HEX HEX | |
= |
[CRLF] 1*( SP | HT ) ; linear whitespace
|
|
= | *( TEXT-UTF8char | LWS ) | |
= | *TEXT-UTF8char *( *LWS TEXT-UTF8char ) | |
= | %x21-7E | UTF8-NONASCII | |
= | %xC0-DF 1UTF8-CONT | %xE0-EF 2UTF8-CONT | %xF0-F7 3UTF8-CONT | %xF8-FB 4UTF8-CONT | %xFC-FD 5UTF8-CONT | |
= | %x80-BF | |
= | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT | |
= | 1*( alphanum | "-" | "." | "!" | "%" | "*" | "_" | "+" | "`" | "'" | "~" ) | |
= | "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | DQUOTE | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT | |
= | "(" *( ctext | quoted-pair | comment ) ")" | |
= | < any TEXT-UTF8 excluding "(" and ")"> | |
= | ( DQUOTE *( qdtext | quoted-pair ) DQUOTE ) | |
= | LWS | %x21 | %x23-5B | %x5D-7E | UTF8-NONASCII | |
= | " \ " CHAR | |
= | <defined in [RFC2234]> | |
= | <defined in [RFC2068]> |
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.
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.
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.