ABNF for SIP -- Header Fields
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Accept-Contact | = |
( "Accept-Contact" / "a" )
HCOLON ac-value
*(COMMA ac-value)
; examples:
;
Accept-Contact: *;audio;require
;
Accept-Contact: *;video;explicit
;
Accept-Contact: *;methods="BYE";class="business";q=1.0
|
| ac-value | = |
"*"
*(SEMI ac-params)
|
| ac-params | = |
feature-param
/ req-param
/ explicit-param
/ generic-param
|
| req-param | = |
"require"
|
| explicit-param | = |
"explicit"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Accept-Language | = |
"Accept-Language"
HCOLON
[ language
*(COMMA language) ]
; example:
;
Accept-Language: da, en-gb;q=0.8, en;q=0.7
|
| language | = |
language-range
*(SEMI accept-param)
|
| language-range | = |
( ( 1*8ALPHA *( "-"
1*8ALPHA ) ) / "*" )
|
|
|
|
|
|
|
|
| Accept-Resource-Priority | = |
"Accept-Resource-Priority"
HCOLON [r-value
*(COMMA r-value)]
; example:
;
Accept-Resource-Priority: dsn.flash-override,
;
dsn.flash, dsn.immediate, dsn.priority, dsn.routine
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Allow | = |
"Allow"
HCOLON
[Method
*(COMMA
Method)]
; example:
;
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Answer-Mode | = |
"Answer-Mode"
HCOLON answer-mode-value
*(SEMI answer-mode-param)
; example:
;
Answer-Mode: Manual
|
| answer-mode-value | = |
"Manual"
/ "Auto"
/ token
|
| answer-mode-param | = |
"require"
/ generic-param
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Authorization | = |
"Authorization"
HCOLON credentials
; example:
;
Authorization: Digest username="bob", realm="atlanta.example.com"
;
nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
;
uri="sips:ss2.biloxi.example.com",
;
response="dfe56131d1958046689d83306477ecc"
|
| credentials | = |
("Digest"
LWS
digest-response)
/ other-response
|
| digest-response | = |
dig-resp
*(COMMA dig-resp)
|
| dig-resp | = |
username
/ realm
/ nonce
/ digest-uri
/ dresponse
/ algorithm
/ cnonce
/ opaque
/ message-qop
/ nonce-count
/ auth-param
/ auts
|
| username | = |
"username"
EQUAL
username-value
|
| username-value | = |
quoted-string
|
| digest-uri | = |
"uri"
EQUAL
LDQUOT
digest-uri-value RDQUOT
|
| digest-uri-value | = |
request-uri
; equal to request-uri as specified by HTTP/1.1
|
| message-qop | = |
"qop"
EQUAL
qop-value
|
| cnonce | = |
"cnonce"
EQUAL
cnonce-value
|
| cnonce-value | = |
nonce-value
|
| nonce-count | = |
"nc"
EQUAL
nc-value
|
| nc-value | = |
8LHEX
|
| dresponse | = |
"response"
EQUAL
request-digest
|
| request-digest | = |
LDQUOT
32LHEX RDQUOT
|
| auth-param | = |
auth-param-name
EQUAL
( token
/ quoted-string )
|
| auth-param-name | = |
token
|
| other-response | = |
auth-scheme
LWS auth-param
*(COMMA auth-param)
|
| auth-scheme | = |
token
|
| auts | = |
"auts"
EQUAL
auts-param
|
| auts-param | = |
LDQUOT
auts-value RDQUOT
|
| auts-value | = |
<base64 encoding of AUTS>
|
|
|
|
|
|
|
|
| Call-ID | = |
( "Call-ID" / "i" )
HCOLON callid
; example:
;
Call-ID: 3848276298220188511@atlanta.example.com
|
|
|
|
|
|
|
|
| Call-Info | = |
"Call-Info"
HCOLON info
*(COMMA info)
; example:
;
Call-Info: <http://wwww.example.com/alice/photo.jpg> ;purpose=icon,
;
<http://www.example.com/alice/> ;purpose=info
|
| info | = |
LAQUOT
absoluteURI
RAQUOT
*( SEMI info-param )
|
| info-param | = |
( "purpose"
EQUAL
( "icon"
/ "info"
/ "card"
/ "list-management"
/ token ) )
/ generic-param
|
|
|
|
|
|
|
|
| Contact | = |
( "Contact" / "m" )
HCOLON
( STAR / (contact-param
*(COMMA
contact-param)))
; example:
;
Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
|
| contact-param | = |
(name-addr
/ addr-spec) *( SEMI
contact-params)
|
| contact-params | = |
c-p-q /
c-p-expires /
feature-param /
temp-gruu /
pub-gruu /
c-p-instance
/
contact-extension
|
| c-p-q | = |
"q" EQUAL
qvalue
|
| c-p-expires | = |
"expires" EQUAL
delta-seconds
; example:
;
Contact: "Mr. Watson" <sip:watson@worcester.bell-telephone.com>
;
;q=0.7; expires=3600,
;
"Mr. Watson" <mailto:watson@bell-telephone.com>
;
;q=0.1
|
| feature-param | = |
enc-feature-tag
[ EQUAL
LDQUOT
(tag-value-list
/ string-value)
RDQUOT ]
|
| enc-feature-tag | = |
base-tags
/ other-tags
|
| base-tags | = |
"audio"
/ "automata"
/ "class"
/ "duplex"
/ "data"
/ "control"
/ "mobility"
/ "description"
/ "events"
/ "priority"
/ "methods"
/ "schemes"
/ "application"
/ "video"
/ "language"
/ "type"
/ "isfocus"
/ "actor"
/ "text"
/ "extensions"
|
| other-tags | = |
"+"
ftag-name
|
| ftag-name | = |
ALPHA *( ALPHA / DIGIT / "!"
/ "'"
/ "."
/ "-"
/ "%" )
; e.g.
; "+sip.byeless" and "+sip.rendering" as defined in [RFC 4235]
; "+sip.message" as defined in [RFC 4569]
; "+sip.instance" as defined in [draft-ietf-sip-gruu]
|
| tag-value-list | = |
tag-value
*(","
tag-value)
|
| tag-value | = |
["!"]
(token-nobang
/ boolean
/ numeric)
|
| token-nobang | = |
1*( alphanum
/ "-"
/ "."
/ "%"
/ "*"
/ "_"
/ "+"
/ "`"
/ "'"
/ "~" )
|
| boolean | = |
"TRUE"
/ "FALSE"
|
| numeric | = |
"#"
numeric-relation number
|
| numeric-relation | = |
">="
/ "<="
/ "="
/ (number
":")
|
| number | = |
[ "+"
/ "-" ]
1*DIGIT ["." 0*DIGIT]
|
| string-value | = |
"<"
*(qdtext-no-abkt
/ quoted-pair ) ">"
|
| qdtext-no-abkt | = |
LWS
/ %x21 / %x23-3B / %x3D / %x3F-5B / %x5D-7E /
UTF8-NONASCII
|
| temp-gruu | = |
"temp-gruu"
EQUAL
LDQUOT
*( qdtext
/ quoted-pair
) RDQUOT
|
| pub-gruu | = |
"pub-gruu"
EQUAL
LDQUOT
*( qdtext
/ quoted-pair
) RDQUOT
|
| c-p-instance | = |
"+sip.instance"
EQUAL
LDQUOT
"<"
instance-val
">"
RDQUOT
|
| instance-val | = |
*uric
; UUID as defined in [RFC 4122]
|
| contact-extension | = |
generic-param
|
|
|
|
|
|
|
|
| Content-Disposition | = |
"Content-Disposition"
HCOLON disp-type
*( SEMI disp-param )
; example:
;
Content-Disposition: session;handling=optional
|
| disp-type | = |
"render"
/ "session"
/ "icon"
/ "alert"
/ "aib"
/ "early-session"
/ disp-extension-token
; "aib" is defined in [ RFC3893]
; "early-session" is defined in [ RFC3959]
|
| disp-param | = |
handling-param
/ generic-param
|
| handling-param | = |
"handling"
EQUAL
( "optional"
/ "required"
/ other-handling )
|
| other-handling | = |
token
|
| disp-extension-token | = |
token
|
|
|
|
|
|
|
|
| Content-Encoding | = |
( "Content-Encoding" / "e" )
HCOLON
content-coding
*(COMMA content-coding)
; example:
;
Content-Encoding: gzip
|
| content-coding | = |
token
|
|
|
|
|
|
|
|
| Content-Language | = |
"Content-Language"
HCOLON
language-tag
*(COMMA language-tag)
; example:
;
Content-Language: fr
|
| language-tag | = |
primary-tag
*( "-"
subtag )
|
| primary-tag | = |
1*8ALPHA
|
| subtag | = |
1*8ALPHA
|
|
|
|
|
|
|
|
| Content-Length | = |
( "Content-Length" / "l" )
HCOLON 1*DIGIT
; example:
;
Content-Length: 0
|
|
|
|
|
|
|
|
| Content-Type | = |
( "Content-Type" / "c" )
HCOLON media-type
; example:
;
Content-Type: application/sdp
|
| media-type | = |
m-type SLASH
m-subtype *( SEMI
m-parameter)
|
| m-type | = |
discrete-type /
composite-type
|
| discrete-type | = |
"text"
/ "image"
/ "audio"
/ "video"
/ "application"
/ extension-token
|
| composite-type | = |
"message"
/ "multipart"
/ extension-token
|
| extension-token | = |
ietf-token
/ x-token
|
| ietf-token | = |
token
|
| x-token | = |
"x-" token
|
| m-subtype | = |
extension-token /
iana-token
|
| iana-token | = |
token
|
| m-parameter | = |
m-attribute EQUAL
m-value
|
| m-attribute | = |
token
|
| m-value | = |
token / quoted-string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Date | = |
"Date"
HCOLON SIP-date
; example:
;
Date: Thu, 21 Feb 2002 13:02:03 GMT
|
| SIP-date | = |
rfc1123-date
|
| 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"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Event | = |
( "Event" / "o" )
HCOLON event-type
*( SEMI event-param )
; example:
;
Event: refer
|
| event-type | = |
event-package
*( "."
event-template )
|
| event-package | = |
token-nodot
|
| event-template | = |
token-nodot
|
| token-nodot | = |
1*( alphanum
/ "-"
/ "!"
/ "%"
/ "*"
/ "_"
/ "+"
/ "`"
/ "'"
/ "~" )
|
| event-param | = |
generic-param
/ ( "id" EQUAL
token )
/ call-ident
/ from-tag
/ to-tag
/ with-sessd
; defined in [ RFC4235]
|
| call-ident | = |
"call-id"
EQUAL
( token
/ DQUOTE
callid
DQUOTE )
; NOTE: any DQUOTEs inside callid MUST be escaped!
|
| with-sessd | = |
"include-session-description"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| From | = |
( "From" / "f" )
HCOLON from-spec
; examples:
;
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
;
From: "Anonymous" <sip:anonymous@anonymous.invalid>;tag=1928301774
|
| from-spec | = |
(
name-addr /
addr-spec )
*( SEMI
from-param )
|
| from-param | = |
tag-param /
generic-param
|
| tag-param | = |
"tag"
EQUAL
token
|
|
|
|
|
|
|
|
| History-Info | = |
"History-Info"
HCOLON hi-entry
*(COMMA hi-entry)
; example:
;
History-Info:<sip:UserA@ims.example.com?Reason=SIP%3B\
;
cause%3D302>;index=1;foo=bar
|
| hi-entry | = |
hi-targeted-to-uri
*( SEMI hi-param )
|
| hi-targeted-to-uri | = |
name-addr
|
| hi-param | = |
hi-index
/ hi-extension
|
| hi-index | = |
"index" EQUAL
1*DIGIT *("." 1*DIGIT)
|
| hi-extension | = |
generic-param
|
|
|
|
|
|
|
|
| Identity | = |
"Identity"
HCOLON signed-identity-digest
|
| signed-identity-digest | = |
LDQUOT 32LHEX RDQUOT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| In-Reply-To | = |
"In-Reply-To"
HCOLON
callid
*(COMMA
callid)
; example:
;
In-Reply-To: 70710@saturn.bell-tel.com, 17320@saturn.bell-tel.com
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Max-Forwards | = |
"Max-Forwards"
HCOLON 1*DIGIT
; example:
;
Max-Forwards: 69
|
|
|
|
|
|
|
|
| MIME-Version | = |
"MIME-Version"
HCOLON 1*DIGIT "." 1*DIGIT
; example:
;
MIME-Version: 1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Path | = |
"Path"
HCOLON path-value
*(COMMA path-value)
; example:
;
Path: <sip:P3.EXAMPLEHOME.COM;lr>,<sip:P1.EXAMPLEVISITED.COM;lr>
|
| path-value | = |
name-addr
*( SEMI rr-param )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Priority | = |
"Priority"
HCOLON priority-value
; example:
;
Priority: emergency
|
| priority-value | = |
"emergency"
/ "urgent"
/ "normal"
/ "non-urgent"
/ other-priority
|
| other-priority | = |
token
|
|
|
|
|
|
|
|
| Privacy-hdr | = |
"Privacy"
HCOLON priv-value
*(";"
priv-value)
; example:
;
Privacy: id
|
| priv-value | = |
"header"
/ "session"
/ "user"
/ "none"
/ "critical"
/ "id"
/ "history"
/ token
; 'id' is defined in RFC 3325
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Proxy-Authorization | = |
"Proxy-Authorization"
HCOLON credentials
; example:
;
Proxy-Authorization: Digest username="alice",
;
realm="atlanta.example.com",
;
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
;
uri="sip:bob@biloxi.example.com",
;
response="42ce3cef44b22f50c6a6071bc8"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Reason | = |
"Reason"
HCOLON reason-value
*(COMMA reason-value)
; examples:
;
Reason: SIP ;cause=200 ;text="Call completed elsewhere"
;
Reason: Q.850 ;cause=16 ;text="Terminated"
;
Reason: SIP ;cause=600 ;text="Busy Everywhere"
;
Reason: SIP ;cause=580 ;text="Precondition Failure"
|
| reason-value | = |
protocol
*(SEMI reason-params)
|
| protocol | = |
"SIP"
/ "Q.850"
/ "Preemption" / token
|
| reason-params | = |
protocol-cause
/ reason-text
/ reason-extension
|
| protocol-cause | = |
"cause"
EQUAL
"cause
|
| cause | = |
1*DIGIT
|
| reason-text | = |
"text" EQUAL
quoted-string
|
| reason-extension | = |
generic-param
|
|
|
|
|
|
|
|
| Record-Route | = |
"Record-Route"
HCOLON rec-route
*(COMMA
rec-route)
; example:
;
Record-Route: <sip:ss2.biloxi.example.com;lr>,
;
<sip:ss1.atlanta.example.com;lr>
|
| rec-route | = |
name-addr
*( SEMI
rr-param )
|
| rr-param | = |
generic-param
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Refer-To | = |
( "Refer-To" / "r" )
HCOLON ( name-addr
/ addr-spec )
*(SEMI refer-param)
|
| refer-param | = |
generic-param
/ feature-param
; example:
;
Refer-To: <sips:a8342043f@atlanta.example.com?Replaces=
;
12345601%40atlanta.example.com%3Bfrom-tag%3D314159%3Bto-tag%3D1234567>
;
Refer-To: sip:conf44@example.com;isfocus
|
|
|
|
|
|
|
|
| Referred-By | = |
( "Referred-By" / "b" )
HCOLON
referrer-uri
*( SEMI
(referredby-id-param
/ generic-param) )
; example:
;
Referred-By: <sip:referrer@referrer.example>
;
;cid="20398823.2UWQFN309shb3@referrer.example"
|
| referrer-uri | = |
( name-addr
/ addr-spec )
|
| referredby-id-param | = |
"cid"
EQUAL
sip-clean-msg-id
|
| sip-clean-msg-id | = |
LDQUOT dot-atom
"@"
(dot-atom
/ host) RDQUOT
|
| dot-atom | = |
atom
*( "."
atom )
|
| atom | = |
1*( alphanum
/ "-"
/ "!"
/ "%"
/ "*"
/ "_"
/ "+"
/ "'"
/ "`"
/ "~" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Replaces | = |
"Replaces"
HCOLON
callid
*(SEMI
replaces-param)
; example:
;
Replaces: 425928@bobster.example.org;to-tag=7743;from-tag=6472
|
| replaces-param | = |
to-tag
/ from-tag
/ early-flag
/ generic-param
|
| to-tag | = |
"to-tag" EQUAL
token
|
| from-tag | = |
"from-tag" EQUAL
token
|
| early-flag | = |
"early-only"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Request-Disposition | = |
( "Request-Disposition" / "d" )
HCOLON directive
*(COMMA directive)
; example:
;
Request-Disposition: proxy, recurse, parallel
|
| directive | = |
proxy-directive
/ cancel-directive
/ fork-directive
/ recurse-directive
/ parallel-directive
/ queue-directive
|
| proxy-directive | = |
"proxy"
/ "redirect"
|
| cancel-directive | = |
"cancel"
/ "no-cancel"
|
| fork-directive | = |
"fork"
/ "no-fork"
|
| recurse-directive | = |
"recurse"
/ "no-recurse"
|
| parallel-directive | = |
"parallel"
/ "sequential"
|
| queue-directive | = |
"queue"
/ "no-queue"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Resource-Priority | = |
"Resource-Priority"
HCOLON r-value
*(COMMA r-value)
; example:
;
Resource-Priority: wps.3, dsn.flash
|
| r-value | = |
namespace
"."
r-priority
|
| namespace | = |
token-nodot
|
| r-priority | = |
token-nodot
|
| token-nodot | = |
1*( alphanum
/ "-"
/ "!"
/ "%"
/ "*"
/ "_"
/ "+"
/ "`"
/ "'"
/ "~" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Route | = |
"Route"
HCOLON route-param
*(COMMA route-param)
; example:
;
Route: <sip:ss1.atlanta.example.com;lr>,
;
<sip:ss2.biloxi.example.com;lr>
|
| route-param | = |
name-addr *( SEMI
rr-param )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| security-client | = |
"Security-Client"
HCOLON sec-mechanism
*(COMMA sec-mechanism)
; example:
;
Security-Client: digest
|
| sec-mechanism | = |
mechanism-name
*( SEMI mech-parameters )
|
| mechanism-name | = |
( "digest"
/ "tls"
/ "ipsec-ike"
/ "ipsec-man" / token )
|
| mech-parameters | = |
( preference
/ digest-algorithm
/ digest-qop
/ digest-verify
/ extension )
|
| preference | = |
"q"
EQUAL
qvalue
|
| digest-algorithm | = |
"d-alg" EQUAL
token
|
| digest-qop | = |
"d-qop" EQUAL
token
|
| digest-verify | = |
"d-ver" EQUAL
LDQUOT 32LHEX RDQUOT
|
| extension | = |
generic-param
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Server | = |
"Server"
HCOLON server-val
*(LWS server-val)
; example:
;
Server: HomeServer v2
|
| server-val | = |
product / comment
|
| product | = |
token [SLASH product-version]
|
| product-version | = |
token
|
|
|
|
|
|
|
|
| Service-Route | = |
"Service-Route"
HCOLON sr-value
*(COMMA sr-value)
; example:
;
Service-Route: <sip:P2.HOME.EXAMPLE.COM;lr>,
;
<sip:HSP.HOME.EXAMPLE.COM;lr>
|
| sr-value | = |
name-addr
*( SEMI rr-param )
|
|
|
|
|
|
|
|
| Session-Expires | = |
( "Session-Expires" / "x" )
HCOLON delta-seconds
*( SEMI (se-params )
; example:
;
Session-Expires: 4000;refresher=uac
|
| se-params | = |
refresher-param
/ generic-param
|
| refresher-param | = |
"refresher"
EQUAL
("uas"
/ "uac")
|
|
|
|
|
|
|
|
| SIP-ETag | = |
"SIP-ETag"
HCOLON entity-tag
; example:
;
SIP-ETag: dx200xyz
|
| entity-tag | = |
token
|
|
|
|
|
|
|
|
| SIP-If-Match | = |
"SIP-If-Match"
HCOLON entity-tag
; example:
;
SIP-If-Match: dx200xyz
|
|
|
|
|
|
|
|
| Subject | = |
( "Subject" / "s" )
HCOLON
[TEXT-UTF8-TRIM]
; example:
;
Subject: A tornado is heading our way!
|
|
|
|
|
|
|
|
| Subscription-State | = |
( "Subscription-State" / "o" )
HCOLON substate-value
*( SEMI subexp-params )
; example:
;
Subscription-State: active;expires=60
|
| substate-value | = |
"active"
/ "pending"
/ "terminated"
/ extension-substate
|
| extension-substate | = |
token
|
| subexp-params | = |
("reason"
EQUAL
event-reason-value)
/ ("expires"
EQUAL
delta-seconds)
/ ("retry-after"
EQUAL
delta-seconds)
/ generic-param
|
| event-reason-value | = |
"deactivated"
/ "probation"
/ "rejected"
/ "timeout"
/ "giveup"
/ "noresource"
/ event-reason-extension
|
| event-reason-extension | = |
token
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Via | = |
( "Via" / "v" )
HCOLON via-parm
*(COMMA via-parm)
; example:
;
Via: SIP/2.0/TCP client.atlanta.example.com:5060
;
;branch=z9hG4bK74b76
;
;received=192.0.2.101
|
| via-parm | = |
sent-protocol LWS
sent-by *( SEMI
via-params )
|
| via-params | = |
via-ttl
/ via-maddr
/ via-received
/ via-branch
/ via-compression
/ response-port
/ via-extension
|
| via-ttl | = |
"ttl" EQUAL
ttl
|
| via-maddr | = |
"maddr" EQUAL
host
|
| via-received | = |
"received" EQUAL
(IPv4address
/ IPv6address)
|
| via-branch | = |
"branch" EQUAL token
|
| via-compression | = |
"comp"
EQUAL ("sigcomp"
/ other-compression)
|
| other-compression | = |
token
|
| response-port | = |
"rport" [EQUAL 1*DIGIT]
|
| via-extension | = |
generic-param
|
| sent-protocol | = |
protocol-name
SLASH protocol-version
SLASH transport
|
| protocol-name | = |
"SIP" / token
|
| protocol-version | = |
token
|
| transport | = |
"UDP"
/ "TCP"
/ "TLS"
/ "SCTP"
/ "TLS-SCTP"
/ other-transport
; TLS-SCTP is defined in [ RFC4168]
|
| sent-by | = |
host
[ COLON port ]
|
| ttl | = |
1*3DIGIT
; 0 to 255
|
|
|
|
|
|
|
|
| Warning | = |
"Warning"
HCOLON warning-value
*(COMMA warning-value)
; example:
;
Warning: 301 isi.edu "Incompatible network address type 'E.164'"
|
| warning-value | = |
warn-code
SP warn-agent
SP warn-text
|
| warn-code | = |
3DIGIT
|
| warn-agent | = |
hostport
/ pseudonym
|
| warn-text | = |
quoted-string
|
| pseudonym | = |
token
|
|
|
|
|
|
|
|
| WWW-Authenticate | = |
"WWW-Authenticate"
HCOLON challenge
; example:
;
WWW-Authenticate: Digest realm="atlanta.example.com", qop="auth",
;
nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459",
;
opaque="", stale=FALSE, algorithm=MD5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| algorithm | = |
"algorithm"
EQUAL ( aka-namespace
/ algorithm-value )
; algorithm rule is as amended by [RFC 3310]
; example:
;
algorithm=AKAv1-MD5
|
| aka-namespace | = |
aka-version
"-"
algorithm-value
|
| aka-version | = |
"AKAv" 1*DIGIT
|
| algorithm-value | = |
( "MD5"
/ "MD5-sess" / token )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| nonce | = |
"nonce"
EQUAL ( aka-nonce
/ nonce-value )
; nonce rule is as amended by [RFC 3310]
; example:
;
nonce="MzQ0a2xrbGtmbGtsZm9wb2tsc2tqaHJzZXNy9uQyMzMzMzQK="
|
| aka-nonce | = |
LDQUOT aka-nonce-value RDQUOT
|
| aka-nonce-value | = |
<base64 encoding of RAND, AUTN, and server specific data>
|
| nonce-value | = |
quoted-string
|
|
|
|
|
|
|
|
| option-tag | = |
token
; Option tags are used in header fields such as Require, Supported, Proxy-Require,
; and Unsupported, in support of SIP compatibility mechanisms for extensions. The
; option tag itself is a string that is associated with a particular SIP option (that is,
; an extension). It identifies the option to SIP endpoints.
;
|
|
|
|
|
|
|
|
|
|
| qvalue | = |
("0"
[ "." 0*3DIGIT ] )
/ ( "1"
[ "."
0*3("0") ] )
|
|
|
|
|
|
|
|
|
|
|
|
|
|