(Logo Tech-invite)  

a Portal devoted to SIP and Security technologies

  (World Map)    
    Search Home Site Map Contact
 SIP/IMS Standardization
> IETF Standardization Process
> RFCs related to SIP (4 p.) o
> SIP-SIPPING-SIMPLE... I-Ds (22 p.) o
> Audio-Video Transport RFCs (2 p.)
> 3GPP Specifications (12 p.)
> OMA Specifications related to SIP
> TISPAN NGN Specifications (3 p.) o
> SIP Topics
> IMS Topics
 SIP/IMS Call Flows
> RFC3261's Example
> Basic -- RFC3665
> SIP PSTN -- RFC3666 (3 p.)
> SIP Service Examples (20 p.)
> IMS Signaling Flows (35 p.)
 SIP/IMS Architecture
> SIP Protocol Structure
> Dialogs & Routing
> UMTS Network Evolution
 Security
> PKIX-TLS-SMIME... Standards (20 p.) o
> Cryptography Basics
> ASN.1 for PKI Certificate & CRL Profile
> ASN.1 for CMS
> RFC3280's Certificate Examples (4)
> RFC4134's CMS-S/MIME Examples (14)
> RFC4474's SIP Authentication Service
> SSL/TLS Time-Diagrams
> IPSec Guides
 ABNF Grammars
> ABNF Notation & Rules
> URI Generic Syntax
> ABNF for SIP
> SIP Messages & URIs
> SIP Header Fields
> MIME Media Types
> ABNF for SDP
> ABNF for MSRP
> ABNF for MRCPv2
> ABNF for RTSP 2.0
> Internet Message Format
 DiffServ CoS Simulation
> IPVCoSS Simulator
> IP-VPN Case Study
  o (daily updated)

ABNF for SIP -- Header Fields

Top SIP Headers  Header's Common Rules  SIP "P-" Headers  Per-RFC Header Lists SIP Messages

SIP Header Fields

AcceptAccept-Contact / aAccept-EncodingAccept-LanguageAccept-Resource-PriorityAlert-InfoAllow
Allow-Events / uAuthentication-InfoAuthorizationCall-ID / iCall-InfoContact / mContent-Disposition
Content-Encoding / eContent-LanguageContent-Length / lContent-Type / cCSeqDateError-InfoEvent / o
ExpiresFrom / fHistory-InfoIdentity / yIdentity-Info / nIn-Reply-ToJoinMax-ForwardsMIME-Version
Min-ExpiresMin-SEOrganizationPathPriorityPrivacyProxy-AuthenticateProxy-AuthorizationProxy-Require
RAckReasonRecord-RouteRefer-SubRefer-To / rReferred-By / bReject-Contact / jReplacesReply-To
Request-Disposition / dRequireResource-PriorityRetry-AfterRouteRSeqSecurity-ClientSecurity-Server
Security-VerifyServerService-RouteSession-Expires / xSIP-ETagSIP-If-MatchSubject / sSubscription-State
Supported / kTarget-DialogTimestampTo / tUnsupportedUser-AgentVia / vWarningWWW-Authenticate #
Accept   RFC 3261 Up
Accept= "Accept" HCOLON [ accept-range *(COMMA accept-range) ]
; example:
;    Accept: application/dialog-info+xml
accept-range= media-range *(SEMI accept-param)
media-range= ( "*/*" / ( m-type SLASH "*" ) / ( m-type SLASH m-subtype ) )
*( SEMI m-parameter )
 
Accept-Contact / a   RFC 3841 Up
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-Encoding   RFC 3261 Up
Accept-Encoding= "Accept-Encoding" HCOLON [ encoding *(COMMA encoding) ]
; example:
;    Accept-Encoding: gzip
encoding= codings *(SEMI accept-param)
codings= content-coding / "*"
 
Accept-Language   RFC 3261 Up
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   RFC 4412 Up
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

 
Alert-Info   RFC 3261 Up
Alert-Info= "Alert-Info" HCOLON alert-param *(COMMA alert-param)
; example:
;    Alert-Info: <http://www.example.com/sounds/moo.wav>
alert-param= LAQUOT absoluteURI RAQUOT *( SEMI generic-param )
 
Allow   RFC 3261 Up
Allow= "Allow" HCOLON [Method *(COMMA Method)]
; example:
;    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY

 
Allow-Events / u   RFC 3265 Up
Allow-Events= ( "Allow-Events" / "u" ) HCOLON event-type
*(COMMA event-type)
; example:
;    Allow-Events: spirits-INDPs

 
Authentication-Info   RFC 3261 Up
Authentication-Info= "Authentication-Info" HCOLON ainfo *(COMMA ainfo)
; example:
;    Authentication-Info: nextnonce="47364c23432d2e131a5fb210812c"
ainfo= nextnonce / message-qop / response-auth / cnonce / nonce-count
nextnonce= "nextnonce" EQUAL nonce-value
response-auth= "rspauth" EQUAL response-digest
response-digest= LDQUOT *LHEX RDQUOT
 
Authorization   RFC3261    RFC3310 Up
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 / i   RFC 3261 Up
Call-ID= ( "Call-ID" / "i" ) HCOLON callid
; example:
;    Call-ID: 3848276298220188511@atlanta.example.com

 
Call-Info   RFC 3261 Up
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" / token ) ) / generic-param
 
Contact / m   RFC3261    RFC3840 Up
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 / contact-extension
c-p-q= "q" EQUAL qvalue
c-p-expires= "expires" EQUAL delta-seconds
feature-param= enc-feature-tag [EQUAL LDQUOT 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 / "!" / "'" / "." / "-" / "%" )
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
contact-extension= generic-param
 
Content-Disposition   RFC 3261 Up
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 / e   RFC 3261 Up
Content-Encoding= ( "Content-Encoding" / "e" ) HCOLON content-coding
*(COMMA content-coding)
; example:
;    Content-Encoding: gzip
content-coding= token
 
Content-Language   RFC 3261 Up
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 / l   RFC 3261 Up
Content-Length= ( "Content-Length" / "l" ) HCOLON 1*DIGIT
; example:
;    Content-Length: 0

 
Content-Type / c   RFC 3261 Up
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
 
CSeq   RFC 3261 Up
CSeq= "CSeq" HCOLON 1*DIGIT LWS Method
; example:
;    CSeq: 1 INVITE

 
Date   RFC 3261 Up
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"
 
Error-Info   RFC 3261 Up
Error-Info= "Error-Info" HCOLON error-uri *(COMMA error-uri)
; example:
;    Error-Info: <sips:screen-failure-term-ann@annoucement.example.com>
error-uri= LAQUOT absoluteURI RAQUOT *( SEMI generic-param )
 
Event / o   RFC 3265 Up
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"
 
Expires   RFC 3261 Up
Expires= "Expires" HCOLON delta-seconds
; example:
;    Expires: 7200

 
From / f   RFC 3261 Up
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   RFC 4244 Up
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 / y   RFC 4474 Up
Identity= "Identity" HCOLON signed-identity-digest
signed-identity-digest= LDQUOT 32LHEX RDQUOT
 
Identity-Info / n   RFC 4474 Up
Identity-Info= "Identity-Info" HCOLON ident-info *( SEMI ident-info-params )
ident-info= LAQUOT absoluteURI RAQUOT
ident-info-params= ident-info-alg / ident-info-extension
ident-info-alg= "alg" EQUAL token
ident-info-extension= generic-param
 
In-Reply-To   RFC 3261 Up
In-Reply-To= "In-Reply-To" HCOLON callid *(COMMA callid)
; example:
;    In-Reply-To: 70710@saturn.bell-tel.com, 17320@saturn.bell-tel.com

 
Join   RFC 3911 Up
Join= "Join" HCOLON callid *(SEMI join-param)
; example:
;    Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431
join-param= to-tag / from-tag / generic-param
to-tag= "to-tag" EQUAL token
from-tag= "from-tag" EQUAL token
 
Max-Forwards   RFC 3261 Up
Max-Forwards= "Max-Forwards" HCOLON 1*DIGIT
; example:
;    Max-Forwards: 69

 
MIME-Version   RFC 3261 Up
MIME-Version= "MIME-Version" HCOLON 1*DIGIT "." 1*DIGIT
; example:
;    MIME-Version: 1.0

 
Min-Expires   RFC 3261 Up
Min-Expires= "Min-Expires" HCOLON delta-seconds
; example:
;    Min-Expires: 60

 
Min-SE   RFC 4028 Up
Min-SE= "Min-SE" HCOLON delta-seconds *(SEMI generic-param)
; example:
;    Min-SE: 3600

 
Organization   RFC 3261 Up
Organization= "Organization" HCOLON [TEXT-UTF8-TRIM]
; example:
;    Organization: Boxes by Bob

 
Path   RFC 3327 Up
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   RFC 3261 Up
Priority= "Priority" HCOLON priority-value
; example:
;    Priority: emergency
priority-value= "emergency" / "urgent" / "normal" / "non-urgent" / other-priority
other-priority= token
 
Privacy   RFC 3323 Up
Privacy-hdr= "Privacy" HCOLON priv-value *(";" priv-value)
; example:
;    Privacy: id
priv-value= "header" / "session" / "user" / "none" / "critical" / "id" / "history" / token
 
Proxy-Authenticate   RFC 3261 Up
Proxy-Authenticate= "Proxy-Authenticate" HCOLON challenge
; example:
;    Proxy-Authenticate: Digest realm="atlanta.example.com", qop="auth",
;      nonce="f84f1cec41e6cbe5aea9c8e88d359",
;      opaque="", stale=FALSE, algorithm=MD5
challenge= ("Digest" LWS digest-cln *(COMMA digest-cln)) / other-challenge
other-challenge= auth-scheme / auth-param *(COMMA auth-param)
digest-cln= realm / domain / nonce / opaque / stale / algorithm
/ qop-options / auth-param
realm= "realm" EQUAL realm-value
realm-value= quoted-string
domain= "domain" EQUAL LDQUOT URI *( 1*SP URI ) RDQUOT
URI= absoluteURI / abs-path
opaque= "opaque" EQUAL quoted-string
stale= "stale" EQUAL ( "true" / "false" )
qop-options= "qop" EQUAL LDQUOT qop-value *("," qop-value) RDQUOT
qop-value= "auth" / "auth-int" / token
 
Proxy-Authorization   RFC 3261 Up
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"

 
Proxy-Require   RFC 3261 Up
Proxy-Require= "Proxy-Require" HCOLON option-tag *(COMMA option-tag)
; example:
;    Proxy-Require: sec-agree

 
RAck   RFC 3262 Up
RAck= "RAck" HCOLON response-num LWS CSeq-num LWS Method
; example:
;    RAck: 776656 1 INVITE
response-num= 1*DIGIT
CSeq-num= 1*DIGIT
 
Reason   RFC 3326    RFC 4411 Up
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   RFC 3261 Up
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-Sub   RFC 4488 Up
Refer-Sub= "Refer-Sub" HCOLON refer-sub-value *(SEMI exten)
refer-sub-value= "true" / "false"
exten= generic-param
 
Refer-To / r   RFC 3515    RFC 4508 Up
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 / b   RFC 3892 Up
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 / "-" / "!" / "%" / "*" / "_" / "+" / "'" / "`" / "~" )
 
Reject-Contact / j   RFC 3841 Up
Reject-Contact= ( "Reject-Contact" / "j" ) HCOLON rc-value *(COMMA rc-value)
; example:
;    Reject-Contact: *;actor="msg-taker";video
rc-value= "*" *(SEMI rc-params)
rc-params= feature-param / generic-param
 
Replaces   RFC 3891 Up
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"
 
Reply-To   RFC 3261 Up
Reply-To= "Reply-To" HCOLON rplyto-spec
; example:
;    Reply-To: Bob <sip:bob@biloxi.com>
rplyto-spec= ( name-addr / addr-spec ) *( SEMI rplyto-param )
rplyto-param= generic-param
 
Request-Disposition / d   RFC 3841 Up
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"
 
Require   RFC 3261 Up
Require= "Require" HCOLON option-tag *(COMMA option-tag)
; example:
;    Require: 100rel

 
Resource-Priority   RFC 4412 Up
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 / "-" / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" )
 
Retry-After   RFC 3261 Up
Retry-After= "Retry-After" HCOLON delta-seconds [ comment ]
*( SEMI retry-param )
<