Tech-
invite
3GPP
space
IETF
space
SIP
↠
Examples
Grammars
Presence
⇾
SIP
SIP‑URI
SIP Headers
SIP P‑Headers
SDP
Generic URI
ABNF Notation
Messages
Response Codes
Basic Rules
Common Rules
SIP basic rules
Section 25.1 of RFC 3261
alphanum
=
ALPHA
/
DIGIT
LHEX
=
DIGIT
/ %x61‑66
; lowercase a‑f
LWS
=
[ *
WSP
CRLF
] 1*
WSP
; linear whitespace
SWS
=
[
LWS
]
; sep whitespace
HCOLON
=
*(
SP
/
HTAB
) "
:
"
SWS
separators
=
"
(
" / "
)
" / "
<
" / "
>
" / "
@
" / "
,
" / "
;
" / "
:
" / "
\
" /
DQUOTE
/ "
/
" / "
[
" / "
]
" / "
?
" / "
=
" / "
{
" / "
}
" /
SP
/
HTAB
STAR
=
SWS
"
*
"
SWS
; asterisk
SLASH
=
SWS
"
/
"
SWS
; slash
EQUAL
=
SWS
"
=
"
SWS
; equal
LPAREN
=
SWS
"
(
"
SWS
; left parenthesis
RPAREN
=
SWS
"
)
"
SWS
; right parenthesis
LAQUOT
=
SWS
"
<
"
; left angle quote
RAQUOT
=
"
>
"
SWS
; right angle quote
COMMA
=
SWS
"
,
"
SWS
; comma
SEMI
=
SWS
"
;
"
SWS
; semicolon
COLON
=
SWS
"
:
"
SWS
; colon
LDQUOT
=
SWS
DQUOTE
; open double quotation mark
RDQUOT
=
DQUOTE
SWS
; close double quotation mark
token
=
1*(
alphanum
/ "
-
" / "
.
" / "
!
" / "
%
" / "
*
" / "
_
" / "
+
" / "
`
" / "
'
" / "
~
" )
quoted-string
=
SWS
DQUOTE
*(
qdtext
/
quoted‑pair
)
DQUOTE
qdtext
=
LWS
/ %x21 / %x23‑5B / %x5D‑7E /
UTF8‑NONASCII
quoted-pair
=
"
\
" ( %x00‑09 / %x0B‑0C / %x0E‑7F )
comment
=
LPAREN
*(
ctext
/
quoted‑pair
/
comment
)
RPAREN
ctext
=
%x21‑27 / %x2A‑5B / %x5D‑7E /
UTF8‑NONASCII
/
LWS
word
=
1*(
alphanum
/ "
-
" / "
.
" / "
!
" / "
%
" / "
*
" / "
_
" / "
+
" / "
`
" / "
'
" / "
~
" / "
(
" / "
)
" / "
<
" / "
>
" / "
:
" / "
\
" /
DQUOTE
/ "
/
" / "
[
" / "
]
" / "
?
" / "
{
" / "
}
" )
TEXT-UTF8-TRIM
=
1*
TEXT‑UTF8char
*( *
LWS
TEXT‑UTF8char
)
TEXT-UTF8char
=
%x21‑7E /
UTF8‑NONASCII
UTF8-NONASCII
=
%xC0-DF 1
UTF8‑CONT
/
%xE0-EF 2
UTF8‑CONT
/
%xF0-F7 3
UTF8‑CONT
/
%xF8-FB 4
UTF8‑CONT
/
%xFC-FD 5
UTF8‑CONT
UTF8-CONT
=
%x80-BF
escaped
=
"
%
"
HEXDIG
HEXDIG
mark
=
"
-
" / "
_
" / "
.
" / "
!
" / "
~
" / "
*
" / "
'
" / "
(
" / "
)
"
reserved
=
"
;
" / "
/
" / "
?
" / "
:
" / "
@
" / "
&
" / "
=
" / "
+
" / "
$
" / "
,
"
unreserved
=
alphanum
/
mark